7#include "TGeoManager.h"
8#include "TGeoPhysicalNode.h"
29 TGeoPhysicalNode* node) :
44 if ( ! element )
return;
46 LOG(error) << fName <<
": Trying to add an element of level "
47 << element->
GetLevel() <<
" as daughter of level "
48 <<
fLevel <<
"! Command will be ignored.";
75 if ( ! gGeoManager ) {
76 LOG(error) << fName <<
": cannot initialise without TGeoManager!";
85 LOG(error) << fName <<
": physical node is not set!";
89 TGeoNode* mNode =
fNode->GetNode();
90 TString mPath =
fNode->GetName();
91 for (Int_t iNode = 0; iNode < mNode->GetNdaughters(); iNode++) {
94 TString dName = mNode->
GetDaughter(iNode)->GetName();
96 TString::kIgnoreCase ) ) {
99 const char* name =
"";
101 TString dPath = mPath +
"/" + dName;
102 TGeoPhysicalNode* pnNode =
new TGeoPhysicalNode(dPath.Data());
123 LOG(info) << fName <<
": " << fTitle <<
", address " <<
fAddress
139 default: LOG(error) << fName <<
": trying to set the level to "
140 << level <<
" while max. level is "
@ kStsSystem
System = STS.
@ kStsNofLevels
Number of STS levels.
@ kStsHalfLadder
Halfladder.
static UInt_t SetElementId(UInt_t address, Int_t level, Int_t newId)
Class representing an element of the STS setup.
void SetLevel(Int_t level)
virtual void AddDaughter(CbmStsElement *element)
StsElementLevel GetLevel() const
UInt_t fAddress
Unique address.
StsElementLevel fLevel
Level in hierarchy.
vector< CbmStsElement * > fDaughters
Array of daughters.
TGeoPhysicalNode * fNode
Pointer to geometry.
virtual void Print(Option_t *opt="") const
Int_t GetNofDaughters() const
CbmStsElement * GetDaughter(Int_t index) const
static const char * GetLevelName(Int_t level)