12#include "macro/run/bmnloadlibs.C"
65 FairGeoLoader* geoLoad =
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
66 FairGeoInterface* geoFace = geoLoad->getGeoInterface();
68 TString medFile = geoPath +
"/geometry/media.geo";
69 geoFace->setMediaFile(medFile);
75 const TString geoDetectorName =
"BD";
76 const TString geoDetectorVersion =
"run8_v1";
77 TString geoFileName = geoPath +
"/geometry/" + geoDetectorName +
"_" + geoDetectorVersion +
".root";
81 FairGeoMedia* geoMedia = geoFace->getMedia();
82 FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder();
84 FairGeoMedium* mAir = geoMedia->getMedium(
"air");
86 Fatal(
"Main",
"FairMedium air not found");
87 geoBuild->createMedium(mAir);
90 Fatal(
"Main",
"Medium air not found");
92 FairGeoMedium* mBC408 = geoMedia->getMedium(
"BC408");
94 Fatal(
"Main",
"FairMedium BC408 not found");
95 geoBuild->createMedium(mBC408);
98 Fatal(
"Main",
"Medium BC408 not found");
100 FairGeoMedium* miron = geoMedia->getMedium(
"iron");
102 Fatal(
"Main",
"FairMedium iron not found");
103 geoBuild->createMedium(miron);
106 Fatal(
"Main",
"Medium iron not found");
108 FairGeoMedium* maluminium = geoMedia->getMedium(
"aluminium");
110 Fatal(
"Main",
"FairMedium aluminium not found");
111 geoBuild->createMedium(maluminium);
114 Fatal(
"Main",
"Medium aluminium not found");
116 FairGeoMedium* mpolypropylene = geoMedia->getMedium(
"polypropylene");
118 Fatal(
"Main",
"FairMedium polypropylene not found");
119 geoBuild->createMedium(mpolypropylene);
121 if (!pMedpolypropylene)
122 Fatal(
"Main",
"Medium polypropylene not found");
124 FairGeoMedium* mlead = geoMedia->getMedium(
"lead");
126 Fatal(
"Main",
"FairMedium lead not found");
127 geoBuild->createMedium(mlead);
130 Fatal(
"Main",
"Medium lead not found");
132 FairGeoMedium* mVac = geoMedia->getMedium(
"vacuum");
134 Fatal(
"Main",
"FairMedium vacuum not found");
135 geoBuild->createMedium(mVac);
138 Fatal(
"Main",
"Medium vacuum not found");
144 gGeoMan->SetName(geoDetectorName +
"_geom");
167 TGeoTube* tubepbContainerS =
new TGeoTube(
"tubepbContainerS", 7.6 / 2, 8 / 2, 18.8 / 2);
201 BD->
AddNode(BD1ActiveVolumeV1,
i, combi[
i]);
204 BD->
AddNode(tubefeMat, 41, tubefePos_trans);
205 BD->
AddNode(tubealMat, 42, tubealPos_trans);
206 BD->
AddNode(tubepb_prot, 43, Postubepb_trans);
207 BD->
AddNode(seg_tube_prot, 44, Seg_tube_trans);
210 top->
AddNode(BD, 1, BD_Position);
220 TFile* geoFile =
new TFile(geoFileName,
"RECREATE");
#define R__ADD_INCLUDE_PATH(PATH)
void Fatal(const char *location, const char *msgfmt,...)
R__EXTERN TGeoManager * gGeoManager
R__EXTERN TSystem * gSystem
void Close(Option_t *option="") override
void SetVisContainers(Bool_t flag=kTRUE) override
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
void Draw(Option_t *option="") override
virtual void SetMedium(TGeoMedium *medium)
void SetLineColor(Color_t lcolor) override
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
const Double_t strip_BD_Xpos
const Double_t strip_BD_Ypos
const Double_t strip_BD_Zpos
const Double_t MaxRadiusFe
const Double_t MinRadiusAl
const Double_t ZLength_tubeFe
const Double_t MaxRadiusRohacel
const Double_t ZLength_tubeAl
const Double_t tubeAl_Zpos
const Double_t MinRadiusFe
const Double_t ZLength_BDActiveVolume
const Double_t MaxRadiusAl
const Double_t tubeFe_Ypos
const Double_t tubeAl_Ypos
const Double_t tubeFe_Xpos
const Double_t tubeAl_Xpos
const Double_t MinRadiusRohacel
const Double_t tubeFe_Zpos
const Double_t ZLength_roh
const Double_t Seg_tube_Max_dim
const Double_t Seg_tube_Max_phi
const Double_t Seg_tube_Thick
const Double_t Seg_tube_Min_dim
const Double_t Seg_tube_Min_phi
void create_rootgeom_BD_run8()
constexpr Double_t DegToRad()