/[PAMELA software]/PamVMC/ac/src/PamVMCDetCard.cxx
ViewVC logotype

Annotation of /PamVMC/ac/src/PamVMCDetCard.cxx

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (hide annotations) (download)
Fri Jun 12 18:39:02 2009 UTC (15 years, 6 months ago) by pam-rm2
Branch: MAIN
CVS Tags: v1r0, HEAD
Changes since 1.1: +0 -0 lines
- Introduced user-defined names of output files and random seeds number.
Users can do it use options of PamVMCApplication constructor:
PamVMCApplication(const char* name,  const char *title, const char*
filename="pamtest", Int_t seed=0).
The Random object that I use is TRandom3 object which has astronomical
large period (in case of default initialization 0). All random generators
in the code use this object by calling of gRandom singleton which keeps
it.

- Corrected TOF digitization routine. No problems with TDC hits due to
hadronic interactions anymore.

- Some small changes was done to compile code under Root 5.23. +
geant4_vmc v. 2.6 without any warnings

- Some classes of PamG4RunConfiguartion was changed for geant4_vmc v.
2.6.Some obsolete classes was deleted as soon as developers implemented
regions.

- Navigation was changed from "geomRootToGeant4" to "geomRoot", because on
VMC web page written that as soon as Geant4 has no option ONLY/MANY
translation of overlapped geometry to Geant4 through VGM could be wrong.
I'd like to stay with Root navigation:
http://root.cern.ch/root/vmc/Geant4VMC.html. This should be default
option.

- New Tracker digitization routine written by Sergio was implemented

- PamVMC again became compatible with geant4_vmc v.2.5 and ROOT 5.20.
 The problem was that ROOT developers introduced in TVirtualMC class a new
method SetMagField and new base class:TVirtualMagField from which
user-defined classes shoukd be derived

1 nikolas 1.1 #include <TMath.h>
2     #include "PamVMCDetCard.h"
3    
4     ClassImp(PamVMCDetCard)
5    
6     using TMath::Tan;
7     using TMath::ATan;
8     using TMath::Sin;
9     using TMath::Cos;
10     using TMath::Pi;
11    
12     void PamVMCDetCard::DefineGeometry(){
13    
14     TGeoMaterial *m=0;
15     TGeoMixture *x=0;
16     TString s = "ALUMINIUM";
17     m = GetMat(s);
18     if(!m){
19     m = new TGeoMaterial(s,26.98,13,2.7);
20     m->SetUniqueID( 9);
21     }
22    
23     s = "IRON";
24     m = GetMat(s);
25     if(!m){
26     m = new TGeoMaterial(s,55.85,26,7.87);
27     m->SetUniqueID( 10);
28     }
29    
30     s = "SCINT";
31     x = (TGeoMixture*)GetMat(s);
32     if(!x){
33     x = new TGeoMixture(s,2, 1.03200 );
34     x->SetUniqueID( 17);
35     x->DefineElement(0,12.01,6,0.922427);
36     x->DefineElement(1,1.01,1,0.7757296E-01);
37     }
38    
39     s = "N2GAS";
40     m = GetMat(s);
41     if (!m){
42     m = new TGeoMaterial(s,14.01,7,0.1250000E-02);
43     m->SetUniqueID( 19);
44     }
45    
46     s = "PLAST";
47     x = (TGeoMixture*)GetMat(s);
48     if(!x){
49     x = new TGeoMixture(s,2, 1.03200 );
50     x->SetUniqueID( 28);
51     x->DefineElement(0,12.01,6,0.9929774);
52     x->DefineElement(1,1.01,1,0.7022570E-02);
53     }
54    
55     TGeoMedium *n =0;
56    
57     s="ALUMINIUM";
58     n = (GetMed(s))?GetMed(s): new TGeoMedium(s,1,9,-1,1,40,1,100,0.5000000E-01,0.136283,0.5000000E-03);
59    
60     s = "N2 GAS";
61     n = (GetMed(s))?GetMed(s): new TGeoMedium(s,3,19,-1,1,40,1,0.5000000E-01,0.5000000E-01,0.1000000E-02,0.5000000E-03);
62    
63     s = "SCINTILLATOR";
64     n = (GetMed(s))?GetMed(s): new TGeoMedium(s,10,17,1,1,40,1,0.5000000E-01,0.5000000E-01,0.1000000E-01,0.5000000E-03);
65    
66     s = "PLASTIC";
67     n = (GetMed(s))?GetMed(s): new TGeoMedium(s,18,28,-1,1,40,1,100,0.5000000E-01,0.1000000E-01,0.5000000E-03);
68    
69     s = "IRON";
70     n = (GetMed(s))?GetMed(s): new TGeoMedium(s,27,10,-1,1,40,1,100,0.5000000E-01,0.2491200E-02,0.5000000E-03);
71    
72    
73     TGeoVolume *v = 0;
74    
75     Double_t H1=6.6;
76     Double_t H2=11.55;
77     Double_t B1=20.95+3.6+5.8+H1/Tan(76./180.*Pi());
78     Double_t C1=H2/Tan(76./180.*Pi());
79     Double_t A1=37.18273-C1;
80     Double_t D1=37.18273-20.95-3.6-5.8;
81     //Double_t F1=C1+H1/Tan(76./180.*Pi());
82     Double_t ANG=ATan((B1/2.+D1-A1/2.)/18.15)/Pi()*180.;
83    
84     Double_t B2=17.45+3.6+5.8+H1/Tan(76./180.*Pi());
85     Double_t C2=H2/Tan(76./180.*Pi());
86     Double_t A2=31.98273-C2;
87     Double_t D2=31.98273-17.45-3.6-5.8;
88     //Double_t F2=C2+H1/Tan(76./180.*Pi());
89     Double_t ANG2=ATan((B2/2.+D2-A2/2.)/18.15)/Pi()*180.;
90    
91    
92     Double_t BB=B1/2.+1.1*(1./Cos(ATan(D1/18.15))-D1/18.15+1./Tan(76./180.*Pi())+1./Sin(76./180.*Pi()))/2.;
93     Double_t AA=A1/2.+1.1*(1./Cos(ATan(D1/18.15))+D1/18.15-1./Tan(76./180.*Pi())+1./Sin(76./180.*Pi()))/2.;
94     Double_t DD=10.175*2.*D1/18.15;
95     Double_t CAR1_2=-ATan((BB+DD-AA)/(2.*10.175))/Pi()*180.;
96     Double_t CAR1_9=BB;
97     Double_t C1D1_9=B1/2.;
98     Double_t C2D1_9=B2/2.;
99    
100     s = "C1D1";
101     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("SCINTILLATOR"),9.075,-ANG,0.,0.4,A1/2.,A1/2.,0.,0.4,C1D1_9,C1D1_9,0.);
102    
103    
104    
105     s = "C2D1";
106     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("SCINTILLATOR"),9.075,-ANG2,0.,0.4,A2/2.,A2/2.,0.,0.4,C2D1_9,C2D1_9,0.);
107    
108    
109     s = "CAR1";
110     v = (GetVol(s))?GetVol(s):gGeoManager->MakeTrap(s,GetMed("ALUMINIUM"),10.175,CAR1_2,0.,0.55,AA,AA,0.,0.55,CAR1_9,CAR1_9,0.);
111    
112    
113     BB=B1/2.+0.9*(1./Cos(ATan(D1/18.15))-D1/18.15+1./Tan(76./180.*Pi())+1./Sin(76./180.*Pi()))/2.;
114     AA=A1/2.+0.9*(1./Cos(ATan(D1/18.15))+D1/18.15-1./Tan(76./180.*Pi())+1./Sin(76./180.*Pi()))/2.;
115     DD=9.975*2.*D1/18.15;
116     Double_t CR1P_2=-ATan((BB+DD-AA)/(2.*9.975))/Pi()*180.;
117     Double_t CR1P_9=BB;
118    
119     s = "CR1P";
120     v = (GetVol(s))?GetVol(s):gGeoManager->MakeTrap(s,GetMed("PLASTIC"),9.975,CR1P_2,0.,0.4,AA,AA,0.,0.4,CR1P_9,CR1P_9,0.);
121    
122     //===========//
123    
124     BB=B2/2.+1.1*(1./Cos(ATan(D2/18.15))-D2/18.15+1./Tan(76./180.*Pi())+1./Sin(76./180.*Pi()))/2.;
125     AA=A2/2.+1.1*(1./Cos(ATan(D2/18.15))+D2/18.15-1./Tan(76./180.*Pi())+1./Sin(76./180.*Pi()))/2.;
126     DD=10.175*2.*D2/18.15;
127     Double_t CAR2_2=-ATan((BB+DD-AA)/(2.*10.175))/Pi()*180.;
128     Double_t CAR2_9=BB;
129    
130     s = "CAR2";
131     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("ALUMINIUM"),10.175,CAR2_2,0.,0.55,AA,AA,0.,0.55,CAR2_9,CAR2_9,0.);
132    
133     //==========//
134    
135     BB=B2/2.+0.9*(1./Cos(ATan(D2/18.15))-D2/18.15+1./Tan(76./180.*Pi())+1./Sin(76./180.*Pi()))/2.;
136     AA=A2/2.+0.9*(1./Cos(ATan(D2/18.15))+D2/18.15-1./Tan(76./180.*Pi())+1./Sin(76./180.*Pi()))/2.;
137     DD=9.975*2.*D2/18.15;
138     Double_t CR2P_2=-ATan((BB+DD-AA)/(2.*9.975))/Pi()*180.;
139     Double_t CR2P_9=BB;
140    
141     s = "CR2P";
142     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("PLASTIC"),9.975,CR2P_2,0.,0.4,AA,AA,0.,0.4,CR2P_9,CR2P_9,0.);
143    
144     //==========//
145    
146     AA=4.8+1.8;
147     BB=AA/Tan(76./180.*Pi())+AA*3.6/4.8;
148     Double_t VSN1_2=ATan((BB/2.-AA/Tan(76./180.*Pi()))/AA)/Pi()*180.;
149     Double_t VSN1_9=BB/2.;
150    
151     s = "VSN1";
152     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("N2 GAS"),3.3,VSN1_2,0.,0.4,0.,0.,0.,0.4,VSN1_9,VSN1_9,0.);
153    
154     //==========//
155    
156     AA=1.8;
157     BB=AA*(5.8/1.8-3.6/4.8);
158     Double_t VSN2_1=0.9;
159     Double_t VSN2_2=ATan((BB/2.+AA*3.6/4.8)/AA)/Pi()*180.;
160     Double_t VSN2_9=2.225;
161    
162     s = "VSN2";
163     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("PLASTIC"),VSN2_1,VSN2_2,0.,0.4,0.,0.,0.,0.4,VSN2_9,VSN2_9,0.);
164    
165     //=========//
166    
167     AA=1.8+0.9-Cos(ATan(3.6/4.8))*0.9/Sin(ATan(5.8/1.8)-ATan(3.6/4.8));
168     BB=AA*(5.8/1.8-3.6/4.8);
169     Double_t VPN2_1=AA/2.;
170     Double_t VPN2_2=ATan((BB/2.+AA*3.6/4.8)/AA)/Pi()*180.;
171     Double_t VPN2_9=BB/2.;
172    
173    
174     s = "VPN2";
175     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("ALUMINIUM"),VPN2_1,VPN2_2,0.,/*0.55*/ 0.4,0.,0.,0.,/*0.55*/0.4,VPN2_9,VPN2_9,0.);
176    
177     //=========//
178    
179     AA=(0.9/Sin(76./180.*Pi()))/(1./Tan(76./180.*Pi())+3.6/4.8)+4.8+1.8+0.9;
180     BB=AA/Tan(76./180.*Pi())+AA*3.6/4.8;
181     Double_t VPN1_1=AA/2.;
182     Double_t VPN1_9=BB/2.;
183    
184     s = "VPN1";
185     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("N2 GAS"),VPN1_1,VSN1_2,0.,0.4,0.,0.,0.,0.4,VPN1_9,VPN1_9,0.);
186    
187     //=========//
188    
189     AA=(1.1/Sin(76./180.*Pi()))/(1./Tan(76./180.*Pi())+3.6/4.8)+4.8+1.8+1.1;
190     Double_t VAN1_1=AA/2.;
191     BB=AA/Tan(76./180.*Pi())+AA*3.6/4.8;
192     Double_t VAN1_9=BB/2.;
193    
194     s = "VAN1";
195     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("N2 GAS"),VAN1_1,VSN1_2,0.,0.55,0.,0.,0.,0.55,VAN1_9,VAN1_9,0.);
196    
197     //=========//
198    
199     AA=1.8+1.1-Cos(ATan(3.6/4.8))*1.1/Sin(ATan(5.8/1.8)-ATan(3.6/4.8));
200     BB=AA*(5.8/1.8-3.6/4.8);
201     Double_t VAN2_1=AA/2.;
202     Double_t VAN2_2=ATan((BB/2.+AA*3.6/4.8)/AA)/Pi()*180.;
203     Double_t VAN2_9=BB/2.;
204    
205     s = "VAN2";
206     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("N2 GAS"),VAN2_1,VAN2_2,0.,0.55,0.,0.,0.,0.55,VAN2_9,VAN2_9,0.);
207    
208     //=========//
209    
210     s = "CARD";
211     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),27.,22.8,12.35);
212     s = "LEGB";
213     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("ALUMINIUM"),2.15,3.575,11.85);
214     s = "LEG1";
215     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("N2 GAS"),0.65,0.,0.,0.15,6.85,6.85,0.,0.15,10.85,10.85,0.);
216     s = "LEG2";
217     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),0.65,1.65,11.35);
218     s = "LEG3";
219     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),0.1,1.3,0.325);
220     s = "LEG4";
221     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),0.65,1.625,11.85);
222     s = "LEG5";
223     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),1.125,2.575,11.85);
224     s = "LEG6";
225     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),0.1,0.55,11.2);
226     s = "LEG7";
227     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),1.1,0.75,3.25);
228     s = "LEG8";
229     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),1.1,0.75,4.35);
230     s = "LEG9";
231     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),1.1,0.75,3.25);
232     s = "TPLT";
233     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("ALUMINIUM"),27.,22.8,0.5);
234     s = "TOPC";
235     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),20.4,16.,0.5);
236     s = "TH11";
237     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),2.8,3.2,0.5);
238     s = "TH12";
239     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),2.8,5.3,0.5);
240     s = "TH21";
241     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),1.7,3.,0.5);
242     s = "TH22";
243     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),4.9,3.,0.5);
244     s = "TOPT";
245     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTrap(s,GetMed("N2 GAS"),0.5,0.,0.,2.25,2.25,0.,-26.565,2.25,2.25,0.,-26.565);
246     s = "TOHO";
247     v = (GetVol(s))?GetVol(s): gGeoManager->MakeTube(s,GetMed("N2 GAS"),0.,0.7,0.5);
248     s = "MGSC";
249     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("IRON"),16.,15.4,0.12456);
250     s = "MGSH";
251     v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),9.8,8.,0.12456);
252    
253    
254     Double_t X,Y,Z;
255     Double_t X1,Y1,Z1,X2,Y2,Z2;
256     Double_t ZH=49.229-(13.05+10.639+2.97+2.*22.615+1.6)-1.6;
257    
258     Y=-16.014+19.45/2.*Sin(17./180.*Pi());
259     Z=47.661+ZH-12.35-19.45*Cos(17./180.*Pi())/2.;
260     X=((35.6/2.)-Tan(ANG/180.*Pi())*19.45/2.)-18.67;
261     X1=X; Y1=Y; Z1=Z;
262     GetVol("CARD")->AddNode(GetVol("CAR1"),1,new TGeoCombiTrans(X1,Y1,Z1,GetRot("rot11")));
263     Z=10.175-VAN1_1;
264     X=-(CAR1_9-10.175*Tan(CAR1_2/180.*Pi())-(VAN1_9-VAN1_1*Tan(VSN1_2/180.*Pi())));
265     GetVol("CAR1")->AddNode(GetVol("VAN1"),1,new TGeoTranslation(X,0.,Z));//many
266     Z=10.175-VAN2_1;
267     X=-(CAR1_9-10.175*Tan(CAR1_2/180.*Pi())-(2.*VAN1_9+VAN2_9-VAN2_1*Tan(VAN2_2/180.*Pi())));
268     GetVol("CAR1")->AddNode(GetVol("VAN2"),1,new TGeoTranslation(X,0.,Z));//many
269     X=(1.1-0.9)*(1./Cos(ATan(D1/18.15))-1./Sin(76./180.*Pi()))/2.;
270     GetVol("CAR1")->AddNodeOverlap(GetVol("CR1P"),1,new TGeoTranslation(X,0.,0.));//only
271     Z=9.975-VPN1_1;
272     X=-(CR1P_9-9.975*Tan(CR1P_2/180.*Pi())-(VPN1_9-VPN1_1*Tan(VSN1_2/180.*Pi())));
273     GetVol("CR1P")->AddNode(GetVol("VPN1"),1,new TGeoTranslation(X,0.,Z)); //many
274     Z=9.975-VPN2_1;
275     X=-(CR1P_9-9.975*Tan(CR1P_2/180.*Pi())-(2.*VPN1_9+VPN2_9-VPN2_1*Tan(VPN2_2/180.*Pi())));
276     GetVol("CR1P")->AddNode(GetVol("VPN2"),1,new TGeoTranslation(X,0.,Z));//many
277     X=0.9*(1./Cos(ATan(D1/18.15))-1./Sin(76./180.*Pi()))/2.;
278     GetVol("CR1P")->AddNodeOverlap(GetVol("C1D1"),1,new TGeoTranslation(X,0.,0.));//only
279     X=-(C1D1_9+9.075*Tan(ANG/180.*Pi())-(VSN1_9-3.3*Tan(VSN1_2/180.*Pi())));
280     GetVol("C1D1")->AddNode(GetVol("VSN1"),1,new TGeoTranslation(X,0.,5.775)); //only
281     X=-(C1D1_9+9.075*Tan(ANG/180.*Pi())-(2.*VSN1_9+2.225-0.9*Tan(VSN2_2/180.*Pi())));
282     GetVol("C1D1")->AddNode(GetVol("VSN2"),1,new TGeoTranslation(X,0.,8.175)); //only
283    
284    
285     GetVol("CARD")->AddNode(GetVol("CAR1"),2,new TGeoCombiTrans(-X1,-Y1,Z1,GetRot("rot12")));
286    
287     X=19.123-19.45/2.*Sin(20./180.*Pi());
288     Z=47.358+ZH-12.35-19.45*Cos(20./180.*Pi())/2.;
289     Y=(30.4/2.-Tan(ANG2/180.*Pi())*19.45/2.)-16.8;
290     X2=X; Y2=Y; Z2=Z;
291    
292     GetVol("CARD")->AddNode(GetVol("CAR2"),1,new TGeoCombiTrans(X2,Y2,Z2,GetRot("rot14")));
293    
294     Z=10.175-VAN1_1;
295     X=-(CAR2_9-10.175*Tan(CAR2_2/180.*Pi())-(VAN1_9-VAN1_1*Tan(VSN1_2/180.*Pi())));
296     GetVol("CAR2")->AddNode(GetVol("VAN1"),2,new TGeoTranslation(X,0.,Z)); //many
297     Z=10.175-VAN2_1;
298     X=-(CAR2_9-10.175*Tan(CAR2_2/180.*Pi())-(2.*VAN1_9+VAN2_9-VAN2_1*Tan(VAN2_2/180.*Pi())));
299     GetVol("CAR2")->AddNode(GetVol("VAN2"),2,new TGeoTranslation(X,0.,Z)); //many
300     X=(1.1-0.9)*(1./Cos(ATan(D2/18.15))-1./Sin(76./180.*Pi()))/2.;
301     GetVol("CAR2")->AddNodeOverlap(GetVol("CR2P"),1,new TGeoTranslation(X,0.,0.)); // only
302     Z=9.975-VPN1_1;
303     X=-(CR2P_9+9.975*Tan(ANG2/180.*Pi())-(VPN1_9-VPN1_1*Tan(VSN1_2/180.*Pi())));
304     GetVol("CR2P")->AddNode(GetVol("VPN1"),2,new TGeoTranslation(X,0.,Z)); //many
305     Z=9.975-VPN2_1;
306     X=-(CR2P_9-9.975*Tan(CR2P_2/180.*Pi())-(2.*VPN1_9+VPN2_9-VPN2_1*Tan(VPN2_2/180.*Pi())));
307     GetVol("CR2P")->AddNode(GetVol("VPN2"),2,new TGeoTranslation(X,0.,Z));//many
308     X=0.9*(1./Cos(ATan(D2/18.15))-1./Sin(76./180.*Pi()))/2.;
309     GetVol("CR2P")->AddNodeOverlap(GetVol("C2D1"),1,new TGeoTranslation(X,0.,0.));//only
310     Z=9.075-3.3;
311     X=-(C2D1_9+9.075*Tan(ANG2/180.*Pi())-(VSN1_9-3.3*Tan(VSN1_2/180.*Pi())));
312     GetVol("C2D1")->AddNode(GetVol("VSN1"),2,new TGeoTranslation(X,0.,Z)); //only
313     Z=9.075-0.9;
314     X=-(C2D1_9+9.075*Tan(ANG2/180.*Pi())-(2.*VSN1_9+VSN2_9-VSN2_1*Tan(VSN2_2/180.*Pi())));
315     GetVol("C2D1")->AddNode(GetVol("VSN2"),2,new TGeoTranslation(X,0.,Z)); //only
316    
317     GetVol("CARD")->AddNode(GetVol("CAR2"),2,new TGeoCombiTrans(-X2,-Y2,Z2,GetRot("rot13")));
318    
319     //==Checked==//
320    
321     GetVol("CARD")->AddNode(GetVol("LEGB"),1,new TGeoTranslation(-22.9,-18.575,-0.5));
322     GetVol("LEGB")->AddNode(GetVol("LEG1"),1,new TGeoCombiTrans(-1.5,-3.425,0.,GetRot("rot7")));
323     GetVol("LEGB")->AddNode(GetVol("LEG1"),2,new TGeoCombiTrans(-1.5,0.175,0.,GetRot("rot7")));
324     GetVol("LEGB")->AddNode(GetVol("LEG2"),1,new TGeoTranslation(-1.5,-1.625,0.));
325     GetVol("LEGB")->AddNode(GetVol("LEG3"),1,new TGeoTranslation(-0.55,2.275,11.525));
326     GetVol("LEGB")->AddNode(GetVol("LEG3"),2,new TGeoTranslation(-0.55,2.275,-11.525));
327     GetVol("LEGB")->AddNode(GetVol("LEG4"),1,new TGeoTranslation(-1.5,1.95,0.));
328     GetVol("LEGB")->AddNode(GetVol("LEG5"),1,new TGeoTranslation(1.025,1.,0.));
329     GetVol("LEGB")->AddNode(GetVol("LEG6"),1,new TGeoTranslation(-0.75,3.025,0.));
330     GetVol("LEGB")->AddNode(GetVol("LEG7"),1,new TGeoTranslation(0.65,-2.825,8.));
331     GetVol("LEGB")->AddNode(GetVol("LEG8"),1,new TGeoTranslation(0.65,-2.825,0.));
332     GetVol("LEGB")->AddNode(GetVol("LEG9"),1,new TGeoTranslation(0.65,-2.825,-8.));
333     GetVol("CARD")->AddNode(GetVol("LEGB"),2,new TGeoCombiTrans(-22.9,18.575,-0.5,GetRot("rot10")));
334     GetVol("CARD")->AddNode(GetVol("LEGB"),3,new TGeoCombiTrans(22.9,18.575,-0.5,GetRot("rot4")));
335     GetVol("CARD")->AddNode(GetVol("LEGB"),4,new TGeoCombiTrans(22.9,-18.575,-0.5,GetRot("rot9")));
336     GetVol("CARD")->AddNode(GetVol("TPLT"),1,new TGeoTranslation(0.,0.,11.85));
337     GetVol("TPLT")->AddNode(GetVol("TOPC"),1,gGeoIdentity);
338     GetVol("TPLT")->AddNode(GetVol("TH11"),1,new TGeoTranslation(-23.6,14.4,0.));
339     GetVol("TPLT")->AddNode(GetVol("TH11"),2,new TGeoTranslation(-23.6,-14.4,0.));
340     GetVol("TPLT")->AddNode(GetVol("TH11"),3,new TGeoTranslation(23.6,14.4,0.));
341     GetVol("TPLT")->AddNode(GetVol("TH11"),4,new TGeoTranslation(23.6,-14.4,0.));
342     GetVol("TPLT")->AddNode(GetVol("TH12"),1,new TGeoTranslation(-23.6,5.5,0.));
343     GetVol("TPLT")->AddNode(GetVol("TH12"),2,new TGeoTranslation(-23.6,-5.5,0.));
344     GetVol("TPLT")->AddNode(GetVol("TH12"),3,new TGeoTranslation(23.6,5.5,0.));
345     GetVol("TPLT")->AddNode(GetVol("TH12"),4,new TGeoTranslation(23.6,-5.5,0.));
346     GetVol("TPLT")->AddNode(GetVol("TH21"),1,new TGeoTranslation(-17.2,19.4,0.));
347     GetVol("TPLT")->AddNode(GetVol("TH21"),2,new TGeoTranslation(-17.2,-19.4,0.));
348     GetVol("TPLT")->AddNode(GetVol("TH21"),3,new TGeoTranslation(17.2,19.4,0.));
349     GetVol("TPLT")->AddNode(GetVol("TH21"),4,new TGeoTranslation(17.2,-19.4,0.));
350     GetVol("TPLT")->AddNode(GetVol("TH22"),1,new TGeoTranslation(-10.2,19.4,0.));
351     GetVol("TPLT")->AddNode(GetVol("TH22"),2,new TGeoTranslation(-10.2,-19.4,0.));
352     GetVol("TPLT")->AddNode(GetVol("TH22"),3,new TGeoTranslation(10.2,19.4,0.));
353     GetVol("TPLT")->AddNode(GetVol("TH22"),4,new TGeoTranslation(10.2,-19.4,0.));
354     GetVol("TPLT")->AddNode(GetVol("TH22"),5,new TGeoTranslation(0.,19.4,0.));
355     GetVol("TPLT")->AddNode(GetVol("TH22"),6,new TGeoTranslation(0.,-19.4,0.));
356     GetVol("TPLT")->AddNode(GetVol("TOPT"),1,new TGeoTranslation(-25.875,-20.55,0.));
357     GetVol("TPLT")->AddNode(GetVol("TOPT"),2,new TGeoCombiTrans(-25.875,20.55,0.,GetRot("rot10")));
358     GetVol("TPLT")->AddNode(GetVol("TOPT"),3,new TGeoCombiTrans(25.875,20.55,0.,GetRot("rot4")));
359     GetVol("TPLT")->AddNode(GetVol("TOPT"),4,new TGeoCombiTrans(25.875,-20.55,0.,GetRot("rot9")));
360     GetVol("TPLT")->AddNode(GetVol("TOHO"),1,new TGeoTranslation(20.1,18.,0.));
361     GetVol("TPLT")->AddNode(GetVol("TOHO"),2,new TGeoTranslation(-20.1,18.,0.));
362     GetVol("TPLT")->AddNode(GetVol("TOHO"),3,new TGeoTranslation(-20.1,-18.,0.));
363     GetVol("TPLT")->AddNode(GetVol("TOHO"),4,new TGeoTranslation(20.1,-18.,0.));
364     GetVol("CARD")->AddNode(GetVol("MGSC"),1,new TGeoTranslation(0.,0.,-12.22544));
365     GetVol("MGSC")->AddNode(GetVol("MGSH"),1,gGeoIdentity);
366    
367    
368     SetMotherProp(GetVol("CARD"),1,new TGeoTranslation(0.,0.,87.439));
369    
370     };
371    
372     void PamVMCDetCard::DefineCuts(){
373    
374     TString s ="ALUMINIUM"; // default GPAMELA parameters
375     if (GetMed(s) && !GetCC(s))
376     SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001,
377     0.001, 0.01, 1., 1., 1., 0., 1., 1., 1., 4., 1., 1., 1., 1.));
378     s ="N2 GAS";
379     if (GetMed(s) && !GetCC(s))
380     SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001,
381     0.001, 0.01, 1., 1., 1., 0., 0., 1., 1., 4., 1., 1., 2., 1.));
382     s ="SCINTILLATOR";// default GPAMELA parameters
383     if (GetMed(s) && !GetCC(s))
384     SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001,
385     0.001, 0.01, 1., 1., 1., 0., 1., 1., 1., 4., 1., 1., 1., 1.));
386     s = "PLASTIC";// default GPAMELA parameters
387     if (GetMed(s) && !GetCC(s))
388     SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001,
389     0.001, 0.01, 1., 1., 1., 0., 1., 1., 1., 4., 1., 1., 1., 1.));
390     s = "IRON"; //default GPAMELA parameters
391     if (GetMed(s) && !GetCC(s))
392     SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001,
393     0.001, 0.01, 1., 1., 1., 0., 1., 1., 1., 4., 1., 1., 1., 1.));
394     }

  ViewVC Help
Powered by ViewVC 1.1.23