StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMcBTofHit.hh
1 //
2 #ifndef StMcBTofHit_hh
3 #define StMcBTofHit_hh
4 
5 #include "StObject.h"
6 #include "Stiostream.h"
7 #include "StThreeVectorF.hh"
8 
9 //#include "StMemoryPool.hh"
10 
11 class StMcTrack;
12 
13 class StMcBTofHit : public StObject {
14 public:
15  StMcBTofHit();
16  StMcBTofHit(int, int, int, float, float, float, float, float);
17  StMcBTofHit(int, int, int, float, float, float, float, float, StThreeVectorF&, StMcTrack*);// above + position + partentTrack
18  virtual ~StMcBTofHit();
19 
20  int operator==(const StMcBTofHit&) const;
21  int operator!=(const StMcBTofHit&) const;
22  void operator+=(const StMcBTofHit&);
23 
24  bool sameCell(const StMcBTofHit&) const;
25 
26  // "Get" Methods
27  virtual int tray() const;
28  virtual int module() const;
29  virtual int cell() const;
30  virtual float dE() const;
31  virtual float pathLength() const;
32  virtual float time() const;
33  virtual float tof() const;
34  virtual float charge() const;
35  virtual StThreeVectorF position() const;
36  virtual StMcTrack* parentTrack() const;
37  virtual int parentTrackId() const;
38 
39  // "Set" Methods
40 
41  virtual void setTray(int);
42  virtual void setModule(int);
43  virtual void setCell(int);
44  virtual void setdE(float);
45  virtual void setPathLength(float);
46  virtual void setTime(float);
47  virtual void setTof(float);
48  virtual void setCharge(float);
49  virtual void setPosition(StThreeVectorF&);
50  virtual void setParentTrack(StMcTrack*);
51  virtual void setParentTrackId(int);
52 
53  // void* operator new(size_t) { return mPool.alloc(); }
54  // void operator delete(void* p) { mPool.free(p); }
55 
56 protected:
57  int mTray;
58  int mModule;
59  int mCell;
60  float mdE;
61  float mPathLength;
62  float mTime;
63  float mTof;
64  float mCharge;
65  StThreeVectorF mPosition;
66  StMcTrack* mParentTrack;
67  int mParentTrackId;
68 
69  //private:
70  // static StMemoryPool mPool;
71  ClassDef(StMcBTofHit,1)
72 };
73 
74 ostream& operator<<(ostream& os, const StMcBTofHit&);
75 
76 inline int StMcBTofHit::tray() const {return mTray; }
77 inline int StMcBTofHit::module() const {return mModule; }
78 inline int StMcBTofHit::cell() const {return mCell; }
79 inline float StMcBTofHit::dE() const {return mdE; }
80 inline float StMcBTofHit::pathLength() const {return mPathLength; }
81 inline float StMcBTofHit::time() const {return mTime; }
82 inline float StMcBTofHit::tof() const {return mTof; }
83 inline float StMcBTofHit::charge() const {return mCharge; }
84 inline StThreeVectorF StMcBTofHit::position() const {return mPosition; }
85 inline StMcTrack* StMcBTofHit::parentTrack() const {return mParentTrack; }
86 inline int StMcBTofHit::parentTrackId() const {return mParentTrackId; }
87 
88 #endif
89 
Monte Carlo Track class All information on a simulated track is stored in this class: kinematics...
Definition: StMcTrack.hh:144
virtual StThreeVectorF position() const
collected charge
Definition: StMcBTofHit.hh:84
virtual float charge() const
tof simulated
Definition: StMcBTofHit.hh:83
virtual float tof() const
time of flight geant
Definition: StMcBTofHit.hh:82