00001
00002 #ifndef StMcMtdHit_hh
00003 #define StMcMtdHit_hh
00004
00005 #include "StObject.h"
00006 #include "Stiostream.h"
00007 #include "StThreeVectorF.hh"
00008 #include "StMcHit.hh"
00009
00010
00011
00012 class StMcTrack;
00013 class g2t_mtd_hit_st;
00014
00015
00016 class StMcMtdHit : public StMcHit {
00017 public:
00018 StMcMtdHit();
00019 StMcMtdHit(g2t_mtd_hit_st*);
00020
00021 virtual ~StMcMtdHit();
00022
00023 int operator==(const StMcMtdHit&) const;
00024 int operator!=(const StMcMtdHit&) const;
00025 void operator+=(const StMcMtdHit&);
00026
00027 bool sameCell(const StMcMtdHit&) const;
00028
00029
00030 virtual int backleg() const;
00031 virtual int module() const;
00032 virtual int cell() const;
00033 virtual float pathLength() const;
00034 virtual int parentTrackId() const;
00035
00036
00037
00038
00039
00040
00041 protected:
00042 int mBackleg;
00043 int mModule;
00044 int mCell;
00045 float mPathLength;
00046 int mParentTrackId;
00047
00048 ClassDef(StMcMtdHit,1)
00049 };
00050
00051 ostream& operator<<(ostream& os, const StMcMtdHit&);
00052
00053 inline int StMcMtdHit::backleg() const {return mBackleg; }
00054 inline int StMcMtdHit::module() const {return mModule; }
00055 inline int StMcMtdHit::cell() const {return mCell; }
00056 inline float StMcMtdHit::pathLength() const {return mPathLength; }
00057 inline int StMcMtdHit::parentTrackId()const {return mParentTrackId; }
00058
00059 #endif
00060