7   const Int_t     kNumTraps= 8;
 
   10   const Double_t  kTrapHigh = kTrapOuterDist - kTrapInnerDist;
 
   13   const Double_t  kShortSide = kTrapInnerDist * tan(kTrapHalfAngle);
 
   14   const Double_t  kLongSide = kTrapOuterDist * tan(kTrapHalfAngle);
 
   17   kPlaneZPosition[0] = 0.0;   
 
   18   kPlaneZPosition[1] = 10.0;   
 
   19   kPlaneZPosition[2] = 20.0;   
 
   20   kPlaneZPosition[3] = 30.0;   
 
   35   gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
 
   38   gSystem->Load(
"libGeoBase");
 
   39   gSystem->Load(
"libParBase");
 
   40   gSystem->Load(
"libBase");
 
   41   gSystem->Load(
"libPndData");
 
   42   gSystem->Load(
"libPassive");
 
   45   TFile* 
fi = 
new TFile(outfile,
"RECREATE");  
 
   47   FairGeoLoader* 
geoLoad = 
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
 
   48   FairGeoInterface *
geoFace = geoLoad->getGeoInterface();
 
   49   geoFace->setMediaFile(
"../../geometry/media_pnd.geo");
 
   53   FairGeoMedia *
Media =  geoFace->getMedia();
 
   54   FairGeoBuilder *
geobuild=geoLoad->getGeoBuilder();
 
   56   FairGeoMedium *FairMediumSilicon = Media->getMedium(
"silicon");
 
   58   Int_t 
nmed=geobuild->createMedium(FairMediumSilicon);
 
   60   TGeoManager* 
gGeoMan = (TGeoManager*)gROOT->FindObject(
"FAIRGeom");
 
   62   TGeoVolume *
top = 
new TGeoVolumeAssembly(
"Gem");
 
   64   gGeoMan->SetTopVolume(top);
 
   67   TGeoShape *Trap1Shape = 
 
   68     new TGeoTrap(
"trap1shape",kHalfFoilThickness, 0, -90, kTrapHigh/2.,kShortSide,kLongSide,0,
 
   69                  kTrapHigh/2.,kShortSide,kLongSide,0);
 
   77   for(Int_t j=0; j<4; ++j){
 
   78     std::stringstream plane;
 
   80     for(Int_t 
i=0; 
i<8; ++
i){
 
   81       std::stringstream 
num;
 
   83       TString name = (
"LumActiveTrap"+plane.str()+
"_"+num.str());
 
   84       TString rotname = (
"rot"+plane.str()+
"_"+num.str());
 
   86       TGeoVolume* tmpvol = 
new TGeoVolume(name,Trap1Shape,gGeoMan->GetMedium(
"silicon"));
 
   90       if(j==1) {dreh += 22.5; angle-=
TMath::Pi()/8.;}   
 
   91       if(j==3) {dreh += 22.5; angle-=
TMath::Pi()/8.;}   
 
   93       TGeoRotation* 
rot = 
new TGeoRotation(rotname,dreh,0,0);
 
   94       TGeoTranslation* trt = 
new TGeoTranslation(
sin(angle)*move, 
cos(angle)*move, 1100+kPlaneZPosition[j]-kRotUmZ); 
 
   95       TGeoCombiTrans* trctmp = 
new TGeoCombiTrans(*trt,*rot);
 
   96       trctmp->SetName(name);
 
   97       trctmp->RegisterYourself();
 
  101       delete rot; 
delete trt;
 
  105   TGeoVolumeAssembly* 
SubunitVol = 
new TGeoVolumeAssembly(
"Lumi_Strip_Disks");
 
  106   for(Int_t 
i=0; 
i<(8*4); 
i++)
 
  107     SubunitVol->AddNode((TGeoVolume*)vol.At(
i),0,(TGeoCombiTrans*)trc.At(
i));
 
  108   TGeoRotation* rotf = 
new TGeoRotation(
"final",90,kRot,0);
 
  109   TGeoTranslation* trtf = 
new TGeoTranslation(0, 0, kRotUmZ); 
 
  110   TGeoCombiTrans *trcf = 
new TGeoCombiTrans(*trtf,*rotf);
 
  111   top->AddNode(SubunitVol,0,trcf);
 
  113   gGeoMan->CloseGeometry();
 
friend F32vec4 cos(const F32vec4 &a)
friend F32vec4 sin(const F32vec4 &a)
FairGeoBuilder * geobuild
FairGeoInterface * geoFace
const Double_t kHalfFoilThickness