1 #include "TGeoManager.h" 
    9 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
 
   12   gSystem->Load(
"libGeoBase");
 
   13   gSystem->Load(
"libParBase");
 
   14   gSystem->Load(
"libBase");
 
   15   gSystem->Load(
"libPndData");
 
   16   gSystem->Load(
"libPassive");
 
   19  FairGeoLoader* 
geoLoad = 
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
 
   20   FairGeoInterface *
geoFace = geoLoad->getGeoInterface();
 
   21   geoFace->setMediaFile(
"../../../../geometry/media_pnd.geo");
 
   25   FairGeoMedia *
Media =  geoFace->getMedia();
 
   26   FairGeoBuilder *
geobuild=geoLoad->getGeoBuilder();
 
   28   FairGeoMedium *medGe  = Media->getMedium(
"germanium");
 
   29   Int_t nmedGe=geobuild->createMedium(medGe);
 
   32   FairGeoMedium *medcap  = Media->getMedium(
"HYPaluminium");
 
   33   Int_t nmedcap=geobuild->createMedium(medcap);
 
   35         TGeoMedium *Ge = 
gGeoManager->GetMedium(
"germanium");
 
   38   TGeoMedium *Al_sol = 
gGeoManager->GetMedium(
"HYPaluminium");
 
   41   TGeoManager *
geom = (TGeoManager*)gROOT->FindObject(
"FAIRGeom");
 
   42   TGeoVolume *
top = 
new TGeoVolumeAssembly(
"hpGe");
 
   43         TGeoVolume *strange = 
new TGeoVolumeAssembly(
"strange");
 
   45 cout<<
" geom "<<geom<<endl;           
 
   46   geom->SetTopVolume(top);
 
   54         Double_t                                                CrystalFrontPgonInnerRadius;
 
   58         TGeoTube                                                *CrystalTube;
 
   59         TGeoPgon                                                *CrystalPgon;
 
   61         TGeoTube                                                *CrystalInnerTube;
 
   62         TGeoTranslation                 *CrystalInnerTubeZTranslation;
 
   63         TGeoTorus                                               *CrystalInnerTubeTorus;
 
   64         TGeoTranslation                 *CrystalInnerTubeTorusZTranslation;
 
   65         TGeoTube                                                *CrystalInnerTubeMiniExtraTube;
 
   66         TGeoTranslation                 *CrystalInnerTubeMiniExtraTubeZTranslation;
 
   68         TGeoTube                                                *CrystalTopRoundingTube;
 
   69         TGeoTranslation                 *CrystalTopRoundingTubeZTranslation;
 
   70         TGeoTorus                                               *CrystalTopRoundingTorus;
 
   71         TGeoCompositeShape      *CrystalTopRoundingTooling;
 
   72         TGeoTranslation                 *CrystalTopRoundingToolingZTranslation;
 
   75         TGeoTube                                                *CrystalGuardRingTube;
 
   76         TGeoTranslation                 *CrystalGuardRingTubeZTranslation;
 
   77         TGeoTorus                                               *CrystalGuardRingTorus;
 
   78         TGeoTorus                                               *CrystalGuardRingTorusInner;
 
   79         TGeoTranslation                 *CrystalGuardRingTorusZTranslation;
 
   80         TGeoTube                                                *CrystalGuardRingMiniExtraTube;
 
   81         TGeoTranslation                 *CrystalGuardRingMiniExtraTubeZTranslation;
 
   91         CapsuleThickness = 0.08;
 
   92         VacuumThickness = 0.08;
 
   94         CrystalFrontPgonInnerRadius = 2.9485;
 
   97         CrystalTube = 
new TGeoTube(
"CrystalTube",0,3.5,CrystalLenght/2);
 
   98         CrystalPgon = 
new TGeoPgon(
"CrystalPgon",0.,360.,6,2);
 
   99                 CrystalPgon->DefineSection(0,-CrystalLenght/2,CrystalFrontPgonInnerRadius,3.8);
 
  100                 CrystalPgon->DefineSection(1,8-CrystalLenght/2,CrystalFrontPgonInnerRadius+8*
TMath::Tan(
Pi/180*4.12),3.8);
 
  103         CrystalInnerTube = 
new TGeoTube(
"CrystalInnerTube",0,0.6,3.05);
 
  104         CrystalInnerTubeZTranslation = 
new TGeoTranslation(
"CrystalInnerTubeZTranslation",0,0,CrystalLenght/2-3.05);
 
  105                 CrystalInnerTubeZTranslation->RegisterYourself();
 
  106         CrystalInnerTubeTorus = 
new TGeoTorus(
"CrystalInnerTubeTorus",0.2,0,0.4,0,360);
 
  107         CrystalInnerTubeTorusZTranslation = 
new TGeoTranslation(
"CrystalInnerTubeTorusZTranslation",0,0,CrystalLenght/2-3.05*2);
 
  108                 CrystalInnerTubeTorusZTranslation->RegisterYourself();
 
  109         CrystalInnerTubeMiniExtraTube = 
new TGeoTube(
"CrystalInnerTubeMiniExtraTube",0,0.2,0.2);
 
  110         CrystalInnerTubeMiniExtraTubeZTranslation = 
new TGeoTranslation(
"CrystalInnerTubeMiniExtraTubeZTranslation",0,0,CrystalLenght/2-3.05*2-0.2);
 
  111                 CrystalInnerTubeMiniExtraTubeZTranslation ->RegisterYourself();
 
  114         CrystalTopRoundingTube = 
new TGeoTube(
"CrystalTopRoundingTube",2.9,3.5,0.3);
 
  115         CrystalTopRoundingTubeZTranslation = 
new TGeoTranslation(
"CrystalTopRoundingTubeZTranslation",0,0,0.3);
 
  116                 CrystalTopRoundingTubeZTranslation->RegisterYourself();
 
  117         CrystalTopRoundingTorus = 
new TGeoTorus(
"CrystalTopRoundingTorus",2.9,0,0.6,0,360);
 
  118         CrystalTopRoundingTooling = 
new TGeoCompositeShape (
"CrystalTopRoundingTooling" ,
"CrystalTopRoundingTube:CrystalTopRoundingTubeZTranslation-CrystalTopRoundingTorus");
 
  119         CrystalTopRoundingToolingZTranslation = 
new TGeoTranslation(
"CrystalTopRoundingToolingZTranslation",0,0,CrystalLenght/2-0.6);
 
  120                 CrystalTopRoundingToolingZTranslation->RegisterYourself();
 
  123         CrystalGuardRingTube = 
new TGeoTube(
"CrystalGuardRingTube",0.9,1.4,0.15);
 
  124         CrystalGuardRingTubeZTranslation = 
new TGeoTranslation(
"CrystalGuardRingTubeZTranslation",0,0,CrystalLenght/2-0.15);
 
  125                 CrystalGuardRingTubeZTranslation->RegisterYourself();
 
  126         CrystalGuardRingTorus = 
new TGeoTorus(
"CrystalGuardRingTorus",1.2,0,0.2,0,360);
 
  127         CrystalGuardRingTorusInner = 
new TGeoTorus(
"CrystalGuardRingTorusInner",1.1,0,0.2,0,360);
 
  128         CrystalGuardRingTorusZTranslation = 
new TGeoTranslation(
"CrystalGuardRingTorusZTranslation",0,0,CrystalLenght/2-0.15*2);
 
  129                 CrystalGuardRingTorusZTranslation->RegisterYourself();
 
  130         CrystalGuardRingMiniExtraTube = 
new TGeoTube(
"CrystalGuardRingMiniExtraTube",1.1,1.2,0.2);
 
  131         CrystalGuardRingMiniExtraTubeZTranslation = 
new TGeoTranslation(
"CrystalGuardRingMiniExtraTubeZTranslation",0,0,CrystalLenght/2-0.15*2);
 
  132                 CrystalGuardRingMiniExtraTubeZTranslation ->RegisterYourself();
 
  135         CrystalShape= 
new TGeoCompositeShape(
"CrystalShape",
"(CrystalTube-CrystalPgon)-CrystalTopRoundingTooling:CrystalTopRoundingToolingZTranslation-(CrystalInnerTube:CrystalInnerTubeZTranslation+CrystalInnerTubeTorus:CrystalInnerTubeTorusZTranslation+CrystalInnerTubeMiniExtraTube:CrystalInnerTubeMiniExtraTubeZTranslation)-(CrystalGuardRingTube:CrystalGuardRingTubeZTranslation+CrystalGuardRingTorus:CrystalGuardRingTorusZTranslation+CrystalGuardRingTorusInner:CrystalGuardRingTorusZTranslation+CrystalGuardRingMiniExtraTube:CrystalGuardRingMiniExtraTubeZTranslation)"); 
 
  136         Crystal = 
new TGeoVolume(
"Crystal",CrystalShape,Ge);
 
  137         Crystal->SetLineColor(kGreen);
 
  138         Crystal->SetFillColor(kGreen);
 
  143 strange->AddNode(Crystal,6);
 
  147         top->AddNode(strange,0);
 
  148         geom->CloseGeometry();
 
  152         strange->Draw(
"ogl");
 
TGeoManager * gGeoManager
FairGeoBuilder * geobuild
FairGeoInterface * geoFace