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");
TGeoManager * gGeoManager
FairGeoBuilder * geobuild
void PrintNodes(Int_t nLevels)
void PlaceCluster(TGeoVolume *top, TGeoMatrix *ClusterPlaceAndDirectionTranslation, Int_t *CrystalNumber)
FairGeoInterface * geoFace