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/hypGeGeoDEGASstraight40_20.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;
54 Double_t InnerClusterZPosition = -30;
55 Double_t OuterClusterZPosition = InnerClusterZPosition + 15;
69 const Int_t NumberOfCluster=20;
70 Double_t CoordinatesAndAngles[NumberOfCluster*6];
71 string Filename =
"DEGASStraightCoordinatesAndAngles40_20.txt";
76 for (Int_t
i = 0;
i < NumberOfCluster*6;
i++)
77 cout << CoordinatesAndAngles[
i] << endl;
80 for (Int_t iCluster = 0; iCluster < 20; iCluster++)
84 DEGAS ->
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);
90 top->AddNode(Realtop,0);
91 Realtop->PrintNodes();
92 geom->CloseGeometry();
93 cout <<
"# of Nodes: " << Realtop->CountNodes(10,1) << endl;
100 Realtop->Draw(
"ogl");
void PrintNodes(Int_t nLevels)
TGeoManager * gGeoManager
FairGeoBuilder * geobuild
void PlaceCluster(TGeoVolume *top, TGeoMatrix *ClusterPlaceAndDirectionTranslation, Int_t *CrystalNumber)
FairGeoInterface * geoFace
void ReadCoordinatesAndAngles(string Filename, Int_t NumberOfCluster, Double_t *CoordinatesAndAngles)