CbmRoot
|
Class representing an element of the STS setup. More...
#include <CbmStsElement.h>
Public Member Functions | |
CbmStsElement () | |
CbmStsElement (Int_t address, Int_t level, TGeoPhysicalNode *node=nullptr, CbmStsElement *mother=nullptr) | |
virtual | ~CbmStsElement () |
Int_t | GetAddress () const |
CbmStsElement * | GetDaughter (Int_t index) const |
Int_t | GetIndex () const |
EStsElementLevel | GetLevel () const |
CbmStsElement * | GetMother () const |
Int_t | GetNofDaughters () const |
Int_t | GetNofElements (Int_t level) const |
TGeoPhysicalNode * | GetPnode () const |
virtual void | InitDaughters () |
void | SetMother (CbmStsElement *mother) |
virtual void | Print (Option_t *opt="") const |
Static Public Member Functions | |
static TString | ConstructName (Int_t address, EStsElementLevel level) |
Protected Member Functions | |
void | ConstructName () |
void | SetLevel (Int_t level) |
Protected Attributes | |
Int_t | fAddress |
Unique element address. | |
EStsElementLevel | fLevel |
Level in hierarchy. | |
TGeoPhysicalNode * | fNode |
Pointer to geometry. | |
std::vector< CbmStsElement * > | fDaughters |
Array of daughters. | |
CbmStsElement * | fMother |
Mother element. | |
Private Member Functions | |
CbmStsElement (const CbmStsElement &)=delete | |
CbmStsElement & | operator= (const CbmStsElement &)=delete |
ClassDef (CbmStsElement, 2) | |
Class representing an element of the STS setup.
A CbmStsElement represents an element in the STS setup hierarchy (e.g., station, ladder, module,...). It has a unique address, a level (enum CbmStsElementLevel), a pointer to a TGeoPhysicalNode and an array of daughter elements. It is thus an alignable object.
Definition at line 35 of file CbmStsElement.h.
CbmStsElement::CbmStsElement | ( | ) |
CbmStsElement::CbmStsElement | ( | Int_t | address, |
Int_t | level, | ||
TGeoPhysicalNode * | node = nullptr, | ||
CbmStsElement * | mother = nullptr ) |
Standard constructor
address | Unique element address |
level | Element level |
node | Pointer to geometry node |
mother | Pointer to mother element |
Definition at line 43 of file CbmStsElement.cxx.
References ConstructName(), fLevel, and SetLevel().
|
inlinevirtual |
Destructor
Definition at line 52 of file CbmStsElement.h.
|
privatedelete |
|
private |
|
protected |
Construct the name of the element
Definition at line 58 of file CbmStsElement.cxx.
References fAddress, fMother, CbmStsAddress::GetElementId(), GetLevel(), kStsHalfLadder, kStsLadder, kStsModule, kStsSensor, kStsSystem, and kStsUnit.
Referenced by CbmStsElement(), and CbmStsSensor::SetAddress().
|
static |
Construct the element name from the address (static)
address | Unique element address |
level | Element level (unit, ladder, etc.) |
Definition at line 95 of file CbmStsElement.cxx.
References CbmStsAddress::GetElementId(), kStsHalfLadder, kStsLadder, kStsModule, kStsSensor, and kStsUnit.
|
inline |
Get unique address
Definition at line 65 of file CbmStsElement.h.
References fAddress.
Referenced by CbmStsRecoModule::AddDigiToQueue(), CbmRecoSts::CreateModules(), CbmTaskStsHitFinderParWrite::CreateModules(), CbmStsSimModule::Digitize(), CbmStsRecoModule::FindClusters(), CbmStsRecoModule::FindHits(), CbmStsSimSensor::GetSensorId(), CbmStsDigitizeQa::Init(), CbmStsSetup::Init(), CbmStsMC::Initialize(), CbmStsDigitize::InitModules(), CbmStsDigitize::InitParams(), CbmStsDigitizePixel::InitParams(), and CbmStsDigitize::InitSensors().
CbmStsElement * CbmStsElement::GetDaughter | ( | Int_t | index | ) | const |
Get a daughter element
index | Index of daughter element |
Definition at line 126 of file CbmStsElement.cxx.
References fDaughters, and GetNofDaughters().
Referenced by CbmStsStation::CheckSensorProperties(), CbmRecoSts::CreateModules(), CbmTaskStsHitFinderParWrite::CreateModules(), CbmStsSetup::CreateStations(), CbmStsDigitizeQa::Finish(), CbmStsSetup::GetElement(), GetNofElements(), CbmStsDigitizeQa::Init(), CbmStsRecoModule::Init(), CbmStsSetup::Init(), CbmStsMC::Initialize(), Print(), and CbmStsDigitizeQa::ProcessAngles().
|
inline |
Get the index within the mother element
Definition at line 77 of file CbmStsElement.h.
References fAddress, fLevel, and CbmStsAddress::GetElementId().
Referenced by CbmStsSetup::CreateStations().
|
inline |
Get the element level
Definition at line 83 of file CbmStsElement.h.
References fLevel.
Referenced by CbmStsStation::AddLadder(), and ConstructName().
|
inline |
Get the mother element
Definition at line 87 of file CbmStsElement.h.
References fMother.
Referenced by CbmStsDigitize::InitSensors().
|
inline |
Get number of daughter elements
Definition at line 93 of file CbmStsElement.h.
References fDaughters.
Referenced by CbmStsStation::CheckSensorProperties(), CbmRecoSts::CreateModules(), CbmTaskStsHitFinderParWrite::CreateModules(), CbmStsSetup::CreateStations(), CbmStsDigitizeQa::Finish(), GetDaughter(), GetNofElements(), CbmStsDigitizeQa::Init(), CbmStsRecoModule::Init(), CbmStsSetup::Init(), InitDaughters(), CbmStsModule::InitDaughters(), CbmStsMC::Initialize(), Print(), and CbmStsDigitizeQa::ProcessAngles().
Int_t CbmStsElement::GetNofElements | ( | Int_t | level | ) | const |
Get number of elements at given level
level | Element level (see enum EStsElementLevel) |
Definition at line 135 of file CbmStsElement.cxx.
References fLevel, GetDaughter(), GetNofDaughters(), and GetNofElements().
Referenced by GetNofElements(), and CbmStsSetup::Init().
|
inline |
Definition at line 104 of file CbmStsElement.h.
References fNode.
Referenced by CbmStsStation::CheckSensorProperties(), CbmRecoSts::CreateModules(), CbmTaskStsHitFinderParWrite::CreateModules(), CbmStsSetup::CreateStations(), CbmBbaAlignmentTask::Finish(), CbmStsSetup::GetStationNumber(), CbmStsRecoModule::Init(), CbmStsSimSensorDssdOrtho::Init(), CbmStsSimSensorDssdStereo::Init(), CbmStsMC::Initialize(), CbmStsDigitize::InitParams(), CbmStsDigitizePixel::InitParams(), CbmStsDigitize::InitSensors(), CbmStsSimSensor::ProcessPoint(), CbmStsSimSensorDssdOrtho::SetParameters(), CbmStsSimSensorDssdOrtho::ToString(), and CbmStsSimSensorDssdStereo::ToString().
|
virtual |
Initialise daughters from geometry
Reimplemented in CbmStsModule.
Definition at line 152 of file CbmStsElement.cxx.
References CbmStsElement(), fAddress, fDaughters, fLevel, fNode, CbmStsSetup::GetLevelName(), GetNofDaughters(), InitDaughters(), CbmStsSetup::Instance(), kStsHalfLadder, kStsSensor, and CbmStsAddress::SetElementId().
Referenced by InitDaughters(), CbmStsSetup::ReadGeometry(), and CbmStsSetup::ReadGeometry().
|
privatedelete |
|
virtual |
Definition at line 200 of file CbmStsElement.cxx.
References fAddress, fNode, GetDaughter(), GetNofDaughters(), and Print().
Referenced by CbmBbaAlignmentTask::Finish(), and Print().
|
protected |
Set the element level from integer Protection against being out of range.
level | Element level |
Definition at line 213 of file CbmStsElement.cxx.
References fLevel, kStsHalfLadder, kStsLadder, kStsModule, kStsSensor, kStsSystem, and kStsUnit.
Referenced by CbmStsElement().
|
inline |
Set the mother element
Pointer | to mother element |
Definition at line 114 of file CbmStsElement.h.
References fMother.
|
protected |
Unique element address.
Definition at line 122 of file CbmStsElement.h.
Referenced by ConstructName(), GetAddress(), CbmStsSetup::GetElement(), GetIndex(), CbmStsSensor::GetSensorId(), CbmStsSetup::Init(), InitDaughters(), CbmStsModule::InitDaughters(), Print(), CbmStsSensor::SetAddress(), CbmStsModule::ToString(), and CbmStsSensor::ToString().
|
protected |
Array of daughters.
Definition at line 125 of file CbmStsElement.h.
Referenced by GetDaughter(), GetNofDaughters(), InitDaughters(), and CbmStsModule::InitDaughters().
|
protected |
Level in hierarchy.
Definition at line 123 of file CbmStsElement.h.
Referenced by CbmStsElement(), GetIndex(), GetLevel(), GetNofElements(), InitDaughters(), and SetLevel().
|
protected |
Mother element.
Definition at line 126 of file CbmStsElement.h.
Referenced by ConstructName(), GetMother(), and SetMother().
|
protected |
Pointer to geometry.
Definition at line 124 of file CbmStsElement.h.
Referenced by CbmStsSensor::GetNode(), GetPnode(), InitDaughters(), CbmStsModule::InitDaughters(), Print(), CbmStsSetup::ReadGeometry(), CbmStsSetup::ReadGeometry(), and CbmStsSensor::SetNode().