Belle II Software development
SVDSimHit Class Reference

Class SVDSimHit - Geant4 simulated hit for the SVD. More...

#include <SVDSimHit.h>

Inheritance diagram for SVDSimHit:
VXDSimHit SimHitBase RelationsInterface< BASE >

Public Member Functions

 SVDSimHit ()
 default constructor for ROOT
 
 SVDSimHit (VxdID sensorID, int pdg, float globalTime, const float *posIn, const float *posOut)
 Standard constructor.
 
void setEnergyDeposit (std::vector< unsigned int > &electronProfile)
 Set energy deposition profile To avoid copying of the entries this will take over the contents of the argument and after the call the argument will be empty.
 
VxdID getSensorID () const
 Return the sensorID of the sensor the electron was deposited in.
 
int getPDGcode () const
 Return the PDG code of the particle causing the electron deposition.
 
ROOT::Math::XYZVector getPosIn () const
 Return the start point of the electron deposition in local coordinates.
 
ROOT::Math::XYZVector getPosOut () const
 Return the end point of the electron deposition in local coordinates.
 
const float * getPosArrayIn () const
 Return the start point of the electron deposition in local coordinates as float array.
 
const float * getPosArrayOut () const
 Return the end point of the electron deposition in local coordinates as float array.
 
float getGlobalTime () const override
 Return the time of the electron deposition.
 
virtual void shiftInTime (float delta) override
 Shift the SimHit in time.
 
float getElectrons () const
 Return the number of created electrons.
 
std::vector< std::pair< float, float > > getElectronProfile () const
 Get the decoded electron profile.
 
std::vector< std::pair< float, float > > getElectronsConstantDistance (double length) const
 Get the electron deposition along constant stepsize.
 
std::vector< std::pair< float, float > > getElectronsConstantNumber (double electronsPerStep) const
 Get the electron deposition with constant number of electrons between sampling points.
 
virtual void setBackgroundTag (unsigned int backgroundTag)
 Set background tag.
 
virtual unsigned short getBackgroundTag () const
 Get background tag.
 
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

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

Private Member Functions

 ClassDef (RelationsInterface, 0)
 defines interface for accessing relations of objects in StoreArray.
 

Private Attributes

std::vector< unsigned int > m_electronProfile
 Energy depsoition profile encoded using the ElectronDeposit class.
 
int m_pdg
 PDG Code of the particle producing the Hit.
 
float m_globalTime
 Time of electron deposition.
 
float m_posIn [3]
 Start point of electron deposition in local coordinates.
 
float m_posOut [3]
 End point of electron deposition in local coordinates.
 
unsigned short m_sensorID
 ID of the sensor the electron was deposited in.
 
unsigned short m_backgroundTag
 Background tag.
 
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

Class SVDSimHit - Geant4 simulated hit for the SVD.

This class holds particle hit data from geant4 simulation. As the simulated hit classes are used to generate detector response, they contain local information.

Definition at line 26 of file SVDSimHit.h.

Constructor & Destructor Documentation

◆ SVDSimHit() [1/2]

SVDSimHit ( )
inline

default constructor for ROOT

Definition at line 29 of file SVDSimHit.h.

29: VXDSimHit() {}
VXDSimHit()
default constructor for ROOT
Definition: VXDSimHit.h:33

◆ SVDSimHit() [2/2]

SVDSimHit ( VxdID  sensorID,
int  pdg,
float  globalTime,
const float *  posIn,
const float *  posOut 
)
inline

Standard constructor.

Parameters
sensorIDID of the sensor
pdgPDG Code of the particle producing the Hit
globalTimeTime of electron deposition
posInStart point of electron deposition in local coordinates
posOutEnd point of electron deposition in local coordinates

Definition at line 38 of file SVDSimHit.h.

39 : VXDSimHit(sensorID, pdg, globalTime, posIn, posOut)
40 {}

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).

◆ 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

◆ getBackgroundTag()

virtual unsigned short getBackgroundTag ( ) const
inlinevirtualinherited

Get background tag.

Returns
The background tag value.

Definition at line 46 of file SimHitBase.h.

46{ return m_backgroundTag; }
unsigned short m_backgroundTag
Background tag.
Definition: SimHitBase.h:68

◆ getElectronProfile()

std::vector< std::pair< float, float > > getElectronProfile ( ) const
inherited

Get the decoded electron profile.

Each entry is the fraction between posIn and posOut and the number of electrons deposited up to that point. It will contain at least one entry with a fraction of one and the total number of deposited electrons.

Returns
vector of (fraction, electron) pairs

Definition at line 21 of file VXDSimhit.cc.

22{
23 std::vector<std::pair<float, float>> result;
24 result.reserve(m_electronProfile.size());
25 for (unsigned int encoded : m_electronProfile) {
26 VXDElectronDeposit ed(encoded);
27 result.emplace_back(ed.getFraction(), ed.getElectrons());
28 }
29 return result;
30}
Packed class to represent energy deposit along a path in electrons.
std::vector< unsigned int > m_electronProfile
Energy depsoition profile encoded using the ElectronDeposit class.
Definition: VXDSimHit.h:125

◆ getElectrons()

float getElectrons ( ) const
inherited

Return the number of created electrons.

Definition at line 15 of file VXDSimhit.cc.

16{
18 return total.getElectrons();
19}

◆ getElectronsConstantDistance()

std::vector< std::pair< float, float > > getElectronsConstantDistance ( double  length) const
inherited

Get the electron deposition along constant stepsize.

The electron deposition will be sampled between posIn and posOut in equal steps with a specified length. The acutal sampling length might differ slightly from the given parameter but will be equal and below the given value for all steps. The returned vector will contain fractions between posIn and posOut and the electrons deposited up to that point.It will contain at least one entry with a fraction of one and the total number of deposited electrons.

Parameters
lengthtarget step size in default length unit (cm)
Returns
vector of (fraction, electron) pairs

Definition at line 32 of file VXDSimhit.cc.

33{
34 double totalLength = (getPosOut() - getPosIn()).R();
35 const int nSteps = (int)(totalLength / length) + 1;
36 std::vector<std::pair<float, float>> result;
37 result.reserve(nSteps);
38 //Account for the discrete number of steps and adjust the fraction per step
39 //we want to return
40 const double deltaFraction = 1. / nSteps;
41
42 std::vector<unsigned int>::const_iterator currentPointIt = m_electronProfile.begin();
43 VXDElectronDeposit currentPoint(*currentPointIt);
44 VXDElectronDeposit lastPoint(0, 0);
45
46 //Now we create all steps
47 for (int i = 0; i < nSteps; ++i) {
48 //By determining which fraction it should have, clipped to 1 for rounding errors
49 const double fraction = min((i + 1) * deltaFraction, 1.0);
50 //finding the correct segment
51 while (fraction > currentPoint.getFraction()) {
52 ++currentPointIt;
53 lastPoint = currentPoint;
54 currentPoint = VXDElectronDeposit(*currentPointIt);
55 }
56 //and calculating the weighted average of the current number of electrons
57 const double weight = (fraction - lastPoint.getFraction()) /
58 (currentPoint.getFraction() - lastPoint.getFraction());
59 const double electrons = (1 - weight) * lastPoint.getElectrons() + weight * currentPoint.getElectrons();
60 //which we then add to the result
61 result.emplace_back(fraction, electrons);
62 }
63 return result;
64}
double R
typedef autogenerated by FFTW
ROOT::Math::XYZVector getPosOut() const
Return the end point of the electron deposition in local coordinates.
Definition: VXDSimHit.h:72
ROOT::Math::XYZVector getPosIn() const
Return the start point of the electron deposition in local coordinates.
Definition: VXDSimHit.h:70

◆ getElectronsConstantNumber()

std::vector< std::pair< float, float > > getElectronsConstantNumber ( double  electronsPerStep) const
inherited

Get the electron deposition with constant number of electrons between sampling points.

The number of electrons per step might differ from the given parameter but will be equal and at most the given value for all steps. The returned vector will contain fractions between posIn and posOut and the electrons deposited up to that point. It will contain at least one entry with a fraction of one and the total number of deposited electrons.

Parameters
electronsPerSteplength target number of electrons per step
Returns
vector of (fraction, electron) pairs

Definition at line 66 of file VXDSimhit.cc.

67{
69 const int nSteps = (int)(total.getElectrons() / electronsPerStep) + 1;
70 std::vector<std::pair<float, float>> result;
71 result.reserve(nSteps);
72 //Account for the discrete number of steps and adjust number of electrons
73 double deltaElectrons = total.getElectrons() / nSteps;
74
75 std::vector<unsigned int>::const_iterator currentPointIt = m_electronProfile.begin();
76 VXDElectronDeposit currentPoint(*currentPointIt);
77 VXDElectronDeposit lastPoint(0, 0);
78
79 //Now we create all steps
80 for (int i = 0; i < nSteps; ++i) {
81 //By determining the number of electrons it should have, clipped to total for rounding errors
82 const double electrons = min((i + 1) * deltaElectrons, (double)total.getElectrons());
83 //finding the correct segment
84 while (electrons > currentPoint.getElectrons()) {
85 ++currentPointIt;
86 lastPoint = currentPoint;
87 currentPoint = VXDElectronDeposit(*currentPointIt);
88 }
89 //and calculating the weighted average of the current position
90 const double weight = (electrons - lastPoint.getElectrons()) /
91 (currentPoint.getElectrons() - lastPoint.getElectrons());
92 const double fraction = (1 - weight) * lastPoint.getFraction() + weight * currentPoint.getFraction();
93 //which we then add to the result
94 result.emplace_back(fraction, electrons);
95 }
96 return result;
97}

◆ getGlobalTime()

float getGlobalTime ( ) const
inlineoverridevirtualinherited

Return the time of the electron deposition.

Reimplemented from SimHitBase.

Definition at line 78 of file VXDSimHit.h.

78{ return m_globalTime; }
float m_globalTime
Time of electron deposition.
Definition: VXDSimHit.h:129

◆ 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();
int m_pdg
PDG Code of the particle producing the Hit.
Definition: VXDSimHit.h:127
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 ""; }

◆ 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 ""; }

◆ getPDGcode()

int getPDGcode ( ) const
inlineinherited

Return the PDG code of the particle causing the electron deposition.

Definition at line 68 of file VXDSimHit.h.

68{ return m_pdg; }

◆ getPosArrayIn()

const float * getPosArrayIn ( ) const
inlineinherited

Return the start point of the electron deposition in local coordinates as float array.

Definition at line 74 of file VXDSimHit.h.

74{ return m_posIn; }
float m_posIn[3]
Start point of electron deposition in local coordinates.
Definition: VXDSimHit.h:131

◆ getPosArrayOut()

const float * getPosArrayOut ( ) const
inlineinherited

Return the end point of the electron deposition in local coordinates as float array.

Definition at line 76 of file VXDSimHit.h.

76{ return m_posOut; }
float m_posOut[3]
End point of electron deposition in local coordinates.
Definition: VXDSimHit.h:133

◆ getPosIn()

ROOT::Math::XYZVector getPosIn ( ) const
inlineinherited

Return the start point of the electron deposition in local coordinates.

Definition at line 70 of file VXDSimHit.h.

70{ return ROOT::Math::XYZVector(m_posIn[0], m_posIn[1], m_posIn[2]); }

◆ getPosOut()

ROOT::Math::XYZVector getPosOut ( ) const
inlineinherited

Return the end point of the electron deposition in local coordinates.

Definition at line 72 of file VXDSimHit.h.

72{ return ROOT::Math::XYZVector(m_posOut[0], m_posOut[1], m_posOut[2]); }

◆ 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 }

◆ getSensorID()

VxdID getSensorID ( ) const
inlineinherited

Return the sensorID of the sensor the electron was deposited in.

Definition at line 66 of file VXDSimHit.h.

66{ return m_sensorID; }
unsigned short m_sensorID
ID of the sensor the electron was deposited in.
Definition: VXDSimHit.h:135

◆ setBackgroundTag()

virtual void setBackgroundTag ( unsigned int  backgroundTag)
inlinevirtualinherited

Set background tag.

Parameters
backgroundTagThe desired setting of the background tag.

Definition at line 39 of file SimHitBase.h.

40 { m_backgroundTag = static_cast<unsigned short>(backgroundTag); }

◆ setEnergyDeposit()

void setEnergyDeposit ( std::vector< unsigned int > &  electronProfile)
inlineinherited

Set energy deposition profile To avoid copying of the entries this will take over the contents of the argument and after the call the argument will be empty.

TODO: Normally this would be done with an lvalue reference but we need a dictionary so we have to compile it with cint, might change for ROOT6.

Parameters
electronProfilelist of energy depositions along the simhit, encoded using ElectronDeposit class. Will be empty after call

Definition at line 59 of file VXDSimHit.h.

60 {
61 m_electronProfile.clear();
62 std::swap(m_electronProfile, electronProfile);
63 }

◆ shiftInTime()

virtual void shiftInTime ( float  delta)
inlineoverridevirtualinherited

Shift the SimHit in time.

Parameters
deltaThe value of the time shift.

Reimplemented from SimHitBase.

Definition at line 82 of file VXDSimHit.h.

82{ m_globalTime += delta; }

Member Data Documentation

◆ m_backgroundTag

unsigned short m_backgroundTag
privateinherited

Background tag.

Definition at line 68 of file SimHitBase.h.

◆ 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_electronProfile

std::vector<unsigned int> m_electronProfile
privateinherited

Energy depsoition profile encoded using the ElectronDeposit class.

Definition at line 125 of file VXDSimHit.h.

◆ m_globalTime

float m_globalTime
privateinherited

Time of electron deposition.

Definition at line 129 of file VXDSimHit.h.

◆ m_pdg

int m_pdg
privateinherited

PDG Code of the particle producing the Hit.

Definition at line 127 of file VXDSimHit.h.

◆ m_posIn

float m_posIn[3]
privateinherited

Start point of electron deposition in local coordinates.

Definition at line 131 of file VXDSimHit.h.

◆ m_posOut

float m_posOut[3]
privateinherited

End point of electron deposition in local coordinates.

Definition at line 133 of file VXDSimHit.h.

◆ m_sensorID

unsigned short m_sensorID
privateinherited

ID of the sensor the electron was deposited in.

Definition at line 135 of file VXDSimHit.h.


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