20#ifndef CBMTRDGEOFACTORY_H_
21#define CBMTRDGEOFACTORY_H_
35class TGeoVolumeAssembly;
88 static map<const string, const TGeoMedium*>
fMaterial = {};
126 virtual InitStatus
Init();
128 virtual void Exec(Option_t*);
146 const double feb_pos[
Nfebs][2] = {{-18, -21.6}, {0, -21.6}, {18, -21.6}, {-18, -10.8}, {0, -10.8},
147 {18, -10.8}, {-18, 0.0}, {0, 0.0}, {18, 0.0}, {-18, +10.8},
148 {0, +10.8}, {18, +10.8}, {-18, +21.6}, {0, +21.6}, {18, +21.6}};
176 virtual void Exec(Option_t*) { ; }
199 virtual InitStatus
Init();
213 virtual InitStatus
Init();
235 virtual InitStatus
Init();
263 virtual InitStatus
Init();
267 TGeoTranslation*
tr =
nullptr;
295 virtual InitStatus
Init();
330 {54, 95}, {34, 10}, {16, 95}, {16, 10}, {16, 95}, {34, 10},
331 {16, 95}, {16, 10}, {16, 95}, {16, 95}, {16, 10}, {16, 95},
332 {34, 10}, {16, 95}, {16, 10}, {16, 95}, {34, 10}, {54, 95}};
334 100, 133, 100, 127, 100, 133, 100, 127, 100,
335 127, 100, 133, 100, 127, 100, 133, 100};
337 {0, -3.55}, {0, -1.55}, {0, 1.55}, {0, 3.55},
338 {+6, -3.55}, {+6, -1.55}, {+6, 1.55}, {+6, 3.55}};
339 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},
340 {0, +2.5}, {0, +4.5}, {+6, -4.5}, {+6, -2.5}, {+6, +2.5}, {+6, +4.5}};
342 {-4.15, +3.35}, {1.85, +3.35}, {7.85, +3.35}};
345 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},
346 {0, 2.9}, {0, 4.9}, {+6, -4.9}, {+6, -2.9}, {+6, 2.9}, {+6, 4.9}};
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.
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 ConnBRG_pos[2][2]
const double FPGA_pos[FASPRO_Nfpga][2]
const double FASPRO_length
gap size between boards
const double FASPRO_ly_cu[FASPRO_Nly][2]
const double FASPRO_hole_y
const double FASPRO_width
length of FASP FEBs in cm
static const int FASPRO_Nadc
virtual InitStatus Init()
Init task.
const double FASPRO_hole_x
width of FASP FEBs in cm
const double DCDC_pos[FASPRO_Ndcdc][2]
static const int FASPRO_Ndcdc
static const int FASPRO_Nly
const double ConnFC_pos[FASPRO_Nfasp][2]
const double FASPRO_zspace
const double FASPRO_ly_pcb[FASPRO_Nly - 1]
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 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 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.
const double feb_pos[Nfebs][2]
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