Belle II Software  release-05-02-19
CDCTriggerSegmentHit.h
1 #ifndef CDCTRIGGERSEGMENTHIT_H
2 #define CDCTRIGGERSEGMENTHIT_H
3 
4 #include <framework/datastore/RelationsObject.h>
5 #include <cdc/dataobjects/WireID.h>
6 #include <cdc/dataobjects/CDCHit.h>
7 
8 namespace Belle2 {
17  public:
22  m_eWire(65535), m_quadrant(-1)
23  { }
24 
26  CDCTriggerSegmentHit(unsigned short segmentID,
27  unsigned short priorityPosition,
28  unsigned short leftRight,
29  short priorityTime,
30  short fastestTime,
31  short foundTime,
32  short quadrant = -1);
33 
35  CDCTriggerSegmentHit(unsigned short iSL,
36  unsigned short iWire,
37  unsigned short priorityPosition,
38  unsigned short leftRight,
39  short priorityTime,
40  short fastestTime,
41  short foundTime,
42  short quadrant = -1);
43 
46  CDCTriggerSegmentHit(const CDCHit& priorityHit,
47  unsigned short segmentID,
48  unsigned short priorityPosition,
49  unsigned short leftRight,
50  short priorityTime,
51  short fastestTime,
52  short foundTime,
53  short quadrant = -1);
54 
57 
58  //accessors
60  unsigned short getSegmentID() const { return m_segmentID; }
63  unsigned short getPriorityPosition() const { return m_priorityPosition; }
66  unsigned short getLeftRight() const { return m_leftRight; }
68  bool LRknown() const { return (m_leftRight == 1 || m_leftRight == 2); }
70  short priorityTime() const { return m_priorityTime; }
72  short fastestTime() const { return m_fastestTime; }
74  short foundTime() const { return m_foundTime; }
77  short getTDCCount() const { return m_priorityTime; }
78 
80  unsigned short getISuperLayer() const
81  {
82  return WireID(m_eWire).getISuperLayer();
83  }
85  unsigned short getILayer() const
86  {
87  return WireID(m_eWire).getILayer();
88  }
90  unsigned short getIWire() const
91  {
92  return WireID(m_eWire).getIWire();
93  }
95  unsigned short getIWireCenter() const;
100  unsigned short getID() const
101  {
102  return m_eWire;
103  }
105  short getQuadrant() const
106  {
107  return m_quadrant;
108  }
109 
110  protected:
112  unsigned short m_segmentID;
115  unsigned short m_priorityPosition;
118  unsigned short m_leftRight;
124  short m_foundTime;
125 
128  unsigned short m_eWire;
129 
131  short m_quadrant;
132 
135  };
137 }
138 #endif
Belle2::CDCTriggerSegmentHit::getISuperLayer
unsigned short getISuperLayer() const
get super layer number.
Definition: CDCTriggerSegmentHit.h:80
Belle2::CDCTriggerSegmentHit::m_leftRight
unsigned short m_leftRight
position of the priority cell relative to the track: 0: no hit, 1: right, 2: left,...
Definition: CDCTriggerSegmentHit.h:118
Belle2::CDCTriggerSegmentHit::getQuadrant
short getQuadrant() const
get the quadrant
Definition: CDCTriggerSegmentHit.h:105
Belle2::CDCTriggerSegmentHit::foundTime
short foundTime() const
get time when segment hit was found in trigger clocks
Definition: CDCTriggerSegmentHit.h:74
Belle2::WireID
Class to identify a wire inside the CDC.
Definition: WireID.h:44
Belle2::CDCTriggerSegmentHit::~CDCTriggerSegmentHit
~CDCTriggerSegmentHit()
destructor, empty because we don't allocate memory anywhere.
Definition: CDCTriggerSegmentHit.h:56
Belle2::CDCTriggerSegmentHit::getIWire
unsigned short getIWire() const
get wire number of priority wire within layer.
Definition: CDCTriggerSegmentHit.h:90
Belle2::CDCTriggerSegmentHit::m_fastestTime
short m_fastestTime
time of first hit in the track segment in trigger clocks (~ 2ns)
Definition: CDCTriggerSegmentHit.h:122
Belle2::CDCTriggerSegmentHit::getID
unsigned short getID() const
get the encoded wire number of the priority wire.
Definition: CDCTriggerSegmentHit.h:100
Belle2::WireID::getILayer
unsigned short getILayer() const
Getter for layer within the Super-Layer.
Definition: WireID.h:146
Belle2::CDCTriggerSegmentHit::m_priorityTime
short m_priorityTime
hit time of priority cell in trigger clocks (~ 2ns)
Definition: CDCTriggerSegmentHit.h:120
Belle2::CDCHit
Class containing the result of the unpacker in raw data and the result of the digitizer in simulation...
Definition: CDCHit.h:51
Belle2::WireID::getISuperLayer
unsigned short getISuperLayer() const
Getter for Super-Layer.
Definition: WireID.h:140
Belle2::CDCTriggerSegmentHit::getSegmentID
unsigned short getSegmentID() const
get continuous ID of the track segment [0, 2335]
Definition: CDCTriggerSegmentHit.h:60
Belle2::CDCTriggerSegmentHit::fastestTime
short fastestTime() const
get time of first hit in the track segment in trigger clocks
Definition: CDCTriggerSegmentHit.h:72
Belle2::CDCTriggerSegmentHit::getILayer
unsigned short getILayer() const
get priority layer number within super layer.
Definition: CDCTriggerSegmentHit.h:85
Belle2::CDCTriggerSegmentHit::LRknown
bool LRknown() const
true if LeftRight position is determined
Definition: CDCTriggerSegmentHit.h:68
Belle2::CDCTriggerSegmentHit::m_eWire
unsigned short m_eWire
Wire encoding of the priority wire.
Definition: CDCTriggerSegmentHit.h:128
Belle2::CDCTriggerSegmentHit::getIWireCenter
unsigned short getIWireCenter() const
get wire number of center wire within layer.
Definition: CDCTriggerSegmentHit.cc:84
Belle2::CDCTriggerSegmentHit::m_priorityPosition
unsigned short m_priorityPosition
position of the priority cell as an id: 0: no hit, 3: 1st priority, 1: 2nd right, 2: 2nd left
Definition: CDCTriggerSegmentHit.h:115
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCTriggerSegmentHit::getLeftRight
unsigned short getLeftRight() const
get position of the priority cell relative to the track (0: no hit, 1: right, 2: left,...
Definition: CDCTriggerSegmentHit.h:66
Belle2::CDCTriggerSegmentHit::m_segmentID
unsigned short m_segmentID
continuous ID of the track segment
Definition: CDCTriggerSegmentHit.h:112
Belle2::CDCTriggerSegmentHit::m_foundTime
short m_foundTime
time when segment hit was found in trigger clocks (~ 2ns)
Definition: CDCTriggerSegmentHit.h:124
Belle2::CDCTriggerSegmentHit::priorityTime
short priorityTime() const
get hit time of priority cell in trigger clocks
Definition: CDCTriggerSegmentHit.h:70
Belle2::CDCTriggerSegmentHit::m_quadrant
short m_quadrant
quadrant
Definition: CDCTriggerSegmentHit.h:131
Belle2::CDCTriggerSegmentHit::getPriorityPosition
unsigned short getPriorityPosition() const
get position of the priority cell within the track segment (0: no hit, 3: 1st priority,...
Definition: CDCTriggerSegmentHit.h:63
Belle2::CDCTriggerSegmentHit::getTDCCount
short getTDCCount() const
get hit time of priority cell in trigger clocks alias for priorityTime for backwards compatibility
Definition: CDCTriggerSegmentHit.h:77
Belle2::WireID::getIWire
unsigned short getIWire() const
Getter for wire within the layer.
Definition: WireID.h:155
Belle2::CDCTriggerSegmentHit
Combination of several CDCHits to a track segment hit for the trigger.
Definition: CDCTriggerSegmentHit.h:16
Belle2::RelationsInterface
Defines interface for accessing relations of objects in StoreArray.
Definition: RelationsObject.h:102
Belle2::CDCTriggerSegmentHit::ClassDef
ClassDef(CDCTriggerSegmentHit, 4)
Needed to make the ROOT object storable.
Belle2::CDCTriggerSegmentHit::CDCTriggerSegmentHit
CDCTriggerSegmentHit()
default constructor.
Definition: CDCTriggerSegmentHit.h:19