BmnRoot
Loading...
Searching...
No Matches
CbmStsElement Class Reference

Class representing an element of the STS setup. More...

#include <CbmStsElement.h>

Inheritance diagram for CbmStsElement:
[legend]
Collaboration diagram for CbmStsElement:
[legend]

Public Member Functions

 CbmStsElement ()
 
 CbmStsElement (const char *name, const char *title, Int_t level, TGeoPhysicalNode *node=NULL)
 
virtual ~CbmStsElement ()
 
virtual void AddDaughter (CbmStsElement *element)
 
UInt_t GetAddress () const
 
CbmStsElementGetDaughter (Int_t index) const
 
Int_t GetIndex () const
 
StsElementLevel GetLevel () const
 
Int_t GetNofDaughters () const
 
void InitDaughters ()
 
virtual void Print (Option_t *opt="") const
 

Protected Member Functions

void SetLevel (Int_t level)
 
 CbmStsElement (const CbmStsElement &)
 
CbmStsElementoperator= (const CbmStsElement &)
 
 ClassDef (CbmStsElement, 1)
 

Protected Attributes

UInt_t fAddress
 Unique address.
 
StsElementLevel fLevel
 Level in hierarchy.
 
TGeoPhysicalNode * fNode
 Pointer to geometry.
 
vector< CbmStsElement * > fDaughters
 Array of daughters.
 

Detailed Description

Class representing an element of the STS setup.

Author
V.Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Version
1.0

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 31 of file CbmStsElement.h.

Constructor & Destructor Documentation

◆ CbmStsElement() [1/3]

CbmStsElement::CbmStsElement ( )

Default constructor

Definition at line 15 of file CbmStsElement.cxx.

Referenced by InitDaughters().

◆ CbmStsElement() [2/3]

CbmStsElement::CbmStsElement ( const char *  name,
const char *  title,
Int_t  level,
TGeoPhysicalNode *  node = NULL 
)

Standard constructor

Parameters
nameElement name
titleLevel name
levelElement level
nodePointer to physical node in geometry

Definition at line 27 of file CbmStsElement.cxx.

References SetLevel().

◆ ~CbmStsElement()

virtual CbmStsElement::~CbmStsElement ( )
inlinevirtual

Destructor

Definition at line 51 of file CbmStsElement.h.

◆ CbmStsElement() [3/3]

CbmStsElement::CbmStsElement ( const CbmStsElement )
protected

Member Function Documentation

◆ AddDaughter()

void CbmStsElement::AddDaughter ( CbmStsElement element)
virtual

Add a daughter element The daughter must be one element level higher than the mother.

Parameters
elementPointer to element to be added as daughter.

Definition at line 43 of file CbmStsElement.cxx.

References fAddress, fDaughters, fLevel, GetLevel(), GetNofDaughters(), and CbmStsAddress::SetElementId().

Referenced by InitDaughters().

◆ ClassDef()

CbmStsElement::ClassDef ( CbmStsElement  ,
 
)
protected

◆ GetAddress()

UInt_t CbmStsElement::GetAddress ( ) const
inline

Get unique address

Returns
Element address

Definition at line 64 of file CbmStsElement.h.

References fAddress.

◆ GetDaughter()

CbmStsElement * CbmStsElement::GetDaughter ( Int_t  index) const

Get a daughter element

Parameters
indexIndex of daughter element

Definition at line 62 of file CbmStsElement.cxx.

References fDaughters, and GetNofDaughters().

Referenced by CbmStsDigitizeQa::CreateDigiHistograms(), InitDaughters(), CbmStsDigitizeQa::ProcessAngles(), and CbmStsDigitizeQa::ProcessDigisAndPoints().

◆ GetIndex()

Int_t CbmStsElement::GetIndex ( ) const
inline

Get the index within the mother element

Returns
Index of element in mother

Definition at line 76 of file CbmStsElement.h.

References fAddress, fLevel, and CbmStsAddress::GetElementId().

Referenced by Print().

◆ GetLevel()

StsElementLevel CbmStsElement::GetLevel ( ) const
inline

Get the element level

Returns
Element level (type enum StsElementLevel)

Definition at line 84 of file CbmStsElement.h.

References fLevel.

Referenced by AddDaughter().

◆ GetNofDaughters()

Int_t CbmStsElement::GetNofDaughters ( ) const
inline

Get number of daughter elements

Returns
Number of daughters

Definition at line 90 of file CbmStsElement.h.

References fDaughters.

Referenced by AddDaughter(), and GetDaughter().

◆ InitDaughters()

void CbmStsElement::InitDaughters ( )

Initialise daughters from geometry

Definition at line 71 of file CbmStsElement.cxx.

References AddDaughter(), CbmStsElement(), fLevel, fNode, GetDaughter(), CbmStsSetup::GetLevelName(), InitDaughters(), and kStsSensor.

Referenced by CbmStsSetup::Init(), and InitDaughters().

◆ operator=()

CbmStsElement & CbmStsElement::operator= ( const CbmStsElement )
protected

◆ Print()

void CbmStsElement::Print ( Option_t *  opt = "") const
virtual

Print

Definition at line 122 of file CbmStsElement.cxx.

References fAddress, fLevel, and GetIndex().

◆ SetLevel()

void CbmStsElement::SetLevel ( Int_t  level)
protected

Set the element level from integer Protection against being out of range.

Parameters
levelElement level

Definition at line 131 of file CbmStsElement.cxx.

References fLevel, kStsHalfLadder, kStsLadder, kStsModule, kStsNofLevels, kStsSensor, kStsStation, and kStsSystem.

Referenced by CbmStsElement().

Member Data Documentation

◆ fAddress

UInt_t CbmStsElement::fAddress
protected

Unique address.

Definition at line 106 of file CbmStsElement.h.

Referenced by AddDaughter(), CbmStsModule::AddSensor(), GetAddress(), GetIndex(), and Print().

◆ fDaughters

vector<CbmStsElement*> CbmStsElement::fDaughters
protected

Array of daughters.

Definition at line 109 of file CbmStsElement.h.

Referenced by AddDaughter(), CbmStsModule::AddSensor(), GetDaughter(), and GetNofDaughters().

◆ fLevel

StsElementLevel CbmStsElement::fLevel
protected

Level in hierarchy.

Definition at line 107 of file CbmStsElement.h.

Referenced by AddDaughter(), GetIndex(), GetLevel(), InitDaughters(), Print(), and SetLevel().

◆ fNode

TGeoPhysicalNode* CbmStsElement::fNode
protected

Pointer to geometry.

Definition at line 108 of file CbmStsElement.h.

Referenced by CbmStsSetup::Init(), and InitDaughters().


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