BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmStsElement Class Reference

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

#include <CbmStsElement.h>

Inheritance diagram for CbmStsElement:
Collaboration diagram for CbmStsElement:

Public Member Functions

 CbmStsElement ()
 Default constructor.
 CbmStsElement (const char *name, const char *title, Int_t level, TGeoPhysicalNode *node=NULL)
 Standard constructor.
virtual ~CbmStsElement ()
 Destructor.
virtual void AddDaughter (CbmStsElement *element)
 Add a daughter element The daughter must be one element level higher than the mother.
UInt_t GetAddress () const
 Get unique address.
CbmStsElement * GetDaughter (Int_t index) const
 Get a daughter element.
Int_t GetIndex () const
 Get the index within the mother element.
StsElementLevel GetLevel () const
 Get the element level.
Int_t GetNofDaughters () const
 Get number of daughter elements.
void InitDaughters ()
 Initialise daughters from geometry.
virtual void Print (Option_t *opt="") const
 Print.
Public Member Functions inherited from TNamed
 TNamed ()
 TNamed (const char *name, const char *title)
 TNamed (const TNamed &named)
 TNamed (const TString &name, const TString &title)
virtual ~TNamed ()
void Clear (Option_t *option="") override
TObject * Clone (const char *newname="") const override
Int_t Compare (const TObject *obj) const override
void Copy (TObject &named) const override
virtual void FillBuffer (char *&buffer)
const char * GetName () const override
const char * GetTitle () const override
ULong_t Hash () const override
TClass * IsA () const override
Bool_t IsSortable () const override
void ls (Option_t *option="") const override
TNamed & operator= (const TNamed &rhs)
void Print (Option_t *option="") const override
virtual void SetName (const char *name)
virtual void SetNameTitle (const char *name, const char *title)
virtual void SetTitle (const char *title="")
virtual Int_t Sizeof () const
void Streamer (TBuffer &) override
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
Public Member Functions inherited from TObject
 TObject ()
 TObject (const TObject &object)
virtual ~TObject ()
void AbstractMethod (const char *method) const
virtual void AppendPad (Option_t *option="")
virtual void Browse (TBrowser *b)
ULong_t CheckedHash ()
virtual const char * ClassName () const
virtual void Delete (Option_t *option="")
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
virtual void Draw (Option_t *option="")
virtual void DrawClass () const
virtual TObject * DrawClone (Option_t *option="") const
virtual void Dump () const
virtual void Error (const char *method, const char *msgfmt,...) const
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
virtual void Fatal (const char *method, const char *msgfmt,...) const
virtual TObject * FindObject (const char *name) const
virtual TObject * FindObject (const TObject *obj) const
virtual Option_t * GetDrawOption () const
virtual const char * GetIconName () const
virtual char * GetObjectInfo (Int_t px, Int_t py) const
virtual Option_t * GetOption () const
virtual UInt_t GetUniqueID () const
virtual Bool_t HandleTimer (TTimer *timer)
Bool_t HasInconsistentHash () const
virtual void Info (const char *method, const char *msgfmt,...) const
virtual Bool_t InheritsFrom (const char *classname) const
virtual Bool_t InheritsFrom (const TClass *cl) const
virtual void Inspect () const
void InvertBit (UInt_t f)
Bool_t IsDestructed () const
virtual Bool_t IsEqual (const TObject *obj) const
virtual Bool_t IsFolder () const
R__ALWAYS_INLINE Bool_t IsOnHeap () const
R__ALWAYS_INLINE Bool_t IsZombie () const
void MayNotUse (const char *method) const
virtual Bool_t Notify ()
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
void operator delete (void *ptr)
void operator delete (void *ptr, void *vp)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, void *vp)
void * operator new (size_t sz)
void * operator new (size_t sz, void *vp)
void * operator new[] (size_t sz)
void * operator new[] (size_t sz, void *vp)
TObject & operator= (const TObject &rhs)
virtual void Paint (Option_t *option="")
virtual void Pop ()
virtual Int_t Read (const char *name)
virtual void RecursiveRemove (TObject *obj)
void ResetBit (UInt_t f)
virtual void SaveAs (const char *filename="", Option_t *option="") const
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
void SetBit (UInt_t f)
void SetBit (UInt_t f, Bool_t set)
virtual void SetDrawOption (Option_t *option="")
virtual void SetUniqueID (UInt_t uid)
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual void SysError (const char *method, const char *msgfmt,...) const
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
virtual void UseCurrentStyle ()
virtual void Warning (const char *method, const char *msgfmt,...) const
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const

Protected Member Functions

void SetLevel (Int_t level)
 Set the element level from integer Protection against being out of range.
 CbmStsElement (const CbmStsElement &)
CbmStsElement & operator= (const CbmStsElement &)
Protected Member Functions inherited from TNamed
void SavePrimitiveNameTitle (std::ostream &out, const char *variable_name)
Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
void MakeZombie ()

Protected Attributes

UInt_t fAddress
 Unique address.
StsElementLevel fLevel
 Level in hierarchy.
TGeoPhysicalNode * fNode
 Pointer to geometry.
vector< CbmStsElement * > fDaughters
 Array of daughters.
Protected Attributes inherited from TNamed
TString fName
TString fTitle
Protected Attributes inherited from TObject
 kOnlyPrepStep

Additional Inherited Members

Public Types inherited from TObject
enum  EDeprecatedStatusBits
enum  EStatusBits
Static Public Member Functions inherited from TNamed
static TClass * Class ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
Static Public Member Functions inherited from TObject
static TClass * Class ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
static Longptr_t GetDtorOnly ()
static Bool_t GetObjectStat ()
static void SetDtorOnly (void *obj)
static void SetObjectStat (Bool_t stat)
Public Attributes inherited from TObject
 kIsOnHeap
 kNotDeleted
 kZombie
 kInconsistent
 kBitMask
 kSingleKey
 kOverwrite
 kWriteDelete
 kObjInCanvas
 kCanDelete
 kMustCleanup
 kIsReferenced
 kHasUUID
 kCannotPick
 kNoContextMenu
 kInvalidObject
Static Protected Member Functions inherited from TObject
static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Bool_t empty_line=kFALSE)

Detailed Description

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

Constructor & Destructor Documentation

◆ CbmStsElement() [1/3]

CbmStsElement::CbmStsElement ( )

Definition at line 13 of file CbmStsElement.cxx.

References TNamed::TNamed(), fAddress, fDaughters, fLevel, fNode, and kStsNofLevels.

Referenced by CbmStsElement(), CbmStsModule::CbmStsModule(), CbmStsModule::CbmStsModule(), CbmStsSetup::CbmStsSetup(), AddDaughter(), GetDaughter(), InitDaughters(), and operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CbmStsElement() [2/3]

CbmStsElement::CbmStsElement ( const char * name,
const char * title,
Int_t level,
TGeoPhysicalNode * node = NULL )
Parameters
nameElement name
titleLevel name
levelElement level
nodePointer to physical node in geometry

Definition at line 23 of file CbmStsElement.cxx.

References TNamed::TNamed(), fAddress, fDaughters, fLevel, fNode, kStsSystem, and SetLevel().

Here is the call graph for this function:

◆ ~CbmStsElement()

virtual CbmStsElement::~CbmStsElement ( )
inlinevirtual

Definition at line 45 of file CbmStsElement.h.

◆ CbmStsElement() [3/3]

CbmStsElement::CbmStsElement ( const CbmStsElement & )
protected

References CbmStsElement().

Here is the call graph for this function:

Member Function Documentation

◆ AddDaughter()

void CbmStsElement::AddDaughter ( CbmStsElement * element)
virtual
Parameters
elementPointer to element to be added as daughter.

Definition at line 35 of file CbmStsElement.cxx.

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

Referenced by InitDaughters().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAddress()

UInt_t CbmStsElement::GetAddress ( ) const
inline
Returns
Element address

Definition at line 56 of file CbmStsElement.h.

References fAddress.

◆ GetDaughter()

CbmStsElement * CbmStsElement::GetDaughter ( Int_t index) const
Parameters
indexIndex of daughter element

Definition at line 50 of file CbmStsElement.cxx.

References CbmStsElement(), fDaughters, and GetNofDaughters().

Here is the call graph for this function:

◆ GetIndex()

Int_t CbmStsElement::GetIndex ( ) const
inline
Returns
Index of element in mother

Definition at line 66 of file CbmStsElement.h.

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

Referenced by Print().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLevel()

StsElementLevel CbmStsElement::GetLevel ( ) const
inline
Returns
Element level (type enum StsElementLevel)

Definition at line 71 of file CbmStsElement.h.

References fLevel.

Referenced by AddDaughter().

Here is the caller graph for this function:

◆ GetNofDaughters()

Int_t CbmStsElement::GetNofDaughters ( ) const
inline
Returns
Number of daughters

Definition at line 76 of file CbmStsElement.h.

References fDaughters.

Referenced by AddDaughter(), and GetDaughter().

Here is the caller graph for this function:

◆ InitDaughters()

void CbmStsElement::InitDaughters ( )

Definition at line 59 of file CbmStsElement.cxx.

References CbmStsElement(), AddDaughter(), TString::Contains(), TString::Data(), fLevel, TNamed::fName, fNode, TGeoNode::GetDaughter(), CbmStsSetup::GetLevelName(), TNamed::GetName(), TGeoNode::GetNdaughters(), InitDaughters(), TString::kIgnoreCase, and kStsSensor.

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

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

References CbmStsElement().

Here is the call graph for this function:

◆ Print()

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

Reimplemented from TObject.

Definition at line 106 of file CbmStsElement.cxx.

References fAddress, fLevel, TNamed::fName, TNamed::fTitle, and GetIndex().

Here is the call graph for this function:

◆ SetLevel()

void CbmStsElement::SetLevel ( Int_t level)
protected
Parameters
levelElement level

Definition at line 114 of file CbmStsElement.cxx.

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

Referenced by CbmStsElement().

Here is the caller graph for this function:

Member Data Documentation

◆ fAddress

UInt_t CbmStsElement::fAddress
protected

◆ fDaughters

vector<CbmStsElement*> CbmStsElement::fDaughters
protected

◆ fLevel

StsElementLevel CbmStsElement::fLevel
protected

◆ fNode

TGeoPhysicalNode* CbmStsElement::fNode
protected

Definition at line 87 of file CbmStsElement.h.

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


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