Belle II Software development
CDCTriggerSegmentHit Class Reference

Combination of several CDCHits to a track segment hit for the trigger. More...

#include <CDCTriggerSegmentHit.h>

Inheritance diagram for CDCTriggerSegmentHit:
RelationsInterface< BASE >

Public Member Functions

 CDCTriggerSegmentHit ()
 default constructor.
 
 CDCTriggerSegmentHit (unsigned short segmentID, unsigned short priorityPosition, unsigned short leftRight, short priorityTime, short fastestTime, short foundTime, short quadrant=-1, unsigned int hitpattern=0, unsigned int hitpattern_adc=0)
 constructor using continuous TS ID.
 
 CDCTriggerSegmentHit (unsigned short iSL, unsigned short iWire, unsigned short priorityPosition, unsigned short leftRight, short priorityTime, short fastestTime, short foundTime, short quadrant=-1, unsigned int hitpattern=0, unsigned int hitpattern_adc=0)
 constructor using super layer ID and TS ID in layer (== central wire ID).
 
 CDCTriggerSegmentHit (const CDCHit &priorityHit, unsigned short segmentID, unsigned short priorityPosition, unsigned short leftRight, short priorityTime, short fastestTime, short foundTime, short quadrant=-1, unsigned int hitpattern=0, unsigned int hitpattern_adc=0)
 constructor using continuous TS ID and a reference to the priority hit (to save some calculations).
 
 ~CDCTriggerSegmentHit ()
 destructor, empty because we don't allocate memory anywhere.
 
unsigned short getSegmentID () const
 get continuous ID of the track segment [0, 2335]
 
unsigned short getPriorityPosition () const
 get position of the priority cell within the track segment (0: no hit, 3: 1st priority, 1: 2nd right, 2: 2nd left)
 
unsigned short getLeftRight () const
 get position of the priority cell relative to the track (0: no hit, 1: right, 2: left, 3: not determined)
 
bool LRknown () const
 true if LeftRight position is determined
 
short priorityTime () const
 get hit time of priority cell in trigger clocks
 
short fastestTime () const
 get time of first hit in the track segment in trigger clocks
 
short foundTime () const
 get time when segment hit was found in trigger clocks
 
short getTDCCount () const
 get hit time of priority cell in trigger clocks alias for priorityTime for backwards compatibility
 
unsigned int gethitpattern () const
 get hit pattern in a segment hit
 
unsigned int gethitpattern_adc () const
 get hit pattern in a segment hit
 
unsigned short getISuperLayer () const
 get super layer number.
 
unsigned short getILayer () const
 get priority layer number within super layer.
 
unsigned short getIWire () const
 get wire number of priority wire within layer.
 
unsigned short getIWireCenter () const
 get wire number of center wire within layer.
 
unsigned short getID () const
 get the encoded wire number of the priority wire.
 
short getQuadrant () const
 get the quadrant
 
void addRelationTo (const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (with caching).
 
void addRelationTo (const TObject *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (no caching, can be quite slow).
 
void copyRelations (const RelationsInterface< BASE > *sourceObj)
 Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).
 
template<class TO >
RelationVector< TO > getRelationsTo (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from this object to another store array.
 
template<class FROM >
RelationVector< FROM > getRelationsFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from another store array to this object.
 
template<class T >
RelationVector< T > getRelationsWith (const std::string &name="", const std::string &namedRelation="") const
 Get the relations between this object and another store array.
 
template<class TO >
TO * getRelatedTo (const std::string &name="", const std::string &namedRelation="") const
 Get the object to which this object has a relation.
 
template<class FROM >
FROM * getRelatedFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the object from which this object has a relation.
 
template<class T >
T * getRelated (const std::string &name="", const std::string &namedRelation="") const
 Get the object to or from which this object has a relation.
 
template<class TO >
std::pair< TO *, float > getRelatedToWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing to an array.
 
template<class FROM >
std::pair< FROM *, float > getRelatedFromWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from an array.
 
template<class T >
std::pair< T *, float > getRelatedWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from/to an array.
 
virtual std::string getName () const
 Return a short name that describes this object, e.g.
 
virtual std::string getInfoHTML () const
 Return a short summary of this object's contents in HTML format.
 
std::string getInfo () const
 Return a short summary of this object's contents in raw text format.
 
std::string getArrayName () const
 Get name of array this object is stored in, or "" if not found.
 
int getArrayIndex () const
 Returns this object's array index (in StoreArray), or -1 if not found.
 

Protected Member Functions

 ClassDef (CDCTriggerSegmentHit, 5)
 Needed to make the ROOT object storable.
 
TClonesArray * getArrayPointer () const
 Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).
 

Protected Attributes

unsigned short m_segmentID
 continuous ID of the track segment
 
unsigned short m_priorityPosition
 position of the priority cell as an id: 0: no hit, 3: 1st priority, 1: 2nd right, 2: 2nd left
 
unsigned short m_leftRight
 position of the priority cell relative to the track: 0: no hit, 1: right, 2: left, 3: not determined
 
short m_priorityTime
 hit time of priority cell in trigger clocks (~ 2ns)
 
short m_fastestTime
 time of first hit in the track segment in trigger clocks (~ 2ns)
 
short m_foundTime
 time when segment hit was found in trigger clocks (~ 2ns)
 
unsigned short m_eWire
 Wire encoding of the priority wire.
 
short m_quadrant
 quadrant
 
unsigned int m_hitpattern
 hit pattern
 
unsigned int m_hitpattern_adc
 hit pattern with adc cut
 

Private Attributes

DataStore::StoreEntrym_cacheDataStoreEntry
 Cache of the data store entry to which this object belongs.
 
int m_cacheArrayIndex
 Cache of the index in the TClonesArray to which this object belongs.
 

Detailed Description

Combination of several CDCHits to a track segment hit for the trigger.

Result of the track segment finder.

Definition at line 23 of file CDCTriggerSegmentHit.h.

Constructor & Destructor Documentation

◆ CDCTriggerSegmentHit() [1/4]

default constructor.

Definition at line 26 of file CDCTriggerSegmentHit.h.

26 :
30 { }
unsigned int m_hitpattern
hit pattern
unsigned short m_priorityPosition
position of the priority cell as an id: 0: no hit, 3: 1st priority, 1: 2nd right, 2: 2nd left
unsigned int m_hitpattern_adc
hit pattern with adc cut
unsigned short m_eWire
Wire encoding of the priority wire.
short m_priorityTime
hit time of priority cell in trigger clocks (~ 2ns)
short m_fastestTime
time of first hit in the track segment in trigger clocks (~ 2ns)
unsigned short m_segmentID
continuous ID of the track segment
short m_foundTime
time when segment hit was found in trigger clocks (~ 2ns)
unsigned short m_leftRight
position of the priority cell relative to the track: 0: no hit, 1: right, 2: left,...

◆ CDCTriggerSegmentHit() [2/4]

CDCTriggerSegmentHit ( unsigned short  segmentID,
unsigned short  priorityPosition,
unsigned short  leftRight,
short  priorityTime,
short  fastestTime,
short  foundTime,
short  quadrant = -1,
unsigned int  hitpattern = 0,
unsigned int  hitpattern_adc = 0 
)

constructor using continuous TS ID.

Definition at line 12 of file CDCTriggerSegmentHit.cc.

20 :
21 m_segmentID(segmentID), m_priorityPosition(priorityPosition), m_leftRight(leftRight),
23 m_hitpattern_adc(hitpattern_adc)
24{
25 // find super layer and local wire id
26 std::array<int, 9> nWiresInSuperLayer = {
27 160, 160, 192, 224, 256, 288, 320, 352, 384
28 };
29 unsigned short iSL = 0;
30 unsigned short iWire = segmentID;
31 while (iWire >= nWiresInSuperLayer[iSL]) {
32 iWire -= nWiresInSuperLayer[iSL];
33 iSL += 1;
34 }
35 // shift from center wire to priority wire
36 if (priorityPosition == 1) {
37 if (iWire == 0)
38 iWire = nWiresInSuperLayer[iSL] - 1;
39 else
40 iWire -= 1;
41 }
42 unsigned short iLayer = (iSL == 0) ? 3 : 2;
43 if (priorityPosition == 1 || priorityPosition == 2)
44 iLayer += 1;
45 m_eWire = WireID(iSL, iLayer, iWire).getEWire();
46}
short priorityTime() const
get hit time of priority cell in trigger clocks
short fastestTime() const
get time of first hit in the track segment in trigger clocks
short foundTime() const
get time when segment hit was found in trigger clocks
Class to identify a wire inside the CDC.
Definition: WireID.h:34
unsigned short getEWire() const
Getter for encoded wire number.
Definition: WireID.h:154

◆ CDCTriggerSegmentHit() [3/4]

CDCTriggerSegmentHit ( unsigned short  iSL,
unsigned short  iWire,
unsigned short  priorityPosition,
unsigned short  leftRight,
short  priorityTime,
short  fastestTime,
short  foundTime,
short  quadrant = -1,
unsigned int  hitpattern = 0,
unsigned int  hitpattern_adc = 0 
)

constructor using super layer ID and TS ID in layer (== central wire ID).

Definition at line 48 of file CDCTriggerSegmentHit.cc.

57 :
58 m_priorityPosition(priorityPosition), m_leftRight(leftRight),
60 m_hitpattern_adc(hitpattern_adc)
61{
62 // calculate continuous segment ID
63 std::array<int, 9> nWiresInSuperLayer = {
64 160, 160, 192, 224, 256, 288, 320, 352, 384
65 };
66 m_segmentID = iWire;
67 for (unsigned i = 0; i < iSL; ++i) {
68 m_segmentID += nWiresInSuperLayer[i];
69 }
70 // shift from center wire to priority wire
71 if (priorityPosition == 1) {
72 if (iWire == 0)
73 iWire = nWiresInSuperLayer[iSL] - 1;
74 else
75 iWire -= 1;
76 }
77 unsigned short iLayer = (iSL == 0) ? 3 : 2;
78 if (priorityPosition == 1 || priorityPosition == 2)
79 iLayer += 1;
80 m_eWire = WireID(iSL, iLayer, iWire).getEWire();
81}

◆ CDCTriggerSegmentHit() [4/4]

CDCTriggerSegmentHit ( const CDCHit priorityHit,
unsigned short  segmentID,
unsigned short  priorityPosition,
unsigned short  leftRight,
short  priorityTime,
short  fastestTime,
short  foundTime,
short  quadrant = -1,
unsigned int  hitpattern = 0,
unsigned int  hitpattern_adc = 0 
)

constructor using continuous TS ID and a reference to the priority hit (to save some calculations).

Definition at line 83 of file CDCTriggerSegmentHit.cc.

92 :
93 m_segmentID(segmentID), m_priorityPosition(priorityPosition), m_leftRight(leftRight),
95 m_eWire(priorityHit.getID()), m_quadrant(quadrant), m_hitpattern(hitpattern), m_hitpattern_adc(hitpattern_adc)
96{}
unsigned short getID() const
Getter for encoded wire number.
Definition: CDCHit.h:193

◆ ~CDCTriggerSegmentHit()

~CDCTriggerSegmentHit ( )
inline

destructor, empty because we don't allocate memory anywhere.

Definition at line 69 of file CDCTriggerSegmentHit.h.

69{ }

Member Function Documentation

◆ addRelationTo() [1/2]

void addRelationTo ( const RelationsInterface< BASE > *  object,
float  weight = 1.0,
const std::string &  namedRelation = "" 
) const
inlineinherited

Add a relation from this object to another object (with caching).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 142 of file RelationsObject.h.

143 {
144 if (object)
146 object, object->m_cacheDataStoreEntry, object->m_cacheArrayIndex, weight, namedRelation);
147 }
void addRelation(const TObject *fromObject, StoreEntry *&fromEntry, int &fromIndex, const TObject *toObject, StoreEntry *&toEntry, int &toIndex, float weight, const std::string &namedRelation)
Add a relation from an object in a store array to another object in a store array.
Definition: DataStore.cc:492
static DataStore & Instance()
Instance of singleton Store.
Definition: DataStore.cc:54
DataStore::StoreEntry * m_cacheDataStoreEntry
Cache of the data store entry to which this object belongs.
int m_cacheArrayIndex
Cache of the index in the TClonesArray to which this object belongs.

◆ addRelationTo() [2/2]

void addRelationTo ( const TObject *  object,
float  weight = 1.0,
const std::string &  namedRelation = "" 
) const
inlineinherited

Add a relation from this object to another object (no caching, can be quite slow).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 155 of file RelationsObject.h.

156 {
157 StoreEntry* toEntry = nullptr;
158 int toIndex = -1;
159 DataStore::Instance().addRelation(this, m_cacheDataStoreEntry, m_cacheArrayIndex, object, toEntry, toIndex, weight, namedRelation);
160 }

◆ copyRelations()

void copyRelations ( const RelationsInterface< BASE > *  sourceObj)
inlineinherited

Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).

Useful if you want to make a complete copy of a StoreArray object to make modifications to it, but retain all information on linked objects.

Note: this only works if sourceObj inherits from the same base (e.g. RelationsObject), and only for related objects that also inherit from the same base.

Definition at line 170 of file RelationsObject.h.

171 {
172 if (!sourceObj)
173 return;
174 auto fromRels = sourceObj->getRelationsFrom<RelationsInterface<BASE>>("ALL");
175 for (unsigned int iRel = 0; iRel < fromRels.size(); iRel++) {
176 fromRels.object(iRel)->addRelationTo(this, fromRels.weight(iRel));
177 }
178
179 auto toRels = sourceObj->getRelationsTo<RelationsInterface<BASE>>("ALL");
180 for (unsigned int iRel = 0; iRel < toRels.size(); iRel++) {
181 this->addRelationTo(toRels.object(iRel), toRels.weight(iRel));
182 }
183 }
void addRelationTo(const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const
Add a relation from this object to another object (with caching).

◆ fastestTime()

short fastestTime ( ) const
inline

get time of first hit in the track segment in trigger clocks

Definition at line 85 of file CDCTriggerSegmentHit.h.

85{ return m_fastestTime; }

◆ foundTime()

short foundTime ( ) const
inline

get time when segment hit was found in trigger clocks

Definition at line 87 of file CDCTriggerSegmentHit.h.

87{ return m_foundTime; }

◆ getArrayIndex()

int getArrayIndex ( ) const
inlineinherited

Returns this object's array index (in StoreArray), or -1 if not found.

Definition at line 385 of file RelationsObject.h.

386 {
388 return m_cacheArrayIndex;
389 }
bool findStoreEntry(const TObject *object, StoreEntry *&entry, int &index)
Find an object in an array in the data store.
Definition: DataStore.cc:398

◆ getArrayName()

std::string getArrayName ( ) const
inlineinherited

Get name of array this object is stored in, or "" if not found.

Definition at line 377 of file RelationsObject.h.

◆ getArrayPointer()

TClonesArray * getArrayPointer ( ) const
inlineprotectedinherited

Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).

Definition at line 418 of file RelationsObject.h.

419 {
422 return nullptr;
424 }
TClonesArray * getPtrAsArray() const
Return ptr cast to TClonesArray.
Definition: StoreEntry.cc:83

◆ gethitpattern()

unsigned int gethitpattern ( ) const
inline

get hit pattern in a segment hit

Definition at line 92 of file CDCTriggerSegmentHit.h.

92{ return m_hitpattern; }

◆ gethitpattern_adc()

unsigned int gethitpattern_adc ( ) const
inline

get hit pattern in a segment hit

Definition at line 94 of file CDCTriggerSegmentHit.h.

94{ return m_hitpattern_adc; }

◆ getID()

unsigned short getID ( ) const
inline

get the encoded wire number of the priority wire.

This number can be used directly e.g. with the = operator to create a WireID object.

Definition at line 117 of file CDCTriggerSegmentHit.h.

118 {
119 return m_eWire;
120 }

◆ getILayer()

unsigned short getILayer ( ) const
inline

get priority layer number within super layer.

Definition at line 102 of file CDCTriggerSegmentHit.h.

103 {
104 return WireID(m_eWire).getILayer();
105 }

◆ getInfo()

std::string getInfo ( ) const
inlineinherited

Return a short summary of this object's contents in raw text format.

Returns the contents of getInfoHTML() while translating line-breaks etc.

Note
: You don't need to implement this function (it's not virtual), getInfoHTML() is enough.

Definition at line 370 of file RelationsObject.h.

371 {
373 }
virtual std::string getInfoHTML() const
Return a short summary of this object's contents in HTML format.
std::string htmlToPlainText(const std::string &html)
See RelationsObject::getInfo()

◆ getInfoHTML()

virtual std::string getInfoHTML ( ) const
inlinevirtualinherited

Return a short summary of this object's contents in HTML format.

Reimplement this in your own class to provide useful output for display or debugging purposes. For example, you might do something like:

std::stringstream out;
out << "<b>PDG</b>: " << m_pdg << "<br>";
out << "<b>Covariance Matrix</b>: " << HTML::getString(getCovariance5()) << "<br>";
return out.str();
std::string getString(const TMatrixFBase &matrix, int precision=2, bool color=true)
get HTML table representing a matrix.
Definition: HTML.cc:24
See also
Particle::getInfoHTML() for a more complex example.
HTML for some utility functions.
Use getInfo() to get a raw text version of this output.

Reimplemented in Particle, Cluster, MCParticle, PIDLikelihood, SoftwareTriggerResult, Track, TrackFitResult, TRGSummary, and RecoTrack.

Definition at line 362 of file RelationsObject.h.

362{ return ""; }

◆ getISuperLayer()

unsigned short getISuperLayer ( ) const
inline

get super layer number.

Definition at line 97 of file CDCTriggerSegmentHit.h.

98 {
99 return WireID(m_eWire).getISuperLayer();
100 }

◆ getIWire()

unsigned short getIWire ( ) const
inline

get wire number of priority wire within layer.

Definition at line 107 of file CDCTriggerSegmentHit.h.

108 {
109 return WireID(m_eWire).getIWire();
110 }

◆ getIWireCenter()

unsigned short getIWireCenter ( ) const

get wire number of center wire within layer.

Definition at line 99 of file CDCTriggerSegmentHit.cc.

100{
101 std::array<int, 9> nWiresInSuperLayer = {
102 160, 160, 192, 224, 256, 288, 320, 352, 384
103 };
104 unsigned short iWire = getIWire();
105 unsigned short iSL = getISuperLayer();
106 if (m_priorityPosition == 1) {
107 iWire += 1;
108 if (iWire == nWiresInSuperLayer[iSL]) {
109 iWire = 0;
110 }
111 }
112 return iWire;
113}
unsigned short getIWire() const
get wire number of priority wire within layer.
unsigned short getISuperLayer() const
get super layer number.

◆ getLeftRight()

unsigned short getLeftRight ( ) const
inline

get position of the priority cell relative to the track (0: no hit, 1: right, 2: left, 3: not determined)

Definition at line 79 of file CDCTriggerSegmentHit.h.

79{ return m_leftRight; }

◆ getName()

virtual std::string getName ( ) const
inlinevirtualinherited

Return a short name that describes this object, e.g.

pi+ for an MCParticle.

Reimplemented in Particle, MCParticle, and SpacePoint.

Definition at line 344 of file RelationsObject.h.

344{ return ""; }

◆ getPriorityPosition()

unsigned short getPriorityPosition ( ) const
inline

get position of the priority cell within the track segment (0: no hit, 3: 1st priority, 1: 2nd right, 2: 2nd left)

Definition at line 76 of file CDCTriggerSegmentHit.h.

76{ return m_priorityPosition; }

◆ getQuadrant()

short getQuadrant ( ) const
inline

get the quadrant

Definition at line 122 of file CDCTriggerSegmentHit.h.

123 {
124 return m_quadrant;
125 }

◆ getRelated()

T * getRelated ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object to or from which this object has a relation.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 278 of file RelationsObject.h.

279 {
281 T::Class(), name, namedRelation).object);
282 }
@ c_BothSides
Combination of c_FromSide and c_ToSide.
Definition: DataStore.h:79
Belle2::RelationEntry getRelationWith(ESearchSide searchSide, const TObject *object, StoreEntry *&entry, int &index, const TClass *withClass, const std::string &withName, const std::string &namedRelation)
Get the first relation between an object and another object in a store array.
Definition: DataStore.cc:597
TObject * object
Pointer to the object.
Definition: RelationEntry.h:32

◆ getRelatedFrom()

FROM * getRelatedFrom ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object from which this object has a relation.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 263 of file RelationsObject.h.

264 {
266 m_cacheArrayIndex, FROM::Class(), name, namedRelation).object);
267 }
@ c_FromSide
Return relations/objects pointed from (to a given object).
Definition: DataStore.h:77

◆ getRelatedFromWithWeight()

std::pair< FROM *, float > getRelatedFromWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing from an array.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 314 of file RelationsObject.h.

316 {
318 FROM::Class(), name, namedRelation);
319 return std::make_pair(static_cast<FROM*>(entry.object), entry.weight);
320 }

◆ getRelatedTo()

TO * getRelatedTo ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object to which this object has a relation.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 248 of file RelationsObject.h.

249 {
251 TO::Class(), name, namedRelation).object);
252 }
@ c_ToSide
Return relations/objects pointed to (from a given object).
Definition: DataStore.h:78

◆ getRelatedToWithWeight()

std::pair< TO *, float > getRelatedToWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing to an array.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 297 of file RelationsObject.h.

299 {
301 TO::Class(), name, namedRelation);
302 return std::make_pair(static_cast<TO*>(entry.object), entry.weight);
303 }

◆ getRelatedWithWeight()

std::pair< T *, float > getRelatedWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing from/to an array.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 331 of file RelationsObject.h.

333 {
335 T::Class(), name, namedRelation);
336 return std::make_pair(static_cast<T*>(entry.object), entry.weight);
337 }

◆ getRelationsFrom()

RelationVector< FROM > getRelationsFrom ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations that point from another store array to this object.

Template Parameters
FROMThe class of objects from which the relations point.
Parameters
nameThe name of the store array from which the relations point. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 212 of file RelationsObject.h.

214 {
216 m_cacheArrayIndex, FROM::Class(), name, namedRelation));
217 }
RelationVector< T > getRelationsWith(const std::string &name="", const std::string &namedRelation="") const
Get the relations between this object and another store array.

◆ getRelationsTo()

RelationVector< TO > getRelationsTo ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations that point from this object to another store array.

Template Parameters
TOThe class of objects to which the relations point.
Parameters
nameThe name of the store array to which the relations point. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 197 of file RelationsObject.h.

198 {
200 m_cacheArrayIndex, TO::Class(), name, namedRelation));
201 }

◆ getRelationsWith()

RelationVector< T > getRelationsWith ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations between this object and another store array.

Relations in both directions are returned.

Template Parameters
TThe class of objects to or from which the relations point.
Parameters
nameThe name of the store array to or from which the relations point. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 230 of file RelationsObject.h.

231 {
233 m_cacheArrayIndex, T::Class(), name, namedRelation));
234 }

◆ getSegmentID()

unsigned short getSegmentID ( ) const
inline

get continuous ID of the track segment [0, 2335]

Definition at line 73 of file CDCTriggerSegmentHit.h.

73{ return m_segmentID; }

◆ getTDCCount()

short getTDCCount ( ) const
inline

get hit time of priority cell in trigger clocks alias for priorityTime for backwards compatibility

Definition at line 90 of file CDCTriggerSegmentHit.h.

90{ return m_priorityTime; }

◆ LRknown()

bool LRknown ( ) const
inline

true if LeftRight position is determined

Definition at line 81 of file CDCTriggerSegmentHit.h.

81{ return (m_leftRight == 1 || m_leftRight == 2); }

◆ priorityTime()

short priorityTime ( ) const
inline

get hit time of priority cell in trigger clocks

Definition at line 83 of file CDCTriggerSegmentHit.h.

83{ return m_priorityTime; }

Member Data Documentation

◆ m_cacheArrayIndex

int m_cacheArrayIndex
mutableprivateinherited

Cache of the index in the TClonesArray to which this object belongs.

Definition at line 432 of file RelationsObject.h.

◆ m_cacheDataStoreEntry

DataStore::StoreEntry* m_cacheDataStoreEntry
mutableprivateinherited

Cache of the data store entry to which this object belongs.

Definition at line 429 of file RelationsObject.h.

◆ m_eWire

unsigned short m_eWire
protected

Wire encoding of the priority wire.

Details are explained in the separate WireID object.

Definition at line 145 of file CDCTriggerSegmentHit.h.

◆ m_fastestTime

short m_fastestTime
protected

time of first hit in the track segment in trigger clocks (~ 2ns)

Definition at line 139 of file CDCTriggerSegmentHit.h.

◆ m_foundTime

short m_foundTime
protected

time when segment hit was found in trigger clocks (~ 2ns)

Definition at line 141 of file CDCTriggerSegmentHit.h.

◆ m_hitpattern

unsigned int m_hitpattern
protected

hit pattern

Definition at line 151 of file CDCTriggerSegmentHit.h.

◆ m_hitpattern_adc

unsigned int m_hitpattern_adc
protected

hit pattern with adc cut

Definition at line 154 of file CDCTriggerSegmentHit.h.

◆ m_leftRight

unsigned short m_leftRight
protected

position of the priority cell relative to the track: 0: no hit, 1: right, 2: left, 3: not determined

Definition at line 135 of file CDCTriggerSegmentHit.h.

◆ m_priorityPosition

unsigned short m_priorityPosition
protected

position of the priority cell as an id: 0: no hit, 3: 1st priority, 1: 2nd right, 2: 2nd left

Definition at line 132 of file CDCTriggerSegmentHit.h.

◆ m_priorityTime

short m_priorityTime
protected

hit time of priority cell in trigger clocks (~ 2ns)

Definition at line 137 of file CDCTriggerSegmentHit.h.

◆ m_quadrant

short m_quadrant
protected

quadrant

Definition at line 148 of file CDCTriggerSegmentHit.h.

◆ m_segmentID

unsigned short m_segmentID
protected

continuous ID of the track segment

Definition at line 129 of file CDCTriggerSegmentHit.h.


The documentation for this class was generated from the following files: