1 #include "TGeoManager.h"
8 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
11 gSystem->Load(
"libGeoBase");
12 gSystem->Load(
"libParBase");
13 gSystem->Load(
"libBase");
14 gSystem->Load(
"libPndData");
15 gSystem->Load(
"libPassive");
16 gSystem->Load(
"libHypGe");
18 TString outfile=
"../../../../geometry/hypGeGeoTripleCluster_Ball40_Offset10CrystalsOnly.root";
20 TFile*
fi =
new TFile(outfile,
"RECREATE");
22 FairGeoLoader*
geoLoad =
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
23 FairGeoInterface *
geoFace = geoLoad->getGeoInterface();
24 geoFace->setMediaFile(
"../../../../geometry/media_pnd.geo");
28 FairGeoMedia *
Media = geoFace->getMedia();
29 FairGeoBuilder *
geobuild=geoLoad->getGeoBuilder();
31 FairGeoMedium *medGe = Media->getMedium(
"germanium");
32 Int_t nmedGe=geobuild->createMedium(medGe);
35 FairGeoMedium *medcap = Media->getMedium(
"HYPaluminium");
36 Int_t nmedcap=geobuild->createMedium(medcap);
38 TGeoMedium *Ge =
gGeoManager->GetMedium(
"germanium");
41 TGeoMedium *Al =
gGeoManager->GetMedium(
"HYPaluminium");
45 TGeoManager *
geom = (TGeoManager*)gROOT->FindObject(
"FAIRGeom");
46 TGeoVolume *
top =
new TGeoVolumeAssembly(
"hpGe");
47 TGeoVolume *Realtop =
new TGeoVolumeAssembly(
"Realtop");
50 geom->SetTopVolume(top);
52 Int_t CrystalNumber = 1;
53 Double_t SourceToBallCenterOffset = 10;
54 Double_t GlobalZOffset = -55+SourceToBallCenterOffset;
72 const Int_t NumberOfCluster=16;
73 Double_t CoordinatesAndAngles[NumberOfCluster*6];
74 string Filename =
"TripleBall40GeometryCoordinatesAndAngles.txt";
83 for (Int_t iCluster = 0; iCluster < 16; iCluster++)
87 TripleCluster ->
PlaceCluster(Realtop,CoordinatesAndAngles[6*(iCluster)],CoordinatesAndAngles[6*(iCluster)+1],CoordinatesAndAngles[6*(iCluster)+2], GlobalZOffset,CoordinatesAndAngles[6*(iCluster)+3],CoordinatesAndAngles[6*(iCluster)+4],CoordinatesAndAngles[6*(iCluster)+5],&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
FairGeoBuilder * geobuild
int hypGeGeoBuilderTripleBall40Offset10GeometryCrystalsOnly()
void PlaceCluster(TGeoVolume *top, TGeoMatrix *ClusterPlaceAndDirectionTranslation, Int_t *CrystalNumber)
void PrintNodes(Int_t nLevels)
FairGeoInterface * geoFace
void ReadCoordinatesAndAngles(string Filename, Int_t NumberOfCluster, Double_t *CoordinatesAndAngles)