59 gROOT->LoadMacro(
"$VMCWORKDIR/macro/run/bmnloadlibs.C");
63 FairGeoLoader* geoLoad =
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
64 FairGeoInterface* geoFace = geoLoad->getGeoInterface();
66 TString medFile = geoPath +
"/geometry/media.geo";
67 geoFace->setMediaFile(medFile);
73 const TString geoObjectName =
"magnet";
74 const TString geoObjectVersion =
"modified";
75 const TString geoFileName = geoPath +
"/geometry/" + geoObjectName +
"_" + geoObjectVersion +
".root";
79 FairGeoMedia* geoMedia = geoFace->getMedia();
80 FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder();
82 FairGeoMedium* mAir = geoMedia->getMedium(
"air");
84 Fatal(
"Main",
"FairMedium air not found");
85 geoBuild->createMedium(mAir);
88 Fatal(
"Main",
"Medium air 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");
98 FairGeoMedium* mSteel = geoMedia->getMedium(
"steel");
100 Fatal(
"Main",
"FairMedium steel not found");
101 geoBuild->createMedium(mSteel);
104 Fatal(
"Main",
"Medium steel not found");
106 FairGeoMedium* mCopper = geoMedia->getMedium(
"copper");
108 Fatal(
"Main",
"FairMedium copper not found");
109 geoBuild->createMedium(mCopper);
112 Fatal(
"Main",
"Medium copper not found");
118 gGeoMan->SetName(geoObjectName +
"_geom");
130 const Int_t NYokeProfilePoints = 8;
131 const Int_t NYokeZPlanes = 2;
133 YokeContainerS->
SetName(
"YokeContainerS");
135 Double_t XYokeProfile[NYokeProfilePoints];
145 Double_t YYokeProfile[NYokeProfilePoints];
155 YokeContainerS->
DefinePolygon(NYokeProfilePoints, XYokeProfile, YYokeProfile);
172 combitran_CoilCorner1->
SetName(
"combitran_CoilCorner1");
179 combitran_CoilCorner2->
SetName(
"combitran_CoilCorner2");
186 combitran_CoilCorner3->
SetName(
"combitran_CoilCorner3");
193 combitran_CoilCorner4->
SetName(
"combitran_CoilCorner4");
200 tran_CoilShortSide1->
SetName(
"tran_CoilShortSide1");
204 tran_CoilShortSide2->
SetName(
"tran_CoilShortSide2");
208 tran_CoilLongSide1->
SetName(
"tran_CoilLongSide1");
212 tran_CoilLongSide2->
SetName(
"tran_CoilLongSide2");
216 "+CoilCornerS:combitran_CoilCorner2"
217 "+CoilCornerS:combitran_CoilCorner3"
218 "+CoilCornerS:combitran_CoilCorner4"
219 "+CoilShortSideS:tran_CoilShortSide1"
220 "+CoilShortSideS:tran_CoilShortSide2"
221 "+CoilLongSideS:tran_CoilLongSide1"
222 "+CoilLongSideS:tran_CoilLongSide2");
226 const Int_t NPoleProfilePoints = 8;
227 const Int_t NPoleZPlanes = 2;
231 Double_t XPoleProfile[NPoleProfilePoints];
241 Double_t ZPoleProfile[NPoleProfilePoints];
251 PoleS->
DefinePolygon(NPoleProfilePoints, XPoleProfile, ZPoleProfile);
283 MagnetContainerV->
AddNode(PoleV, 1,
287 MagnetContainerV->
AddNode(YokeV, 0);
299 TFile* geoFile =
new TFile(geoFileName,
"RECREATE");