4 #include "TClonesArray.h" 
    5 #include "TLorentzVector.h" 
   12 #include "TGeoCompositeShape.h" 
   13 #include "TGeoMatrix.h" 
   14 #include "TGeoManager.h" 
   15 #include "TVirtualMC.h" 
   17 #include "FairVolume.h" 
   18 #include "FairGeoMedia.h" 
   19 #include "FairGeoInterface.h" 
   20 #include "FairGeoLoader.h" 
   21 #include "FairGeoBuilder.h" 
   22 #include "FairRuntimeDb.h" 
   24 #include "FairModule.h" 
   37     vname = vname.Strip();
 
   38     TGeoVolume* vcave = 
gGeoManager->FindVolumeFast(vname.Data());
 
   41     TGeoVolume* mdtmfi        = 
new TGeoVolumeAssembly(
"MdtMFIron");
 
   45     Text_t longbuffer[250];
 
   52     TGeoRotation tRot, tRotSlice;
 
   55     FairGeoLoader*
geoLoad = FairGeoLoader::Instance();
 
   56     FairGeoInterface *
geoFace = geoLoad->getGeoInterface();
 
   57     FairGeoMedia *
Media =  geoFace->getMedia();
 
   58     FairGeoBuilder *
geobuild=geoLoad->getGeoBuilder();
 
   59     FairGeoMedium *medIron = Media->getMedium(
"iron");
 
   60     geobuild->createMedium(medIron);
 
   69     new TGeoBBox(
"mfihboxpmp3",((
Double_t)PndMdtMFIron_PUMP_H)/10.0,10.0+((
Double_t)PndMdtMFIron_Th2)/10.0,((
Double_t)PndMdtMFIron_PUMP_V)/10.0,0);
 
   70     new TGeoBBox(
"mfihboxpmp4",((
Double_t)PndMdtMFIron_PUMP_H)/10.0,10.0+((
Double_t)PndMdtMFIron_Th2)/10.0,((
Double_t)PndMdtMFIron_PUMP_V)/10.0,0);
 
   71     new TGeoBBox(
"mfihboxpmp5",((
Double_t)PndMdtMFIron_PUMP_H)/10.0,10.0+((
Double_t)PndMdtMFIron_Th2)/10.0,((
Double_t)PndMdtMFIron_PUMP_V)/10.0,0);
 
   72     new TGeoBBox(
"mfihboxpmp6",((
Double_t)PndMdtMFIron_PUMP_H)/10.0,10.0+((
Double_t)PndMdtMFIron_Th2)/10.0,((
Double_t)PndMdtMFIron_PUMP_V)/10.0,0);
 
   80     TGeoRotation* mfitgr0 = 
new TGeoRotation(mfitgrl);
 
   81     mfitgr0->SetName(
"mfitgr0");
 
   82     mfitgr0->RegisterYourself();
 
   83     mfitgrl.RotateY(45.0);
 
   84     TGeoRotation* mfitgr1 = 
new TGeoRotation(mfitgrl);
 
   85     mfitgr1->SetName(
"mfitgr1");
 
   86     mfitgr1->RegisterYourself();
 
   87     mfitgrl.RotateY(45.0);
 
   88     TGeoRotation* mfitgr2 = 
new TGeoRotation(mfitgrl);
 
   89     mfitgr2->SetName(
"mfitgr2");
 
   90     mfitgr2->RegisterYourself();
 
   91     mfitgrl.RotateY(45.0);
 
   92     TGeoRotation* mfitgr3 = 
new TGeoRotation(mfitgrl);
 
   93     mfitgr3->SetName(
"mfitgr3");
 
   94     mfitgr3->RegisterYourself();
 
   95     mfitgrl.RotateY(45.0);
 
   96     TGeoRotation* mfitgr4 = 
new TGeoRotation(mfitgrl);
 
   97     mfitgr4->SetName(
"mfitgr4");
 
   98     mfitgr4->RegisterYourself();
 
   99     mfitgrl.RotateY(45.0);
 
  100     TGeoRotation* mfitgr5 = 
new TGeoRotation(mfitgrl);
 
  101     mfitgr5->SetName(
"mfitgr5");
 
  102     mfitgr5->RegisterYourself();
 
  103     mfitgrl.RotateY(45.0);
 
  104     TGeoRotation* mfitgr6 = 
new TGeoRotation(mfitgrl);
 
  105     mfitgr6->SetName(
"mfitgr6");
 
  106     mfitgr6->RegisterYourself();
 
  107     mfitgrl.RotateY(45.0);
 
  108     TGeoRotation* mfitgr7 = 
new TGeoRotation(mfitgrl);
 
  109     mfitgr7->SetName(
"mfitgr7");
 
  110     mfitgr7->RegisterYourself();
 
  118     TGeoTranslation* mfitgt = 
new TGeoTranslation(0.0,0.0,my/(-10.0));
 
  119     mfitgt->SetName(
"mfitgt");
 
  120     mfitgt->RegisterYourself();
 
  121     new TGeoTrd2(
"mfitrd",dx1/10.0,dx2/10.0,dy1/10.0,dy2/10.0,dz/10.0);
 
  123     for(
int i=0; 
i<5; 
i++)
 
  143         for(
int j=0; j<8; j++)
 
  145             sprintf(buffer,
"mfitgcs%i",(8*
i)+j);
 
  146             sprintf(longbuffer,
"mfitrd:mfitgt-mfihbox%i:mfitgr%i-mfihboxpmp%i:mfitgr%i",
i+2,j,
i+2,j);
 
  147             TGeoCompositeShape* mfitgcs = 
new TGeoCompositeShape(buffer,longbuffer);
 
  148             sprintf(buffer,
"mag%i",600+8*
i+j);
 
  149             TGeoVolume* volume = 
new TGeoVolume(buffer,mfitgcs,
gGeoManager->GetMedium(
"iron"));
 
  150             volume->SetLineColor(3);
 
  151             mdtmfi->AddNode(volume,600+8*
i+j,
new TGeoCombiTrans(0.0,0.0,mz0/10.0,
new TGeoRotation(tRot)));
 
  156     vcave->AddNode(mdtmfi,1);
 
#define PndMdtMFIron_H03_V
TGeoManager * gGeoManager
#define PndMdtMFIron_H05_H
#define PndMdtMFIron_PUMP_V
#define PndMdtMFIron_PUMP_H
#define PndMdtMFIron_H06_V
FairGeoBuilder * geobuild
#define PndMdtMFIron_L201
#define PndMdtMFIron_H02_V
#define PndMdtMFIron_H03_H
#define PndMdtMFIron_L202
#define PndMdtMFIron_Height
#define PndMdtMFIron_L204
#define PndMdtMFIron_H05_V
#define PndMdtMFIron_H04_V
#define PndMdtMFIron_L200
#define PndMdtMFIron_L203
FairGeoInterface * geoFace
#define PndMdtMFIron_H02_H
#define PndMdtMFIron_H06_H
#define PndMdtMFIron_H04_H