FairRoot/PandaRoot
hypGeGeantCableAbsorptionTest.C
Go to the documentation of this file.
1 #include "TGeoManager.h"
2 double Pi = TMath::Pi();
3 
4 
5 int hypGeCableAbsorptionTest(Double_t FoilThickness_Ext = 2)
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/hypGeGeoCableAbsorptionTest_";
19  outfile += FoilThickness_Ext;
20  outfile += "cm.root";
21  cout << outfile << endl;
22 
23  TFile* fi = new TFile(outfile,"RECREATE");
24 
25  FairGeoLoader* geoLoad = new FairGeoLoader("TGeo","FairGeoLoader");
26  FairGeoInterface *geoFace = geoLoad->getGeoInterface();
27  geoFace->setMediaFile("../../../../geometry/media_pnd.geo");
28  geoFace->readMedia();
29  //geoFace->print();
30 
31  FairGeoMedia *Media = geoFace->getMedia();
32  FairGeoBuilder *geobuild=geoLoad->getGeoBuilder();
33 
34  FairGeoMedium *medGe = Media->getMedium("germanium");
35  Int_t nmedGe=geobuild->createMedium(medGe);
36 
37 
38  FairGeoMedium *medcap = Media->getMedium("HYPaluminium");
39  Int_t nmedcap=geobuild->createMedium(medcap);
40 
41  FairGeoMedium *medkapton = Media->getMedium("kapton");
42  Int_t nmedcap=geobuild->createMedium(medkapton);
43 
44 
45  TGeoMedium *Ge = gGeoManager->GetMedium("germanium");
46 
47  TGeoMedium *Al = gGeoManager->GetMedium("HYPaluminium");
48 
49  TGeoMedium *Kapton = gGeoManager->GetMedium("kapton")
50 
51  TGeoManager *geom = (TGeoManager*)gROOT->FindObject("FAIRGeom");
52  TGeoVolume *top = new TGeoVolumeAssembly("hpGe");
53  TGeoVolume *Realtop = new TGeoVolumeAssembly("Realtop");
54 
55 //cout<<" geom "<<geom<<endl;
56  geom->SetTopVolume(top);
57 
58 
59  Double_t FoilThickness = FoilThickness_Ext;
60  TGeoVolume* Foil = geom->MakeBox("Foil",Kapton,10,10,FoilThickness/2);
61 
62  Realtop->AddNode(Foil,1,new TGeoTranslation(0,0,-60));
63 
64  top->AddNode(Realtop,0);
65  geom->CloseGeometry();
66  cout << "# of Nodes: " << Realtop->CountNodes(10,1) << endl;
67 
68  top->Write();
69  fi->Close();
70 
71  //Realtop->Browse(new TBrowser);
72  //c1 = new TCanvas("c1","hypGe",800,600);Realtop->Draw("");// Realtop->Raytrace();
73  Realtop->Draw("ogl");
74 
75 
76  //c1->x3d();
77  //geom->CheckOverlaps(0.0000000001,option="d"); //1 Overlap von Strahlrohr + Kugel ist normal!!!!!!!!!!!!!!!!!
78  //geom->PrintOverlaps();
79 
80 
81  return 0;
82 }
83 
84 
FairGeoLoader * geoLoad
FairGeoMedia * Media
TGeoManager * gGeoManager
TGeoVolume * top
FairGeoBuilder * geobuild
TFile * fi
Double_t
int hypGeCableAbsorptionTest(Double_t FoilThickness_Ext=2)
FairGeoInterface * geoFace
TString outfile