| 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 |
} |