00001 // 00002 //File: ExtMucHit.h 00003 //Author: Wang LiangLiang 00004 //History: 2006.2.25 created by Wang LiangLiang 00005 // 00006 00007 #ifndef EXTMUCHIT_H 00008 #define EXTMUCHIT_H 00009 00010 using namespace std; 00011 00012 #include "GaudiKernel/ObjectVector.h" 00013 00014 #include "CLHEP/Matrix/Vector.h" 00015 #include "CLHEP/Matrix/SymMatrix.h" 00016 #include "CLHEP/Vector/ThreeVector.h" 00017 00018 using namespace CLHEP; 00019 00020 class ExtMucHit 00021 { 00022 public: 00023 ExtMucHit(); 00024 ~ExtMucHit(); 00025 Hep3Vector GetPosition() const {return myPosition;}; 00026 Hep3Vector GetMomentum() const {return myMomentum;}; 00027 string GetVolumeName() const {return myVolumeName;}; 00028 int GetVolumeNumber() const {return myVolumeNumber;}; 00029 double GetPosSigmaAlongZ() const {return myPosSigmaAlongZ;}; 00030 double GetPosSigmaAlongT() const {return myPosSigmaAlongT;}; 00031 double GetPosSigmaAlongX() const {return myPosSigmaAlongX;}; 00032 double GetPosSigmaAlongY() const {return myPosSigmaAlongY;}; 00033 HepSymMatrix GetErrorMatrix() const {return myErrorMatrix;}; 00034 void SetExtMucHit(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName, 00035 int aVolumeNumber,HepSymMatrix aErrorMatrix,double aZSigma=0., 00036 double aTSigma=0.,double aXSigma=0.,double aYSigma=0.); 00037 private: 00038 Hep3Vector myPosition; 00039 Hep3Vector myMomentum; 00040 string myVolumeName; 00041 int myVolumeNumber; 00042 double myPosSigmaAlongZ; 00043 double myPosSigmaAlongT; 00044 double myPosSigmaAlongX; 00045 double myPosSigmaAlongY; 00046 HepSymMatrix myErrorMatrix; 00047 00048 }; 00049 00050 typedef vector<ExtMucHit> ExtMucHitVec; 00051 00052 #endif