FairRoot/PandaRoot
Functions | Variables
hypGe_DoubleGeo.C File Reference
#include "TGeoManager.h"

Go to the source code of this file.

Functions

void ClusterPlacer (double x, double y, double z, double GlobalZOffset, int ObjectNo, TGeoVolume *top, TGeoVolume *Clusterr, double phi, double theta, double psi)
 
int hypGe_DoubleGeo ()
 

Variables

double Pi = TMath::Pi()
 

Function Documentation

void ClusterPlacer ( double  x,
double  y,
double  z,
double  GlobalZOffset,
int  ObjectNo,
TGeoVolume *  top,
TGeoVolume *  Clusterr,
double  phi,
double  theta,
double  psi 
)

Definition at line 4 of file hypGe_DoubleGeo.C.

Referenced by hypGe_DoubleGeo(), and hypGe_TripleGeo().

5 {
6 TGeoRotation *Clusterrot = new TGeoRotation("Clusterrot",phi, theta,psi-phi);
7  Clusterrot->RegisterYourself();
8 top->AddNode(Clusterr,ObjectNo,new TGeoCombiTrans(x,y,GlobalZOffset+z,Clusterrot));
9 }
TGeoVolume * top
Double_t z
Double_t x
Double_t y
int hypGe_DoubleGeo ( )

Definition at line 11 of file hypGe_DoubleGeo.C.

References ClusterPlacer(), Double_t, fi, geobuild, geoFace, geoLoad, geom(), gGeoManager, i, Media, outfile, Pi, RotateZ(), Scale(), top, and TString.

12 {
13 
14 gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
15 
16  // Load this libraries
17  gSystem->Load("libGeoBase");
18  gSystem->Load("libParBase");
19  gSystem->Load("libBase");
20  gSystem->Load("libPndData");
21  gSystem->Load("libPassive");
22  TString outfile= "../../../../geometry/hypGe_GeoMarcell_2er.root";
23 
24  TFile* fi = new TFile(outfile,"RECREATE");
25 
26 
27 
28  FairGeoLoader* geoLoad = new FairGeoLoader("TGeo","FairGeoLoader");
29  FairGeoInterface *geoFace = geoLoad->getGeoInterface();
30  geoFace->setMediaFile("../../../../geometry/media_pnd.geo");
31  geoFace->readMedia();
32  geoFace->print();
33 
34  FairGeoMedia *Media = geoFace->getMedia();
35  FairGeoBuilder *geobuild=geoLoad->getGeoBuilder();
36 
37  FairGeoMedium *medGe = Media->getMedium("germanium");
38  Int_t nmedGe=geobuild->createMedium(medGe);
39 
40  // aluminum capsule
41  FairGeoMedium *medcap = Media->getMedium("HYPaluminium");
42  Int_t nmedcap=geobuild->createMedium(medcap);
43 
44  TGeoMedium *Ge = gGeoManager->GetMedium("germanium");
45 
46  //capsule
47  TGeoMedium *Al_sol = gGeoManager->GetMedium("HYPaluminium");
48 
49 
50 
51  TGeoManager *geom = (TGeoManager*)gROOT->FindObject("FAIRGeom");
52  TGeoVolume *top = new TGeoVolumeAssembly("hpGe");
53  TGeoVolume *strange = new TGeoVolumeAssembly("strange");
54 
55 
56  geom->SetTopVolume(top);
57 
58  Double_t GlobalZOffset = -55;
59  int ObjektNr = 0;
60  //Strahlrohr
61  TGeoVolume *Strahlrohr =geom->MakeTube("Strahlrohr",Al_sol,0,7.5,150);
62  Strahlrohr->SetLineColor(kBlue);
63  //strange->AddNode(Strahlrohr,ObjektNr);
64  ObjektNr++;
65  //Außenhülle
66  TGeoVolume *Außenhülle =geom->MakeTube("Außenhülle",Al_sol,45,45.5,100);
67  Außenhülle->SetLineColor(kBlue);
68  //strange->AddNode(Außenhülle,ObjektNr,new TGeoTranslation(0,0,GlobalZOffset));
69  ObjektNr++;
70 
71 //Halteplatte
72  TGeoVolume *HoldingStruc =geom->MakeBox("HoldingStruc",Al_sol,1,45,50);
73  HoldingStruc->SetLineColor(kGreen);
74  //strange->AddNode(HoldingStruc,ObjektNr,new TGeoTranslation(0,0,GlobalZOffset));
75  ObjektNr++;
76 //Hilfskugel
77  TGeoSphere *Kugel = new TGeoSphere("Kugel",1,30,0,180,0,360);
78  TGeoVolume *Kugell = new TGeoVolume("Kugell",Kugel,Al_sol);
79  Kugell->SetLineColor(kBlue);
80  Kugell->SetTransparency(99);
81  //strange->AddNode(Kugell,ObjektNr,new TGeoTranslation(0,0,GlobalZOffset));
82  ObjektNr++;
83 
84 //Nullpunktmarker
85  TGeoSphere *Origin = new TGeoSphere("Origin",0,1,0,180,0,360);
86  TGeoVolume *Originn = new TGeoVolume("Originn",Origin,Al_sol);
87  Originn->SetLineColor(kGreen);
88  //strange->AddNode(Originn,ObjektNr);
89  ObjektNr++;
90 //Kappe
91  //Außen
92  double orangexy[16]={-2.0065,6.5042 , -3.9982,3.0203 , -2.2317,0 , 2.0065,6.5042 , -3.0594,8.2379 , -5.5748,3.9280 , -3.2774,0 , 3.0594,8.3279};
93  double gelbxy[16]={-2.2317,0 , -3.9982,-3.0203 , -2.0065,-6.5042 , 2.0065,-6.5042 , -3.2774,0 , -5.5748,-3.9280 , -3.0594,-8.3279 , 3.0594,-8.3279};
94  double braunxy[16]={2.0065,-6.5042 , 3.9982,-3.0203 , 2.2317,0 , -2.2317,0 , 3.0594,-8.3279 , 5.5748,-3.9580 , 3.2774,0 , -3.2774,0};
95  double grauxy[16]={2.2317,0 , 3.9982,3.0203 , 2.0065,6.5042 , -2.2317,0 , 3.2774,0 , 5.5748,3.9250 , 3.0594,8.3279 , -3.2774,0};
96 
97 
98  TGeoArb8 *orange = new TGeoArb8 ("orange",12.95/2, orangexy );
99  TGeoArb8 *gelb = new TGeoArb8 ("gelb",12.95/2, gelbxy );
100  TGeoArb8 *braun = new TGeoArb8 ("braun",12.95/2, braunxy );
101  TGeoArb8 *grau = new TGeoArb8 ("grau",12.95/2, grauxy );
102 
103 
104  //Innen
105  double orangeInxy[16]={-1.9198,6.3539 , -3.8251,3.0212 , -2.0581,0 , 1.9198,6.3539 , -2.9726,8.1776 , -5.4016,3.9289 , -3.1037,0 , 2.9726,8.1776};
106 
107  double gelbInxy[16]={-2.0581,0 , -3.8251,-3.0212 , -1.9198,-6.3539 , 1.9198,-6.3539 , -3.1037,0 , -5.4016,-3.9289 , -2.9726,-8.1776 , 2.9726,-8.1776};
108  double braunInxy[16]={1.9198,-6.3539 , 3.8251,-3.0212 , 2.0581,0 , -2.0581,0 , 2.9726,-8.1776 , 5.4016,-3.9289 , 3.1037,0 , -3.1057,0};
109  double grauInxy[16]={2.0581,0, 3.8251,3.0212 , 1.9198,6.3539 , -2.0581,0 , 3.1037,0 , 5.4016,3.9289 , 2.9726,8.1776 , -3.1037,0};
110 
111 
112  TGeoTranslation *In_Z = new TGeoTranslation("In_Z",0,0,0.15);
113  In_Z->RegisterYourself();
114  TGeoArb8 *orangeIn = new TGeoArb8 ("orangeIn",(12.95-0.15)/2, orangeInxy );
115  TGeoArb8 *gelbIn = new TGeoArb8 ("gelbIn",(12.95-0.15)/2, gelbInxy );
116  TGeoArb8 *braunIn = new TGeoArb8 ("braunIn",(12.95-0.15)/2, braunInxy );
117  TGeoArb8 *grauIn = new TGeoArb8 ("grauIn",(12.95-0.15)/2, grauInxy );
118 
119 
120 
121 //UpperPart
122  double up1_2xy[16]={-3.0594,8.3279 , -5.5748,3.9280 , -5.4016,3.9289 , -2.9726,8.1776 ,
123  -3.2618,8.6784 , -5.9787,3.9260 , -5.4016,3.9289 , -2.9726,8.1776};
124  double up2_3xy[16]={-5.5748,3.9280 , -3.2774,0 , -3.1037,0 , -5.4016,3.9289 ,
125  -5.9787,3.9260 , -3.6824,0 , -3.1037,0 , -5.4016,3.9289};
126  double up3_4xy[16]={-3.2774,0 , -5.5748,-3.9280 , -5.4016,-3.9289 , -3.1037,0 ,
127 -3.6824,0 , -5.9787,-3.9260 , -5.4016,-3.9289 , -3.1037,0};
128  double up4_5xy[16]={-5.5748,-3.9280 , -3.0594,-8.3279 , -2.9726,-8.1776 ,
129 -5.4016,-3.9289 ,
130 -5.9789,-3.9260 , -3.2618,-8.6784 , -2.9726,-8.1776 , -5.4016,-3.9289};
131  double up5_6xy[16]={-3.0594,-8.3279 , 3.0594,-8.3279 , 2.9726,-8.1776 , -2.9726,-8.1776 , -3.2618,-8.6784 , 3.2618,-8.6784 , 2.9726,-8.1776 , -2.9726,-8.1776};
132  double up6_7xy[16]={5.5748,-3.9280 , 3.0594,-8.3279 , 2.9726,-8.1776 ,
133 5.4016,-3.9289 , 5.9789,-3.9260 , 3.2618,-8.6784 , 2.9726,-8.1776 , 5.4016,-3.9289};
134  double up7_8xy[16]={3.2774,0 , 5.5748,-3.9280 , 5.4016,-3.9289 , 3.1037,0 ,
135 3.6824,0 , 5.9787,-3.9260 , 5.4016,-3.9289 , 3.1037,0};
136 
137  double up8_9xy[16]={5.5748,3.9280 , 3.2774,0 , 3.1037,0 , 5.4016,3.9289 ,
138  5.9787,3.9260 , 3.6824,0 , 3.1037,0 , 5.4016,3.9289};
139 
140  double up9_10xy[16]={3.0594,8.3279 , 5.5748,3.9280 , 5.4016,3.9289 , 2.9726,8.1776 ,
141  3.2618,8.6784 , 5.9787,3.9260 , 5.4016,3.9289 , 2.9726,8.1776};
142  double up10_1xy[16]={-3.0594,8.3279 , 3.0594,8.3279 , 2.9726,8.1776 , -2.9726,8.1776 , -3.2618,8.6784 , 3.2618,8.6784 , 2.9726,8.1776 , -2.9726,8.1776};
143  TGeoArb8 *up1_2 = new TGeoArb8 ("up1_2",2.5, up1_2xy );
144  TGeoArb8 *up2_3 = new TGeoArb8 ("up2_3",2.5, up2_3xy );
145  TGeoArb8 *up3_4 = new TGeoArb8 ("up3_4",2.5, up3_4xy );
146  TGeoArb8 *up4_5 = new TGeoArb8 ("up4_5",2.5, up4_5xy );
147  TGeoArb8 *up5_6 = new TGeoArb8 ("up5_6",2.5, up5_6xy );
148  TGeoArb8 *up6_7 = new TGeoArb8 ("up6_7",2.5, up6_7xy );
149  TGeoArb8 *up7_8 = new TGeoArb8 ("up7_8",2.5, up7_8xy );
150  TGeoArb8 *up8_9 = new TGeoArb8 ("up8_9",2.5, up8_9xy );
151  TGeoArb8 *up9_10 = new TGeoArb8 ("up9_10",2.5, up9_10xy );
152 
153  TGeoArb8 *up10_1 = new TGeoArb8 ("up10_1",2.5, up10_1xy );
154  TGeoTranslation *up_Z = new TGeoTranslation("up_Z",0,0,12.95/2+5./2);
155  up_Z->RegisterYourself();
156 
157 
158 
159  //Deckel
160 double xDeckel[10] = {-3.2618,-5.9787,-3.6824,-5.9787,-3.2618,3.2618,5.9787,3.6824,5.9787,3.2618};
161 
162  double yDeckel[10] ={8.6784,3.9260,0,-3.9260,-8.6784,-8.6784,-3.9260,0,3.9260,8.6784};
163 
164 TGeoXtru *Deckel = new TGeoXtru (2);
165  Deckel->DefinePolygon(10,xDeckel,yDeckel);
166  Deckel->DefineSection(0,12.95/2+5,0,0,1);
167  Deckel->DefineSection(1,12.95/2+5+0.5,0,0,1);
168 TGeoVolume *DeckelVol = new TGeoVolume("Deckel",Deckel,Al_sol);
169  TGeoCompositeShape *KappenForm = new TGeoCompositeShape("KappenForm","orange+gelb+braun+grau-orangeIn:In_Z-gelbIn:In_Z-braunIn:In_Z-grauIn:In_Z+up1_2:up_Z+up2_3:up_Z+up3_4:up_Z+up4_5:up_Z+up5_6:up_Z+up6_7:up_Z+up7_8:up_Z+up8_9:up_Z+up9_10:up_Z+up10_1:up_Z");
170  TGeoVolume *Kappe = new TGeoVolume("Kappe",KappenForm,Al_sol);
171  Kappe->SetLineColor(kBlue);
172  DeckelVol->SetLineColor(kBlue);
173  //Kappe->SetTransparency(50);
174  //DeckelVol->SetTransparency(50);
175  /*TGeoRotation *rightPosRot = new TGeoRotation("rightPosRot", 0,0,180+130.2);
176  rightPosRot->RegisterYourself();
177  TGeoCombiTrans *rightPos = new TGeoCombiTrans(0,0,6.475,rightPosRot);
178  rightPos->RegisterYourself();*/
179 
180 
181  //Kapsel
182  TGeoTube *CapTube = new TGeoTube("CapTube",0,3.75,5);
183  TGeoPgon *CapPgon = new TGeoPgon("CapPgon",0.,360.,6,2);
184  CapPgon->DefineSection(0,-5,3.0571,3.8);
185  CapPgon->DefineSection(1,4.9094,3.75,3.8);
186 double CapThickness = 0.08;
187 double Scale = (3.0571-CapThickness)/3.0571;
188  TGeoTube *CapInTube = new TGeoTube("CapInTube",0,3.75*Scale,5);
189  TGeoPgon *CapInPgon = new TGeoPgon("CapInPgon",0.,360.,6,2);
190  CapInPgon->DefineSection(0,-5,3.0571-CapThickness,3.8);
191  CapInPgon->DefineSection(1,4.9094,3.75-CapThickness,3.8);
192  TGeoTube *CapTop = new TGeoTube("CapTop",0,3.75,CapThickness/2);
193  TGeoTranslation *CapTop_Z = new TGeoTranslation("CapTop_Z",0,0,5-CapThickness/2);
194  CapTop_Z->RegisterYourself();
195  TGeoCompositeShape *CapOutForm= new TGeoCompositeShape("CapOutForm","(CapTube-CapPgon)");
196  TGeoCompositeShape *CapInForm= new TGeoCompositeShape("CapInForm","(CapInTube-CapInPgon)");
197  TGeoTranslation *Cap_Z = new TGeoTranslation("Cap_Z",0,0,CapThickness);
198  Cap_Z->RegisterYourself();
199  TGeoCompositeShape *CapForm = new TGeoCompositeShape("CapForm","CapOutForm-CapInForm:Cap_Z+CapTop:CapTop_Z");
200 
201  TGeoVolume *Capsule = new TGeoVolume("Capsule",CapForm,Al_sol);
202  Capsule->SetTransparency(10);
203  Capsule->SetLineColor(10);
204  //top->AddNode(Capsule,5);
205 
206 //Kristall
207 double VacThickness = 0.08;
208 double Scale2 =(3.0571-CapThickness-VacThickness)/3.0571;
209 cout << Scale2 << endl;
210  TGeoTube *CryTube = new TGeoTube("CryTube",0,3.75,3.5);
211  TGeoPgon *CryPgon = new TGeoPgon("CryPgon",0.,360.,6,2);
212  CryPgon->DefineSection(0,-3.5,3.0571-CapThickness-VacThickness,3.8);
213  CryPgon->DefineSection(1,1.5+4.9094,3.75-CapThickness-VacThickness,3.8);
214  TGeoTube *CryHole = new TGeoTube("CryHole",0,0.5,3);
215  TGeoTranslation *CryHoleTrans = new TGeoTranslation("CryHoleTrans",0,0,0.5);
216 CryHoleTrans->RegisterYourself();
217 TGeoCompositeShape *CryForm= new TGeoCompositeShape("CryForm","((CryTube-CryPgon)-CryHole:CryHoleTrans)");
218 
219 TGeoVolume *Crystal = new TGeoVolume("Crystal",CryForm,Ge);
220  Crystal->SetLineColor(kGreen);
221  Crystal->SetFillColor(kGreen);
222 TGeoTranslation *CryTrans = new TGeoTranslation(0,0,5-1.5+CapThickness+VacThickness);
223 CryTrans->RegisterYourself();
224 //top->AddNode(Crystal,6,CryTrans); //top->AddNode(Kappe,0,rightPos);
225  //top->AddNode(DeckelVol,1,rightPos);
226 
227 
228 // Capsule+Crystal
229 TGeoVolume *CryCap[48];
230 for(int i = 0; i < 48;i++)
231 {
232  CryCap[i]= new TGeoVolumeAssembly("CryCap");
233  CryCap[i]->AddNode(Crystal,i+1,CryTrans);
234  CryCap[i]->AddNode(Capsule,100+i+1,new TGeoTranslation(0,0,5));
235 }
236 double TripleXOffset = 0;//-3.53/2-0.2;
237 double TripleYOffset = 3.0693;//-6.1386/2;
238 TGeoRotation *CryCap1rot = new TGeoRotation("CryCap1rot", 0,+4,-0);
239  CryCap1rot->RegisterYourself();
240  TGeoCombiTrans *CryCap1Combitrans = new TGeoCombiTrans(0+TripleXOffset,-TripleYOffset,0.45+0.2843,CryCap1rot);
241  CryCap1Combitrans->RegisterYourself();
242 
243 TGeoRotation *CryCap2rot = new TGeoRotation("CryCap2rot", 0,-4,-0);
244  CryCap2rot->RegisterYourself();
245  TGeoCombiTrans *CryCap2Combitrans = new TGeoCombiTrans(0,TripleYOffset,0.45+0.2843,CryCap2rot);
246  CryCap2Combitrans->RegisterYourself();
247 
248 TGeoRotation *CryCap3rot = new TGeoRotation("CryCap3rot", 0,-4,0);
249  CryCap3rot->RegisterYourself();
250  TGeoCombiTrans *CryCap3Combitrans = new TGeoCombiTrans(0+TripleXOffset,6.1386+TripleYOffset,0.45+0.2843,CryCap3rot);
251  CryCap3Combitrans->RegisterYourself();
252 
253 cout << "test0" << endl;
254 
255 //Building 1 ClusterTemp
256 TGeoVolume *Pointingtube = geom->MakeTube("Pointer",Al_sol,0,0.2,150);
257 
258 TGeoVolume *Cluster[24];
259 TGeoVolume *ClusterTemp[24];
260 for(int i = 0;i < 24; i ++)
261 {
262  char buffer[20];
263  sprintf(buffer, "Cluster_%d",i);
264  Cluster[i]= new TGeoVolumeAssembly(buffer);
265  ClusterTemp[i]= new TGeoVolumeAssembly("ClusterTemp");
266  //ClusterTemp[i]->AddNode(Pointingtube,5);
267  ClusterTemp[i]->AddNode(Kappe,200+i+1,new TGeoTranslation(0,0,6.475));
268  ClusterTemp[i]->AddNode(DeckelVol,300+i+1,new TGeoTranslation(0,0,6.475));
269  ClusterTemp[i]->AddNode(CryCap[2*i],1000+i+1,CryCap1Combitrans);
270 
271  ClusterTemp[i]->AddNode(CryCap[2*i+1],2000+i+1,CryCap2Combitrans);
272 
273  cout <<"winkel "<< 180/Pi*TMath::ATan(12.5751/-26.3009) << endl;
274  cout <<"winkel2 "<< 180/Pi*TMath::ATan(7.0801/-26.3009) << endl;
275  TGeoRotation *ClusterTemprot = new TGeoRotation;
276  ClusterTemprot-> RotateZ(0);
277  ClusterTemprot->RotateY(180);
278  ClusterTemprot->RotateX(0);
279  ClusterTemprot->RegisterYourself();
280 
281 Cluster[i]->AddNode(ClusterTemp[i],400+i,new TGeoCombiTrans(0,0,0,ClusterTemprot));
282 }
283 //top->AddNode(ClusterTemp,100,new TGeoCombiTrans(-7.5713,12.0363,GlobalZOffset-26.416,ClusterTemprot2));
284 
285 cout << "test1" << endl;
286 
287 /*TGeoRotation *Clusterrot = new TGeoRotation;
288  Clusterrot-> RotateZ(0);
289  Clusterrot->RotateX(-180/Pi*TMath::ATan(12.5751/-26.3009));
290  Clusterrot->RotateY(180/Pi*TMath::ATan(7.0801/-26.3009));
291  Clusterrot->RegisterYourself();
292 top->AddNode(Cluster,1000,new TGeoCombiTrans(7.0801,12.5751,GlobalZOffset-26.3009,Clusterrot));*/
293 
294 //First Quarter
295 
296 ClusterPlacer(-5.5,12.8525, -26.5436, GlobalZOffset , 1000, strange,Cluster[0],23.1678, 27.7747, -20.74+23.1678);
297 
298 ClusterPlacer(-12.3507,8.4346, -26.0061, GlobalZOffset , 2000, strange,Cluster[1],55.6699, 29.9031, -50.21+55.6699);
299  ClusterPlacer(-5.5,23.0778, -18.3621, GlobalZOffset , 3000, strange,Cluster[2],13.4046, 52.2607, -8.3+13.4046);
300 
301  ClusterPlacer(-12.0846,19.6444, -19.1849, GlobalZOffset , 4000, strange,Cluster[3],31.5985, 50.2457, -21.67+31.5985);
302 
303  ClusterPlacer(-18.1658,14.9679, -18.6003, GlobalZOffset , 5000, strange,Cluster[4],50.5126, 51.6831, -35.43+50.5126);
304 
305  ClusterPlacer(-20.9778,5.5762, -20.7083, GlobalZOffset , 6000, strange,Cluster[5],75.1143, 46.348, 9.44+75.1143);
306 
307 //Second Quarter
308 
309 ClusterPlacer(-5.5,-12.8525, -26.5436, GlobalZOffset , 7000, strange,Cluster[6],180-23.1678, 27.7747, 180-(-20.74+23.1678));
310 
311 ClusterPlacer(-12.3507,-8.4346, -26.0061, GlobalZOffset , 8000, strange,Cluster[7],180-55.6699, 29.9031, 180-(-50.21+55.6699));
312  ClusterPlacer(-5.5,-23.0778, -18.3621, GlobalZOffset , 9000, strange,Cluster[8],180-13.4046, 52.2607, 180-(-8.3+13.4046));
313 
314  ClusterPlacer(-12.0846,-19.6444, -19.1849, GlobalZOffset , 10000, strange,Cluster[9],180-31.5985, 50.2457, 180-(-21.67+31.5985));
315 
316  ClusterPlacer(-18.1658,-14.9679, -18.6003, GlobalZOffset , 11000, strange,Cluster[10],180-50.5126, 51.6831, 180-(-35.43+50.5126));
317 
318  ClusterPlacer(-20.9778,-5.5762, -20.7083, GlobalZOffset , 12000, strange,Cluster[11],180-75.1143, 46.348, 180-(9.44+75.1143));
319 
320 //Third Quarter
321 
322 ClusterPlacer(5.5,-12.8525, -26.5436, GlobalZOffset , 13000, strange,Cluster[12],180+23.1678, 27.7747, 180+(-20.74+23.1678));
323 
324 ClusterPlacer(12.3507,-8.4346, -26.0061, GlobalZOffset , 14000, strange,Cluster[13],180+55.6699, 29.9031, 180+(-50.21+55.6699));
325  ClusterPlacer(5.5,-23.0778, -18.3621, GlobalZOffset , 15000, strange,Cluster[14],180+13.4046, 52.2607, 180+(-8.3+13.4046));
326 
327  ClusterPlacer(12.0846,-19.6444, -19.1849, GlobalZOffset , 160000, strange,Cluster[15],180+31.5985, 50.2457, 180+(-21.67+31.5985));
328 
329  ClusterPlacer(18.1658,-14.9679, -18.6003, GlobalZOffset , 17000, strange,Cluster[16],180+50.5126, 51.6831, 180+(-35.43+50.5126));
330 
331  ClusterPlacer(20.9778,-5.5762, -20.7083, GlobalZOffset , 18000, strange,Cluster[17],180+75.1143, 46.348, 180+(9.44+75.1143));
332 
333 //Fourth Quarter
334 
335 ClusterPlacer(5.5,12.8525, -26.5436, GlobalZOffset , 19000, strange,Cluster[18],-23.1678, 27.7747, -(-20.74+23.1678));
336 
337 ClusterPlacer(12.3507,8.4346, -26.0061, GlobalZOffset , 20000, strange,Cluster[19],-55.6699, 29.9031, -(-50.21+55.6699));
338  ClusterPlacer(5.5,23.0778, -18.3621, GlobalZOffset , 21000, strange,Cluster[20],-13.4046, 52.2607, -(-8.3+13.4046));
339 
340  ClusterPlacer(12.0846,19.6444, -19.1849, GlobalZOffset , 22000, strange,Cluster[21],-31.5985, 50.2457, -(-21.67+31.5985));
341 
342  ClusterPlacer(18.1658,14.9679, -18.6003, GlobalZOffset , 23000, strange,Cluster[22],-50.5126, 51.6831, -(-35.43+50.5126));
343 
344  ClusterPlacer(20.9778,5.5762, -20.7083, GlobalZOffset , 24000, strange,Cluster[23],-75.1143, 46.348, -(9.44+75.1143));
345 
346 
347  top->AddNode(strange,0);
348  geom->CloseGeometry();
349  top->Write();
350  fi->Close();
351  //strange->Draw(""); strange->Raytrace();
352  strange->Draw("ogl");
353  geom->CheckOverlaps(0.0000000001,option="d"); //1 Overlap von Strahlrohr + Kugel ist normal!!!!!!!!!!!!!!!!!
354  geom->PrintOverlaps();
355  cout <<"Anzahl der Objekte: "<< ObjektNr << endl;
356  //Paket[1]->Print();
357  return 0;
358 }
FairGeoLoader * geoLoad
Int_t i
Definition: run_full.C:25
FairGeoMedia * Media
TGeoManager * gGeoManager
TGeoVolume * top
rotCave RotateZ(90)
FairGeoBuilder * geobuild
TFile * fi
Double_t
f1 Scale(1/numero)
void ClusterPlacer(double x, double y, double z, double GlobalZOffset, int ObjectNo, TGeoVolume *top, TGeoVolume *Clusterr, double phi, double theta, double psi)
FairGeoInterface * geoFace
Double_t Pi
TString outfile

Variable Documentation

double Pi = TMath::Pi()

Definition at line 2 of file hypGe_DoubleGeo.C.