FairRoot/PandaRoot
hypGeGeantTestGeometry.C
Go to the documentation of this file.
1 #include "TGeoManager.h"
2 double Pi = TMath::Pi();
3 
4 
6 {
7 
8  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
9 
10  // Load this libraries
11  gSystem->Load("libGeoBase");
12  gSystem->Load("libParBase");
13  gSystem->Load("libBase");
14  gSystem->Load("libPndData");
15  gSystem->Load("libPassive");
16  gSystem->Load("libHypGe");
17 
18  TString outfile= "../../../../geometry/hypGeGeoGeantTestGeometry.root";
19 
20  TFile* fi = new TFile(outfile,"RECREATE");
21 
22  FairGeoLoader* geoLoad = new FairGeoLoader("TGeo","FairGeoLoader");
23  FairGeoInterface *geoFace = geoLoad->getGeoInterface();
24  geoFace->setMediaFile("../../../../geometry/media_pnd.geo");
25  geoFace->readMedia();
26  //geoFace->print();
27 
28  FairGeoMedia *Media = geoFace->getMedia();
29  FairGeoBuilder *geobuild=geoLoad->getGeoBuilder();
30 
31  FairGeoMedium *medGe = Media->getMedium("germanium");
32  Int_t nmedGe=geobuild->createMedium(medGe);
33 
34 
35  FairGeoMedium *medcap = Media->getMedium("HYPaluminium");
36  Int_t nmedcap=geobuild->createMedium(medcap);
37 
38  TGeoMedium *Ge = gGeoManager->GetMedium("germanium");
39 
40 
41  TGeoMedium *Al = gGeoManager->GetMedium("HYPaluminium");
42 
43 
44 
45  TGeoManager *geom = (TGeoManager*)gROOT->FindObject("FAIRGeom");
46  TGeoVolume *top = new TGeoVolumeAssembly("hpGe");
47  TGeoVolume *Realtop = new TGeoVolumeAssembly("Realtop");
48 
49 //cout<<" geom "<<geom<<endl;
50  geom->SetTopVolume(top);
51 
52  TGeoVolume* Crystal = geom->MakeBox("Crystal",Ge,10,10,10);
53 
54  Realtop->AddNode(Crystal,1,new TGeoTranslation(0,0,-75));
55 
56  top->AddNode(Realtop,0);
57  geom->CloseGeometry();
58  cout << "# of Nodes: " << Realtop->CountNodes(10,1) << endl;
59 
60  top->Write();
61  fi->Close();
62 
63  //Realtop->Browse(new TBrowser);
64  //c1 = new TCanvas("c1","hypGe",800,600);Realtop->Draw("");// Realtop->Raytrace();
65  Realtop->Draw("ogl");
66 
67 
68  //c1->x3d();
69  //geom->CheckOverlaps(0.0000000001,option="d"); //1 Overlap von Strahlrohr + Kugel ist normal!!!!!!!!!!!!!!!!!
70  //geom->PrintOverlaps();
71 
72 
73  return 0;
74 }
75 
76 
FairGeoLoader * geoLoad
FairGeoMedia * Media
double Pi
TGeoManager * gGeoManager
TGeoVolume * top
FairGeoBuilder * geobuild
TFile * fi
int hypGeGeantTestGeometry()
FairGeoInterface * geoFace
TString outfile