/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/ExtEvent/ExtEvent-00-00-13/ExtEvent/RecExtTrack.h

Go to the documentation of this file.
00001 //
00002 //File: ExtTrack.h
00003 //Author: L.L.Wang 
00004 //
00005 //Description: Output of track extrapolation results.
00006 //
00007 //History: 2005.7.5 created by L.L.Wang
00008 //
00009 
00010 #ifndef RECEXTTRACK_H
00011 #define RECEXTTRACK_H
00012 /*
00013 #include "GaudiKernel/ContainedObject.h"
00014 #include "GaudiKernel/ObjectVector.h"
00015 #include "EventModel/EventModel.h"
00016 
00017 #include "CLHEP/Matrix/Vector.h"
00018 #include "CLHEP/Matrix/SymMatrix.h"
00019 #include "CLHEP/Vector/ThreeVector.h"
00020  */
00021 #include "ExtMucHit.h"
00022 
00023 #include "DstEvent/DstExtTrack.h"
00024 using namespace std;
00025 
00026 extern const CLID& CLID_RecExtTrack;
00027 
00028 class RecExtTrack : public DstExtTrack
00029 {
00030         public:
00031                 const CLID& clID() const 
00032                 {
00033                         return RecExtTrack::classID();
00034                 }
00035 
00036                 static const CLID& classID()
00037                 {
00038                         return CLID_RecExtTrack;
00039                 }                     
00040 
00041                 RecExtTrack();
00042                 RecExtTrack(const DstExtTrack& aDstExtTrack);
00043                 RecExtTrack& operator = (const DstExtTrack& aDstExtTrack);
00044                 ~RecExtTrack();
00045 
00046                 //Get ExtMucHitCol
00047                 const ExtMucHitVec getExtMucHitVec() const {return myExtMucHitVec[myParticleType];};
00048                 const ExtMucHitVec getExtMucHitVec(int parId) const {return myExtMucHitVec[parId];};
00049 
00050                 const ExtMucHitVec GetExtMucHitVec() const {return myExtMucHitVec[myParticleType];};  
00051                 const ExtMucHitVec GetExtMucHitVec(int parId) const {return myExtMucHitVec[parId];};  
00052                 
00053                 void AddExtMucHit(ExtMucHit aExtMucHit) {myExtMucHitVec[myParticleType].push_back(aExtMucHit);};
00054 
00055                 const vector<double> pathInTof1() const {return myPathInTof1[myParticleType];};
00056                 const vector<double> pathInTof1(int parId) const {return myPathInTof1[parId];};
00057                 
00058                 const vector<double> pathInTof2() const {return myPathInTof2[myParticleType];};
00059                 const vector<double> pathInTof2(int parId) const {return myPathInTof2[parId];};
00060 
00061                 void setPathInTof1(vector<double> x) {myPathInTof1[myParticleType] = x;};
00062                 void setPathInTof2(vector<double> x) {myPathInTof2[myParticleType] = x;};
00063 
00064                 /*
00065                 //get Track ID number;
00066                 const int GetTrackID() const;
00067 
00068                 //Get track extrapolation data @ Tof layer1.
00069                 const Hep3Vector GetTof1Position() const;
00070                 const Hep3Vector GetTof1Momentum() const;
00071                 const string GetTof1VolumeName() const;
00072                 const int GetTof1VolumeNumber() const;
00073                 const double GetTof1() const;
00074                 const double GetTof1Path() const;
00075                 const double GetTof1PosSigmaAlongZ() const;
00076                 const double GetTof1PosSigmaAlongT() const;
00077                 const double GetTof1PosSigmaAlongX() const;
00078                 const double GetTof1PosSigmaAlongY() const;
00079                 const HepSymMatrix GetTof1ErrorMatrix() const;
00080 
00081                 //Get track extrapolation data @ Tof layer2.
00082                 const Hep3Vector GetTof2Position() const;
00083                 const Hep3Vector GetTof2Momentum() const;
00084                 const string GetTof2VolumeName() const;
00085                 const int GetTof2VolumeNumber() const;
00086                 const double GetTof2() const;
00087                 const double GetTof2Path() const;
00088                 const double GetTof2PosSigmaAlongZ() const;
00089                 const double GetTof2PosSigmaAlongT() const;
00090                 const double GetTof2PosSigmaAlongX() const;
00091                 const double GetTof2PosSigmaAlongY() const;
00092                 const HepSymMatrix GetTof2ErrorMatrix() const;
00093 
00094                 //Get track extrapolation data @ EMC.
00095                 const Hep3Vector GetEmcPosition() const;
00096                 const Hep3Vector GetEmcMomentum() const;
00097                 const string GetEmcVolumeName() const;
00098                 const int GetEmcVolumeNumber() const;
00099                 const double GetEmcPosSigmaAlongTheta() const;
00100                 const double GetEmcPosSigmaAlongPhi() const;
00101                 const HepSymMatrix GetEmcErrorMatrix() const;
00102                 const double GetEmcPath() const {return myEmcPath;};
00103 
00104                 //Get track extrapolation data @ MUC.
00105                 const Hep3Vector GetMucPosition() const;
00106                 const Hep3Vector GetMucMomentum() const;
00107                 const string GetMucVolumeName() const;
00108                 const int GetMucVolumeNumber() const;
00109                 const double GetMucPosSigmaAlongZ() const;
00110                 const double GetMucPosSigmaAlongT() const;
00111                 const double GetMucPosSigmaAlongX() const;
00112                 const double GetMucPosSigmaAlongY() const;
00113                 const HepSymMatrix GetMucErrorMatrix() const;
00114 
00115                 //Get ExtMucHitCol
00116                 const ExtMucHitVec GetExtMucHitVec() const {return myExtMucHitVec;};
00117 
00118                 //Set data
00119 
00120                 void SetTrackID(int aTrackID);
00121 
00122                 void SetTof1Data(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
00123                 int aVolumeNumber,double aTof,double aPath,HepSymMatrix aErrorMatrix,
00124                 double aZSigma=0.,double aTSigma=0.,double aXSigma=0.,double aYSigma=0.);
00125 
00126                 void SetTof2Data(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
00127                 int aVolumeNumber,double aTof,double aPath,HepSymMatrix aErrorMatrix,
00128                 double aZSigma=0.,double aTSigma=0.,double aXSigma=0.,double aYSigma=0.);
00129 
00130                 void SetEmcData(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
00131                 int aVolumeNumber,double aThetaSigma,double aPhiSigma,
00132                 HepSymMatrix aErrorMatrix);
00133 
00134                 void SetEmcPath(double path) {myEmcPath = path;};
00135 
00136                 void SetMucData(Hep3Vector aPosition,Hep3Vector aMomentum,string aVolumeName,
00137                                 int aVolumeNumber,HepSymMatrix aErrorMatrix,double aZSigma=0.,
00138                                 double aTSigma=0.,double aXSigma=0.,double aYSigma=0.);
00139 
00140                 void AddExtMucHit(ExtMucHit aExtMucHit) {myExtMucHitVec.push_back(aExtMucHit);};
00141                 */              
00142 
00143 
00144         private:
00145                         //MUC Hits collection
00146                         vector<ExtMucHitVec> myExtMucHitVec;
00147 
00148                         vector< vector<double> > myPathInTof1;// path in TOF1
00149                         vector< vector<double> > myPathInTof2;// path in TOF2
00150 
00151                         /*              
00152                                         int myTrackID;
00153 
00154                         //Tof TrkExt data.
00155                         //
00156                         //Tof layer1:
00157                         Hep3Vector myTof1Position;//Position when the particle enters the TOF layer1.
00158                         Hep3Vector myTof1Momentum;//Momentum when the particle enters the TOF layer1.
00159                         string myTof1VolumeName;//Scintillator volume name
00160                         int myTof1VolumeNumber;//Scintillator volume number
00161                         double myTof1;//Time of flight
00162                         double myTof1Path;//Path of flight
00163                         double myTof1PosSigmaAlongZ;//Sigma Z
00164                         double myTof1PosSigmaAlongT;//Sigma along Z x R
00165                         double myTof1PosSigmaAlongX;//Sigma X
00166                         double myTof1PosSigmaAlongY;//Sigma Y
00167                         HepSymMatrix myTof1ErrorMatrix;//Error matrix 6x6 (x,p)
00168 
00169                         //Tof layer2:
00170                         Hep3Vector myTof2Position;//Position when the particle enters the TOF layer2.
00171                         Hep3Vector myTof2Momentum;//Momentum when the particle enters the TOF layer2.
00172                         string myTof2VolumeName;//Scintillator volume name
00173                         int myTof2VolumeNumber;//Scintillator volume number
00174                         double myTof2;//Time of flight
00175                         double myTof2Path;//Path of flight
00176                         double myTof2PosSigmaAlongZ;//Sigma Z
00177                         double myTof2PosSigmaAlongT;//Sigma along Z x R
00178                         double myTof2PosSigmaAlongX;//Sigma X
00179                         double myTof2PosSigmaAlongY;//Sigma Y
00180                         HepSymMatrix myTof2ErrorMatrix;//Error matrix 6x6 (x,p)
00181 
00182                         //Emc TrkExt data,which is similar to TOF data.
00183                         Hep3Vector myEmcPosition;
00184                         Hep3Vector myEmcMomentum;
00185                         string myEmcVolumeName;
00186                         int myEmcVolumeNumber;
00187                         double myEmcPosSigmaAlongTheta;
00188                         double myEmcPosSigmaAlongPhi;
00189                         HepSymMatrix myEmcErrorMatrix;
00190 
00191                         double myEmcPath;
00192 
00193                         //Muc TrkExt data,which is similar to TOF data.
00194                         Hep3Vector myMucPosition;
00195                         Hep3Vector myMucMomentum;
00196                         string myMucVolumeName;
00197                         int myMucVolumeNumber;
00198                         double myMucPosSigmaAlongZ;
00199                         double myMucPosSigmaAlongT;
00200                         double myMucPosSigmaAlongX;
00201                         double myMucPosSigmaAlongY;
00202                         HepSymMatrix myMucErrorMatrix;
00203 
00204                         //MUC Hits collection
00205                         ExtMucHitVec myExtMucHitVec;
00206                          */             
00207 };
00208 
00209 typedef ObjectVector<RecExtTrack> RecExtTrackCol;
00210 
00211 #endif

Generated on Tue Nov 29 22:58:30 2016 for BOSS_7.0.2 by  doxygen 1.4.7