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/hypGeGeoTripleCluster_V3CrystalsOnly.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;
68 for (Int_t iHalves = 0; iHalves < 2; iHalves++)
73 TripleCluster ->
PlaceCluster(Realtop, GlobalZOffset,ClusterRadius, 180*iHalves + 150.62,28.73,-4.95-( 150.62)+180,&CrystalNumber);
75 TripleCluster ->
PlaceCluster(Realtop, GlobalZOffset,ClusterRadius, 180*iHalves + 90,25.34,-90+180,&CrystalNumber);
77 TripleCluster ->
PlaceCluster(Realtop, GlobalZOffset,ClusterRadius, 180*iHalves +29.38,28.73,4.95 - (29.38)+180 ,&CrystalNumber);
81 TripleCluster ->
PlaceCluster(Realtop, GlobalZOffset,ClusterRadius, +180*iHalves +157.98,48.5,-157.98,&CrystalNumber);
83 TripleCluster ->
PlaceCluster(Realtop, GlobalZOffset,ClusterRadius, +180*iHalves +121.04,44.29,-4.95-121.04+180,&CrystalNumber);
85 TripleCluster ->
PlaceCluster(Realtop, GlobalZOffset,ClusterRadius,+180*iHalves +90,54.51,180-90+180 ,&CrystalNumber);
87 TripleCluster ->
PlaceCluster(Realtop, GlobalZOffset,ClusterRadius, +180*iHalves +180-121.04,44.29,4.95-(180-121.04)+180,&CrystalNumber);
89 TripleCluster ->
PlaceCluster(Realtop, GlobalZOffset,ClusterRadius, +180*iHalves +180-157.98,48.5,180-(180-157)+180,&CrystalNumber);
93 top->AddNode(Realtop,0);
94 Realtop->PrintNodes();
95 geom->CloseGeometry();
96 cout <<
"# of Nodes: " << Realtop->CountNodes(10,1) << endl;
103 Realtop->Draw(
"ogl");
TGeoManager * gGeoManager
int hypGeGeoBuilderTriple30cmRadiusCrystalsOnly()
FairGeoBuilder * geobuild
void PlaceCluster(TGeoVolume *top, TGeoMatrix *ClusterPlaceAndDirectionTranslation, Int_t *CrystalNumber)
void PrintNodes(Int_t nLevels)
FairGeoInterface * geoFace