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");
 
   17   gSystem->Load(
"libHypGe");
 
   19         TString outfile= 
"../../../../geometry/hypGeGeoDoubleCluster_V3.root";
 
   21   TFile* 
fi = 
new TFile(outfile,
"RECREATE");
 
   23  FairGeoLoader* 
geoLoad = 
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
 
   24   FairGeoInterface *
geoFace = geoLoad->getGeoInterface();
 
   25   geoFace->setMediaFile(
"../../../../geometry/media_pnd.geo");
 
   29   FairGeoMedia *
Media =  geoFace->getMedia();
 
   30   FairGeoBuilder *
geobuild=geoLoad->getGeoBuilder();
 
   32   FairGeoMedium *medGe  = Media->getMedium(
"germanium");
 
   33   Int_t nmedGe=geobuild->createMedium(medGe);
 
   36   FairGeoMedium *medcap  = Media->getMedium(
"HYPaluminium");
 
   37   Int_t nmedcap=geobuild->createMedium(medcap);
 
   39         TGeoMedium *Ge = 
gGeoManager->GetMedium(
"germanium");
 
   42   TGeoMedium *Al = 
gGeoManager->GetMedium(
"HYPaluminium");
 
   46   TGeoManager *
geom = (TGeoManager*)gROOT->FindObject(
"FAIRGeom");
 
   47   TGeoVolume *
top = 
new TGeoVolumeAssembly(
"hpGe");
 
   48         TGeoVolume *Realtop = 
new TGeoVolumeAssembly(
"Realtop");
 
   51   geom->SetTopVolume(top);
 
   53         Int_t CrystalNumber = 1;
 
   73         for (Int_t iHalves = 0; iHalves < 2; iHalves++)
 
   79                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius,  180*iHalves + 180-23.1678, 27.7747, 180-(-20.74),&CrystalNumber);
 
   81                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius,  180*iHalves + 180-55.6699, 29.9031, 180-(-50.21),&CrystalNumber);
 
   83                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius,  180*iHalves + 180-13.4046, 52.2607, 180-(-8.3),&CrystalNumber);
 
   85                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius,  180*iHalves +180-31.5985, 50.2457, 180-(-21.67) ,&CrystalNumber);
 
   87                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius,  180*iHalves + 180-50.5126, 51.6831, 180-(-35.43),&CrystalNumber);
 
   89                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius,  180*iHalves + 180-75.1143, 46.348, 180-(9.44),&CrystalNumber);
 
   92                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius, 180*iHalves + 23.1678, 27.7747, -20.74,&CrystalNumber);
 
   94                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius, 180*iHalves + 55.6699, 29.9031, -50.21,&CrystalNumber);
 
   96                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius, 180*iHalves + 13.4046, 52.2607, -8.3,&CrystalNumber);
 
   98                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius, 180*iHalves + 31.5985, 50.2457, -21.67,&CrystalNumber);
 
  100                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius, 180*iHalves + 50.5126, 51.6831, -35.43,&CrystalNumber);
 
  102                 DoubleCluster ->
PlaceCluster(Realtop,  GlobalZOffset,ClusterRadius, 180*iHalves + 75.1143, 46.348, 9.44,&CrystalNumber);
 
  106         top->AddNode(Realtop,0);        
 
  107         Realtop->PrintNodes();
 
  108         geom->CloseGeometry();  
 
  109         cout << 
"# of Nodes: " << Realtop->CountNodes(10,1) << endl;
 
  116         Realtop->Draw(
"ogl");
 
int hypGeGeoBuilderDouble30cmRadius()
TGeoManager * gGeoManager
FairGeoBuilder * geobuild
void PrintNodes(Int_t nLevels)
void PlaceCluster(TGeoVolume *top, TGeoMatrix *ClusterPlaceAndDirectionTranslation, Int_t *CrystalNumber)
FairGeoInterface * geoFace