MarlinUtil  1.12.1
FPCCDPixelHit.h
1 #ifndef FPCCDPixelHit_h
2 #define FPCCDPixelHit_h 1
3 
4 #include <vector>
5 
35 namespace EVENT {
36  class MCParticle;
37 }
38 
39 // =================================================================
41 {
42  public:
43  typedef enum { kSingle=0, kSignalOverlap=0x01, kBKGOverlap=0x02, kBKG=0x03} HitQuality_t;
44 
45  protected:
46  unsigned short int _layerID;
47  unsigned short int _ladderID;
48  unsigned short int _xiID;
49  unsigned short int _zetaID;
50  float _edep;
51  std::vector<int> _orderID;//_orderID is the index to simthits. if element < 0, it shows background data.For now, -1 is it.
52  //int _signalProperty; //1:Signal 0:Background
53  HitQuality_t _quality;
54  std::vector<EVENT::MCParticle*> _MCParticleVec;
55  public:
56  FPCCDPixelHit(unsigned short int layerID=0, unsigned short int ladderID=0,
57  unsigned short int xiID=0, unsigned short int zetaID=0,
58  float edep=0.0, HitQuality_t quality=kSingle,
59  EVENT::MCParticle *mc=0);
60 
61  void setLayerID(int layerid){ _layerID=layerid; }
62  void setLadderID(int ladderid){ _ladderID=ladderid;}
63  void setXiID(int xiid){ _xiID=xiid; }
64  void setZetaID(int zetaid) { _zetaID=zetaid; }
65  void setEdep(float edep){ _edep=edep; }
66  void setQuality(HitQuality_t quality){ _quality=quality; }
67  void setOrderID(int orderID){ _orderID.push_back( orderID ); }
68  //void setSigProp(int oneOrZero){ _signalProperty = oneOrZero; }
69 
70  int getLayerID(){ return _layerID; }
71  int getLadderID(){ return _ladderID; }
72  int getXiID(){ return _xiID; }
73  int getZetaID(){ return _zetaID; }
74  float getEdep(){ return _edep; }
75  HitQuality_t getQuality(){ return _quality; }
76  std::vector<EVENT::MCParticle*> getMCParticleVec(){ return _MCParticleVec; }
77  EVENT::MCParticle *getMCParticle(int index){ return _MCParticleVec[index]; }
78  int getNMCParticles(){ return _MCParticleVec.size(); }
79  int getOrderID(int nth){ return _orderID[nth]; }
80  unsigned int getSizeOfOrderID(){ return _orderID.size(); }
81  //int getSigProp(){ return _signalProperty; }
82 
83 
84  // add pixel hit
85  void addPixelHit(FPCCDPixelHit &aHit, HitQuality_t addedQuality);
86 
87  void print();
88  unsigned int encodeCellWord();
89  void decodeCellWord(unsigned int word);
90 
91 };
92 
93 #endif
Definition: FPCCDPixelHit.h:40