CbmRoot
Loading...
Searching...
No Matches
cbm::trd::geo::ChamberBuilder Class Reference

Generic Chamber builder. More...

#include <CbmTrdGeoFactory.h>

Inheritance diagram for cbm::trd::geo::ChamberBuilder:
[legend]
Collaboration diagram for cbm::trd::geo::ChamberBuilder:
[legend]

Classes

class  BackPanel
 Inner class describing the back panel of composed of. More...
 
class  Component
 Generic sub-component. More...
 
class  FEB
 Inner class describing the geometry of the TRD Front End Electronics (FEE): More...
 
class  Radiator
 
class  Volume
 Inner class describing a : More...
 
class  Window
 

Public Types

enum class  eGeoPart : int {
  kRadiator = 0 , kWindow , kVolume , kBackPanel ,
  kFEB , kNparts
}
 
enum  eConfig { kRadiator = 8 , kFEB }
 

Public Member Functions

 ChamberBuilder (int typ=1)
 Constructor for the chamber. Adds all elements according to config.

 
TGeoVolume * GetModule () const
 
bool HasFEB () const
 
bool HasRadiator () const
 
virtual InitStatus Init ()
 Init task.
 
virtual void Exec (Option_t *)
 Executed task.
 
virtual void Finish ()
 Finish task.
 
void SetFEB (bool feb=true)
 
void SetRadiator (bool rad=true)
 

Private Member Functions

 ChamberBuilder (const ChamberBuilder &)
 
ChamberBuilder operator= (const ChamberBuilder &)
 

Private Attributes

short fConfig = 0
 
short fChmbTyp = 1
 bit map of the setter flags
 
array< Component *,(int) eGeoPart::kNpartsfComponent = {}
 chamber type [1, 3, 5, 7]
 
const double feb_pos [Nfebs][2]
 
TGeoVolume * fVol = nullptr
 

Static Private Attributes

static const int Nfebs = faspFeb[1].nmax
 list of chamber component builders
 

Detailed Description

Generic Chamber builder.

Definition at line 94 of file CbmTrdGeoFactory.h.

Member Enumeration Documentation

◆ eConfig

Enumerator
kRadiator 
kFEB 

include FEB in chamber geometry

Definition at line 105 of file CbmTrdGeoFactory.h.

◆ eGeoPart

enum class cbm::trd::geo::ChamberBuilder::eGeoPart : int
strong
Enumerator
kRadiator 
kWindow 
kVolume 
kBackPanel 
kFEB 
kNparts 

Definition at line 96 of file CbmTrdGeoFactory.h.

Constructor & Destructor Documentation

◆ ChamberBuilder() [1/2]

ChamberBuilder::ChamberBuilder ( int typ = 1)

Constructor for the chamber. Adds all elements according to config.

Parameters
[in]typTRD chamber type [1, 3, 5, 7].

Definition at line 152 of file CbmTrdGeoFactory.cxx.

References fChmbTyp, fComponent, cbm::trd::geo::fMaterial, kBackPanel, kFEB, kRadiator, kVolume, and kWindow.

◆ ChamberBuilder() [2/2]

cbm::trd::geo::ChamberBuilder::ChamberBuilder ( const ChamberBuilder & )
private

Member Function Documentation

◆ Exec()

◆ Finish()

virtual void cbm::trd::geo::ChamberBuilder::Finish ( )
inlinevirtual

Finish task.

Definition at line 130 of file CbmTrdGeoFactory.h.

◆ GetModule()

TGeoVolume * cbm::trd::geo::ChamberBuilder::GetModule ( ) const
inline

Definition at line 122 of file CbmTrdGeoFactory.h.

References fVol.

◆ HasFEB()

bool cbm::trd::geo::ChamberBuilder::HasFEB ( ) const
inline

Definition at line 123 of file CbmTrdGeoFactory.h.

References fConfig, kFEB, and TESTBIT.

Referenced by Init().

◆ HasRadiator()

bool cbm::trd::geo::ChamberBuilder::HasRadiator ( ) const
inline

Definition at line 124 of file CbmTrdGeoFactory.h.

References fConfig, kRadiator, and TESTBIT.

Referenced by Init().

◆ Init()

◆ operator=()

ChamberBuilder cbm::trd::geo::ChamberBuilder::operator= ( const ChamberBuilder & )
private

◆ SetFEB()

void cbm::trd::geo::ChamberBuilder::SetFEB ( bool feb = true)
inline

Definition at line 132 of file CbmTrdGeoFactory.h.

References CLRBIT, fConfig, kFEB, and SETBIT.

◆ SetRadiator()

void cbm::trd::geo::ChamberBuilder::SetRadiator ( bool rad = true)
inline

Definition at line 133 of file CbmTrdGeoFactory.h.

References CLRBIT, fConfig, kRadiator, and SETBIT.

Member Data Documentation

◆ fChmbTyp

short cbm::trd::geo::ChamberBuilder::fChmbTyp = 1
private

bit map of the setter flags

Definition at line 143 of file CbmTrdGeoFactory.h.

Referenced by ChamberBuilder(), Exec(), and Init().

◆ fComponent

array<Component*, (int) eGeoPart::kNparts> cbm::trd::geo::ChamberBuilder::fComponent = {}
private

chamber type [1, 3, 5, 7]

Definition at line 144 of file CbmTrdGeoFactory.h.

Referenced by ChamberBuilder(), Exec(), and Init().

◆ fConfig

short cbm::trd::geo::ChamberBuilder::fConfig = 0
private

Definition at line 142 of file CbmTrdGeoFactory.h.

Referenced by HasFEB(), HasRadiator(), Init(), SetFEB(), and SetRadiator().

◆ feb_pos

const double cbm::trd::geo::ChamberBuilder::feb_pos[Nfebs][2]
private
Initial value:
= {{-18, -21.6}, {0, -21.6}, {18, -21.6}, {-18, -10.8}, {0, -10.8},
{18, -10.8}, {-18, 0.0}, {0, 0.0}, {18, 0.0}, {-18, +10.8},
{0, +10.8}, {18, +10.8}, {-18, +21.6}, {0, +21.6}, {18, +21.6}}

Definition at line 146 of file CbmTrdGeoFactory.h.

Referenced by Exec().

◆ fVol

◆ Nfebs

const int cbm::trd::geo::ChamberBuilder::Nfebs = faspFeb[1].nmax
staticprivate

list of chamber component builders

Definition at line 145 of file CbmTrdGeoFactory.h.

Referenced by Exec().


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