13 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
16 gSystem->Load(
"libGeoBase");
17 gSystem->Load(
"libParBase");
18 gSystem->Load(
"libBase");
19 gSystem->Load(
"libPndData");
20 gSystem->Load(
"libPassive");
21 gSystem->Load(
"libHypGe");
27 outfile += outfileWithoutPath;
29 TFile*
fi =
new TFile(outfile,
"RECREATE");
31 FairGeoLoader*
geoLoad =
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
32 FairGeoInterface *
geoFace = geoLoad->getGeoInterface();
33 geoFace->setMediaFile(
"../../../../geometry/media_pnd.geo");
37 FairGeoMedia *
Media = geoFace->getMedia();
38 FairGeoBuilder *
geobuild=geoLoad->getGeoBuilder();
40 FairGeoMedium *medGe = Media->getMedium(
"germanium");
41 Int_t nmedGe=geobuild->createMedium(medGe);
44 FairGeoMedium *medcap = Media->getMedium(
"HYPaluminium");
45 Int_t nmedcap=geobuild->createMedium(medcap);
47 TGeoMedium *Ge =
gGeoManager->GetMedium(
"germanium");
50 TGeoMedium *Al =
gGeoManager->GetMedium(
"HYPaluminium");
52 FairGeoMedium *
medSilicon = Media->getMedium(
"HYPsilicon");
53 Int_t nmedcap=geobuild->createMedium(medSilicon);
55 TGeoMedium *Silicon =
gGeoManager->GetMedium(
"HYPsilicon");
57 TGeoManager *
geom = (TGeoManager*)gROOT->FindObject(
"FAIRGeom");
58 TGeoVolume *
top =
new TGeoVolumeAssembly(
"hpGe");
59 TGeoVolume *Realtop =
new TGeoVolumeAssembly(
"Realtop");
62 geom->SetTopVolume(top);
64 Int_t CrystalNumber = 1;
66 Double_t ClusterRadius = ClusterRadius_ext;
79 SingleCluster ->
PlaceCluster(Realtop, GlobalZOffset,30, 90,90,-90,&CrystalNumber);
82 TGeoVolume* SiPm = geom->MakeBox(
"CrystalSiPm_1",Silicon,0.15,0.15,0.005);
83 SiPm->SetLineColor(kYellow);
84 SiPm->SetFillColor(kYellow);
85 TGeoRotation *SiPmRot =
new TGeoRotation(
"SiPmRot",0,0,0);
86 Realtop->AddNode(SiPm,1000,
new TGeoCombiTrans(60,0,10,SiPmRot));
88 TGeoVolume* SiPm2 = geom->MakeBox(
"CrystalSiPm_2",Silicon,0.15,0.15,0.005);
89 SiPm2->SetLineColor(kYellow);
90 SiPm2->SetFillColor(kYellow);
91 Realtop->AddNode(SiPm2,1001,
new TGeoCombiTrans(-25,0,20,SiPmRot));
93 TGeoVolume* Piezo = geom->MakeBox(
"CrystalPiezo",Silicon,0.75,0.25,0.2);
94 Piezo->SetLineColor(kBlue);
95 Piezo->SetFillColor(kBlue);
96 Realtop->AddNode(Piezo,1002,
new TGeoCombiTrans(0,0,5.2,SiPmRot));
99 top->AddNode(Realtop,0);
100 Realtop->PrintNodes();
101 geom->CloseGeometry();
102 cout <<
"# of Nodes: " << Realtop->CountNodes(10,1) << endl;
109 Realtop->Draw(
"ogl");
TString BuildOutputNameDetector(Double_t ClusterRadius)
TGeoManager * gGeoManager
void PrintNodes(Int_t nLevels)
FairGeoBuilder * geobuild
void PlaceCluster(TGeoVolume *top, TGeoMatrix *ClusterPlaceAndDirectionTranslation, Int_t *CrystalNumber)
FairGeoInterface * geoFace