54 FairGeoMedium* mVacuum = geoMedia->getMedium(
"vacuum");
56 Fatal(
"Main",
"FairMedium vacuum not found");
57 geoBuild->createMedium(mVacuum);
60 Fatal(
"Main",
"Medium vacuum not found");
63 FairGeoMedium* mAir = geoMedia->getMedium(
"air");
65 Fatal(
"Main",
"FairMedium air not found");
66 geoBuild->createMedium(mAir);
69 Fatal(
"Main",
"Medium air not found");
72 FairGeoMedium* mPolystyrene = geoMedia->getMedium(
"polystyrene");
74 Fatal(
"Main",
"FairMedium polystyrene not found");
75 geoBuild->createMedium(mPolystyrene);
78 Fatal(
"Main",
"Medium polystyrene not found");
81 FairGeoMedium* mAluminium = geoMedia->getMedium(
"aluminium");
83 Fatal(
"Main",
"FairMedium aluminium not found");
84 geoBuild->createMedium(mAluminium);
87 Fatal(
"Main",
"Medium aluminium not found");
90 FairGeoMedium* mIron = geoMedia->getMedium(
"iron");
92 Fatal(
"Main",
"FairMedium iron not found");
93 geoBuild->createMedium(mIron);
96 Fatal(
"Main",
"Medium iron not found");
114 const TString geoDetectorName =
"Hodo_with_box";
115 const TString geoDetectorVersion =
"v1";
133 sZshift_1 += Zshift_1;
135 sZshift_2 += Zshift_2;
138 sXshift_1 += Xshift_1;
142 sXshift_2 += Xshift_2;
146 sYshift_1 += Yshift_1;
148 sYshift_2 += Yshift_2;
157 TString geoFileName = gPath +
"/geometry/" + geoDetectorName +
"_" +
"Zpos_" + sZshift_1 +
"." + sZshift_2 +
"cm"
158 +
"_" +
"Xshift_" + sXshift_1 +
"." + sXshift_2 +
"cm" +
"_" +
"Yshift_" + sYshift_1 +
"."
159 + sYshift_2 +
"cm" +
"_" +
"rotationY_" + sRotY_1 +
"." + sRotY_2 +
"deg_"
160 + geoDetectorVersion +
".root";
163 FairGeoLoader* geoLoad =
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
164 FairGeoInterface* geoFace = geoLoad->getGeoInterface();
167 TString medFile = gPath +
"/geometry/media.geo";
168 geoFace->setMediaFile(medFile);
169 geoFace->readMedia();
170 FairGeoMedia* geoMedia = geoFace->getMedia();
171 FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder();
185 TString Hodo_common_name =
"Hodo_common";
195 TString hodoStick_name =
"hodo01stick";
208 Int_t iMod = -1, modNb = -1;
220 HodoV->
AddNode(hodoStickV, modNb, hodoStickV_position);
221 cout <<
"Hodo modNb,xxxx,yyyy " << modNb <<
" " << xCur <<
" " << yCur << endl;
228 TString hodo_name_box =
"hodo01_box";
234 TString hodo_name_Al_plate =
"hodo01_Al_plate";
242 HodoV_box->
AddNode(HodoV_Al_plate, 1, hodoBox);
243 cout <<
"Hodo box Al_left " << xCur << endl;
246 HodoV_box->
AddNode(HodoV_Al_plate, 2, hodoBox);
247 cout <<
"Hodo box Al_right " << -xCur << endl;
249 TString hodo_name_Al_plate_horiz =
"hodo01_Al_plate_horiz";
252 TGeoVolume* HodoV_Al_plate_horiz =
new TGeoVolume(hodo_name_Al_plate_horiz, HodoS_Al_plate_horiz);
257 HodoV_box->
AddNode(HodoV_Al_plate_horiz, 1, hodoBox);
258 cout <<
"Hodo box Al_bottom " << xCur << endl;
261 HodoV_box->
AddNode(HodoV_Al_plate_horiz, 2, hodoBox);
262 cout <<
"Hodo box Al_top " << xCur << endl;
265 TString hodo_name_Fe_plate =
"hodo01_Fe_plate";
273 HodoV_box->
AddNode(HodoV_Fe_plate, 1, hodoBox);
274 cout <<
"Hodo box Fe_downstream " << xCur << endl;
277 HodoV_box->
AddNode(HodoV_Fe_plate, 2, hodoBox);
278 cout <<
"Hodo box Fe_upstream " << xCur << endl;
282 HodoV_box->
AddNode(HodoV, 1, hodoBox);
283 cout <<
"Hodo box Scint " << xCur << endl;
292 Hodo_common->
AddNode(HodoV_box, 1, hodoHodo);
304 TFile* geoFile =
new TFile(geoFileName,
"RECREATE");