20#ifndef CBMTRDGEOFACTORY_H_
21#define CBMTRDGEOFACTORY_H_
35class TGeoVolumeAssembly;
88 static map<const string, const TGeoMedium*>
fMaterial = {};
128 virtual InitStatus
Init();
130 virtual void Exec(Option_t*);
148 static constexpr double feb_pos[
Nfebs][2] = {{-18, -21.6}, {0, -21.6}, {18, -21.6}, {-18, -10.8}, {0, -10.8},
149 {18, -10.8}, {-18, 0.0}, {0, 0.0}, {18, 0.0}, {-18, +10.8},
150 {0, +10.8}, {18, +10.8}, {-18, +21.6}, {0, +21.6}, {18, +21.6}};
178 virtual void Exec(Option_t*) { ; }
201 virtual InitStatus
Init();
215 virtual InitStatus
Init();
237 virtual InitStatus
Init();
265 virtual InitStatus
Init();
269 TGeoTranslation*
tr =
nullptr;
297 virtual InitStatus
Init();
328 virtual InitStatus
Init();
334 static constexpr double ConnBRG_pos[2][2] = {{-8.4, 0}, {+8.4, 0}};
367 {54, 95}, {34, 10}, {16, 95}, {16, 10}, {16, 95}, {34, 10},
368 {16, 95}, {16, 10}, {16, 95}, {16, 95}, {16, 10}, {16, 95},
369 {34, 10}, {16, 95}, {16, 10}, {16, 95}, {34, 10}, {54, 95}};
371 100, 133, 100, 127, 100, 133, 100, 127, 100,
372 127, 100, 133, 100, 127, 100, 133, 100};
374 {0, -3.55}, {0, -1.55}, {0, 1.55}, {0, 3.55},
375 {+6, -3.55}, {+6, -1.55}, {+6, 1.55}, {+6, 3.55}};
376 const double FASP_pos[
FASPRO_Nfasp][2] = {{-6, -4.5}, {-6, -2.5}, {-6, +2.5}, {-6, +4.5}, {0, -4.5}, {0, -2.5},
377 {0, +2.5}, {0, +4.5}, {+6, -4.5}, {+6, -2.5}, {+6, +2.5}, {+6, +4.5}};
379 {-4.15, +3.35}, {1.85, +3.35}, {7.85, +3.35}};
382 const double ConnFC_pos[
FASPRO_Nfasp][2] = {{-6, -4.9}, {-6, -2.9}, {-6, 2.9}, {-6, 4.9}, {0, -4.9}, {0, -2.9},
383 {0, 2.9}, {0, 4.9}, {+6, -4.9}, {+6, -2.9}, {+6, 2.9}, {+6, 4.9}};
Inner class describing the geometry of the TRD AUXILIARY boards (FEE):
virtual InitStatus Init()
Init task.
Inner class describing the back panel of composed of.
virtual InitStatus Init()
Init task.
const double BKP_Frame_closure
Global width of the perimetral frame (including indentation)
BackPanel(const BackPanel &)
const double hc_holey
dimension of flat-cable hole x-dimension (along wires)
const double BKP_OutY_thickness
outside framing
const double BKP_OutY_correct
outside framing
const double hc_holex
area opearted by one FASP 6 x 2.7 cm2
const double pp_pcb_thickness
cu coverage of PP PCB
const double cu_pcb_thickness
dimension of flat-cable hole x-dimension (along wires)
const double hc_unity
area opearted by one FASP 6 x 2.7 cm2
const double BKP_OutX_thickness
Perimetral frame indentation.
const double pp_pads_thickness
const double hc_unitx
Honneycomb backpanel support thickness.
const double hc_thickness
PP support PCB thickness.
const double BKP_Frame_width
Electric shield Cu covarage thickness.
const double cu_thickness
Electric shield PCB support thickness.
static const char * fgName[(int) eGeoPart::kNparts]
Component(const char *name)
Constructor of the TRD chamber component. It links the chamber class.
virtual void Finish()
Finish task.
virtual InitStatus Init()=0
Init task.
friend class ChamberBuilder
Component(const Component &)
the geo volume itself
virtual double GetCenter() const
virtual double GetHeight() const
virtual void Exec(Option_t *)
Executed task.
Inner class describing the geometry of the TRD Front End Electronics (FEE):
const double FPGA_pos[FASPRO_Nfpga][2]
static constexpr double ConnBRG_y
const double FASPRO_ly_cu[FASPRO_Nly][2]
static constexpr double FASPRO_width
length of FASP FEBs in cm
const double FASPRO_hole_y
static constexpr double FASPRO_length
gap size between boards
static const int FASPRO_Nadc
virtual InitStatus Init()
Init task.
const double FASPRO_hole_x
const double DCDC_pos[FASPRO_Ndcdc][2]
static constexpr double ConnBRG_z
static constexpr double ConnBRG_x
static const int FASPRO_Ndcdc
static const int FASPRO_Nly
FEB(const FEB &)
width of FASP FEBs in cm
const double ConnFC_pos[FASPRO_Nfasp][2]
const double FASPRO_ly_pcb[FASPRO_Nly - 1]
static constexpr double ConnBRG_pos[2][2]
const double FASP_pos[FASPRO_Nfasp][2]
const double ADC_pos[FASPRO_Nadc][2]
static const int FASPRO_Nfasp
const double HOLE_pos[FASPRO_Nfasp][2]
static constexpr double FASPRO_zspace
static const int FASPRO_Nfpga
const double radiator_thickness
Radiator(const Radiator &)
virtual InitStatus Init()
Init task.
Inner class describing a :
const double anode_width
cathode
virtual InitStatus Init()
Init task.
const double ledge_thickness
closure to pad-plane dimension
const double gas_thickness
extra volume of gas parallel to wires
const double WIN_OutX_thickness
distance from anode to PP
const double WIN_OutY_thickness
outside framing
const double cathode_width
ledge thickness supporting A/K wires
const double dist_width
anode
const double ridge_height
active volume thickness
const double WIN_FrameX_thickness
9mm HC structure
const double WIN_OutY_thickness
outside framing at win 3.5x9 mm2
const double WIN_FrameY_thickness
entrance window framing 5x9 mm2
const double winIn_C_thickness
Window()
Constructor of entrance window for the TRD chamber.
const double WIN_OutX_thickness
entrance window framing 5x9 mm2
const double winIn_HC_thickness
100um C foil + 25um KaptonAl
virtual InitStatus Init()
Init task.
void SetRadiator(bool rad=true)
array< Component *,(int) eGeoPart::kNparts > fComponent
chamber type [1, 3, 5, 7]
ChamberBuilder(int typ=1)
Constructor for the chamber. Adds all elements according to config.
short fChmbTyp
bit map of the setter flags
virtual void Exec(Option_t *)
Executed task.
static constexpr double feb_pos[Nfebs][2]
static const int Nfebs
list of chamber component builders
@ kFEB
include FEB in chamber geometry
ChamberBuilder operator=(const ChamberBuilder &)
void SetFEB(bool feb=true)
virtual InitStatus Init()
Init task.
ChamberBuilder(const ChamberBuilder &)
virtual void Finish()
Finish task.
TGeoVolume * GetModule() const
const TGeoMedium * GetMaterial(const char *mname)
material mapping (name, value)
bool ReadModuleInfo(const char *modTxt, info_t &info)
Identify information related to the module encrypted in the geoManager path. Based on legacy function...
bool ReadFebInfo(const char *febTxt, info_t &info)
Identify information related to one FEB encrypted in the geoManager path.
int WriteFebInfo(info_t *info)
Put up information related to the FEB and store it in the geoManager path.
int WriteModuleInfo(info_t *info)
Put up information related to the module and store it in the geoManager path. Based on legacy version...
static double activeAreaY
static map< const string, const TGeoMedium * > fMaterial
active area
static double activeAreaX
total area
static constexpr FEB faspFeb[2]
Information to be storred in the geoManager path. Based on legacy class CbmTrdGeoHandler.
int type
global (wrt setup) id of element
int superType
version of element wrt superType family
int superId
local (wrt installation) id of element
int rotation
global type wrt TRD design