StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMcHitI.h
1 #ifndef STAR_STMCHITI
2 #define STAR_STMCHITI
3 #include "StThreeVectorF.hh"
4 // MS event hit intergace
5 
6 class StMcHitI {
7  public:
8  enum EMcHitBits {
9  kMatched = BIT(23) // if hit has matched with reconstructed one
10  };
11  StMcHitI() {}
12  virtual ~StMcHitI() {}
13  virtual StThreeVectorF position() const;
14  virtual float x() const =0;
15  virtual float y() const =0;
16  virtual float z() const =0;
17  virtual StThreeVectorF localMomentum() const;
18  virtual float px() const =0;
19  virtual float py() const =0;
20  virtual float pz() const =0;
21  virtual float dE() const =0;
22  virtual float dS() const =0;
23  virtual long key() const =0;
24  virtual long volumeId() const =0;
25  virtual float tof() const =0;
26 
27  virtual long parentTrackIndex() const = 0;
28 };
29 
30 #define MCHITCLASS(CLASSNAME, TYPE) \
31 class CLASSNAME : public StMcHitT<TYPE*> { \
32 protected: \
33  CLASSNAME(){;} \
34 public: \
35  CLASSNAME(TYPE*data) :StMcHitT<TYPE*>(data) {;} \
36  virtual ~CLASSNAME(){;}
37 
38 #define ENDMCHITCLASS };
39 
40 #endif
Definition: tof.h:15