| 1 |
#include "PamVMCDetTrk.hf |
| 2 |
ClassImp(PamVMCDetTrk) |
| 3 |
|
| 4 |
void PamVMCDetTrk::DefineGeometry(){ |
| 5 |
|
| 6 |
TGeoMaterial *m=0; |
| 7 |
TGeoMixture *x =0; |
| 8 |
TString s = "ALUMINIUM"; |
| 9 |
m = GetMat(s); |
| 10 |
if(!m){ |
| 11 |
m = new TGeoMaterial(s,26.98,13,2.7); |
| 12 |
m->SetUniqueID( 9); |
| 13 |
} |
| 14 |
|
| 15 |
s = "IRON"; |
| 16 |
m = GetMat(s); |
| 17 |
if(!m){ |
| 18 |
m = new TGeoMaterial(s,55.85,26,7.87); |
| 19 |
m->SetUniqueID( 10); |
| 20 |
} |
| 21 |
|
| 22 |
s = "SCINT"; |
| 23 |
x = (TGeoMixture*)GetMat(s); |
| 24 |
if(!x){ |
| 25 |
x = new TGeoMixture(s,2, 1.03200 ); |
| 26 |
x->SetUniqueID( 17); |
| 27 |
x->DefineElement(0,12.01,6,0.922427); |
| 28 |
x->DefineElement(1,1.01,1,0.7757296E-01); |
| 29 |
} |
| 30 |
|
| 31 |
s = "N2GAS"; |
| 32 |
m = GetMat(s); |
| 33 |
if (!m){ |
| 34 |
m = new TGeoMaterial(s,14.01,7,0.1250000E-02); |
| 35 |
m->SetUniqueID( 19); |
| 36 |
} |
| 37 |
|
| 38 |
s = "SILICON TR"; |
| 39 |
m= GetMat(s); |
| 40 |
if(!m){ |
| 41 |
m = new TGeoMaterial(s,28.09,14,2.33); |
| 42 |
m->SetUniqueID( 20); |
| 43 |
} |
| 44 |
|
| 45 |
s = "G10C"; |
| 46 |
x = (TGeoMixture*)GetMat(s); |
| 47 |
if(!x){ |
| 48 |
x = new TGeoMixture(s,4, 1.70000 ); |
| 49 |
x->SetUniqueID( 27); |
| 50 |
x->DefineElement(0,28.09,14,0.53); |
| 51 |
x->DefineElement(1,16,8,0.3); |
| 52 |
x->DefineElement(2,12.01,6,0.15); |
| 53 |
x->DefineElement(3,1.01,1,0.2000000E-01); |
| 54 |
} |
| 55 |
|
| 56 |
|
| 57 |
TGeoMedium * n = 0; |
| 58 |
|
| 59 |
s="ALUMINIUM"; |
| 60 |
n = (GetMed(s))?GetMed(s): new TGeoMedium(s,1,9,-1,1,40,1,100,0.5000000E-01,0.136283,0.5000000E-03); |
| 61 |
|
| 62 |
s = "N2 GAS"; |
| 63 |
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); |
| 64 |
|
| 65 |
s = "IRONTR"; |
| 66 |
n = (GetMed(s))?GetMed(s): new TGeoMedium(s,5,10,-1,1,40,1,0.5000000E-01,0.5000000E-01,0.8000000E-01,0.5000000E-03); |
| 67 |
|
| 68 |
s = "CARBON FIBER"; |
| 69 |
n = (GetMed(s))?GetMed(s): new TGeoMedium(s,9,17,-1,1,40,1,0.5000000E-01,0.5000000E-01,0.5000000E-02,0.5000000E-03); //CARBON FIBER MADE FROM SCINTILLATOR??? |
| 70 |
|
| 71 |
s = "SITRACKER"; |
| 72 |
n = (GetMed(s))?GetMed(s): new TGeoMedium(s,12,20,1,1,40,1,0.1000000E-02,0.5000000E-01,0.5000000E-04,0.1569056E-01); |
| 73 |
|
| 74 |
s = "G10C"; |
| 75 |
n = (GetMed(s))?GetMed(s):new TGeoMedium(s,17,27,-1,1,40,1,100,0.5000000E-01,0.1200000E-02,0.5000000E-03); |
| 76 |
|
| 77 |
TGeoVolume *v = 0; |
| 78 |
|
| 79 |
s = "SPEB"; |
| 80 |
v = (GetVol(s))?GetVol(s):gGeoManager->MakeBox(s,GetMed("N2 GAS"),15.,14.4,22.615); |
| 81 |
s = "MGFR"; |
| 82 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("ALUMINIUM"),15.,14.4,4.45); |
| 83 |
s = "MGPL"; |
| 84 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("IRONTR"),12.,11.4,4.); |
| 85 |
s = "MGPI"; |
| 86 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),8.07,6.57,4.); |
| 87 |
s = "TRPB"; |
| 88 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("ALUMINIUM"),10.49,12.15,0.365); |
| 89 |
s = "TPAS"; |
| 90 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),8.2,9.9,0.365); |
| 91 |
s = "TPAI"; |
| 92 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("ALUMINIUM"),8.144,1.25,0.5E-01); |
| 93 |
s = "TRSL"; |
| 94 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("SITRACKER"),2.6665,3.5,0.15E-01); |
| 95 |
s = "THBP"; |
| 96 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("G10C"),2.6665,2.75,0.15E-01); |
| 97 |
s = "TSPA"; |
| 98 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("SITRACKER"),2.596,3.413,0.15E-01); |
| 99 |
s = "TRCP"; |
| 100 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("CARBON FIBER"),0.35E-01,9.9,0.25); |
| 101 |
s = "TBAL"; |
| 102 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("ALUMINIUM"),1.49,2.25,0.365); |
| 103 |
s = "MGPA"; |
| 104 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("ALUMINIUM"),8.1,6.6,4.); |
| 105 |
s = "TPGA"; |
| 106 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),10.29,10.65,0.4E-01); |
| 107 |
s = "TPGI"; |
| 108 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),8.07,6.57,0.15E-01); |
| 109 |
s = "TPGU"; |
| 110 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),10.49,12.15,0.1E-01); |
| 111 |
s = "TPGD"; |
| 112 |
v = (GetVol(s))?GetVol(s): gGeoManager->MakeBox(s,GetMed("N2 GAS"),12.,11.4,0.5E-02); |
| 113 |
|
| 114 |
|
| 115 |
GetVol("SPEB")->AddNode(GetVol("MGFR"),1,new TGeoTranslation(0.,0.,18.165)); |
| 116 |
GetVol("MGFR")->AddNode(GetVol("TPGD"),1,new TGeoTranslation(0.,0.,-4.445)); |
| 117 |
GetVol("MGFR")->AddNode(GetVol("TPGI"),1,new TGeoTranslation(0.,0.,-4.425)); |
| 118 |
GetVol("MGFR")->AddNode(GetVol("MGPL"),1,new TGeoTranslation(0.,0.,-0.41)); |
| 119 |
GetVol("MGPL")->AddNode(GetVol("MGPA"),1,gGeoIdentity); |
| 120 |
GetVol("MGPA")->AddNode(GetVol("MGPI"),1,gGeoIdentity); |
| 121 |
GetVol("MGFR")->AddNode(GetVol("TPGI"),2,new TGeoTranslation(0.,0.,3.605)); |
| 122 |
GetVol("MGFR")->AddNode(GetVol("TPGA"),1,new TGeoTranslation(0.,-0.75,3.66)); |
| 123 |
GetVol("MGFR")->AddNode(GetVol("TRPB"),1,new TGeoTranslation(0.,-2.25,4.065)); |
| 124 |
GetVol("TRPB")->AddNode(GetVol("TPAS"),4,new TGeoTranslation(0.,-0.75,0.)); |
| 125 |
GetVol("TPAS")->AddNode(GetVol("TRCP"),1,new TGeoTranslation(-8.1075,0.,0.15E-01)); |
| 126 |
GetVol("TPAS")->AddNode(GetVol("TRCP"),2,new TGeoTranslation(-2.7025,0.,0.15E-01)); |
| 127 |
GetVol("TPAS")->AddNode(GetVol("TRCP"),3,new TGeoTranslation(2.7025,0.,0.15E-01)); |
| 128 |
GetVol("TPAS")->AddNode(GetVol("TRCP"),4,new TGeoTranslation(8.1075,0.,0.15E-01)); |
| 129 |
GetVol("TPAS")->AddNode(GetVol("TRSL"),1,new TGeoTranslation(-5.405,6.252,0.15E-01)); |
| 130 |
GetVol("TRSL")->AddNode(GetVol("TSPA"),1,gGeoIdentity); |
| 131 |
GetVol("TPAS")->AddNode(GetVol("TRSL"),2,new TGeoTranslation(0.,6.252,0.15E-01)); |
| 132 |
GetVol("TPAS")->AddNode(GetVol("TRSL"),3,new TGeoTranslation(5.405,6.252,0.15E-01)); |
| 133 |
GetVol("TPAS")->AddNode(GetVol("TRSL"),4,new TGeoTranslation(-5.405,-0.7495,0.15E-01)); |
| 134 |
GetVol("TPAS")->AddNode(GetVol("TRSL"),5,new TGeoTranslation(0.,-0.7495,0.15E-01)); |
| 135 |
GetVol("TPAS")->AddNode(GetVol("TRSL"),6,new TGeoTranslation(5.405,-0.7495,0.15E-01)); |
| 136 |
GetVol("TPAS")->AddNode(GetVol("THBP"),1,new TGeoTranslation(-5.405,-7.0015,0.15E-01)); |
| 137 |
GetVol("TPAS")->AddNode(GetVol("THBP"),2,new TGeoTranslation(0.,-7.0015,0.15E-01)); |
| 138 |
GetVol("TPAS")->AddNode(GetVol("THBP"),3,new TGeoTranslation(5.405,-7.0015,0.15E-01)); |
| 139 |
GetVol("TPAS")->AddNode(GetVol("TPAI"),4,new TGeoTranslation(0.,-8.65,0.315)); |
| 140 |
GetVol("MGFR")->AddNode(GetVol("TPGU"),2,new TGeoTranslation(0.,-2.25,4.44)); |
| 141 |
|
| 142 |
GetVol("SPEB")->AddNode(GetVol("MGFR"),2,new TGeoTranslation(0.,0.,9.265)); |
| 143 |
GetVol("SPEB")->AddNode(GetVol("MGFR"),3,new TGeoTranslation(0.,0.,0.365)); |
| 144 |
GetVol("SPEB")->AddNode(GetVol("MGFR"),4,new TGeoTranslation(0.,0.,-8.535)); |
| 145 |
GetVol("SPEB")->AddNode(GetVol("MGFR"),5,new TGeoTranslation(0.,0.,-17.435)); |
| 146 |
|
| 147 |
GetVol("SPEB")->AddNode(GetVol("TRPB"),2,new TGeoCombiTrans(0.,2.25,-22.25,GetRot("rot10"))); |
| 148 |
GetVol("SPEB")->AddNode(GetVol("TBAL"),1,new TGeoTranslation(5.4,-12.15,-22.25)); |
| 149 |
GetVol("SPEB")->AddNode(GetVol("TBAL"),2,new TGeoTranslation(-5.4,-12.15,-22.25)); |
| 150 |
|
| 151 |
|
| 152 |
SetMotherProp(GetVol("SPEB"),1,new TGeoTranslation(0.,0.,49.274)); |
| 153 |
}; |
| 154 |
|
| 155 |
void PamVMCDetTrk::DefineCuts(){ |
| 156 |
|
| 157 |
TString s ="ALUMINIUM"; // default GPAMELA parameters |
| 158 |
if (GetMed(s) && !GetCC(s)) |
| 159 |
SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, |
| 160 |
0.001, 0.01, 1., 1., 1., 0., 1., 1., 1., 4., 1., 1., 1., 1.)); |
| 161 |
s ="N2 GAS"; |
| 162 |
if (GetMed(s) && !GetCC(s)) |
| 163 |
SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, |
| 164 |
0.001, 0.01, 1., 1., 1., 0., 0., 1., 1., 4., 1., 1., 2., 1.)); |
| 165 |
s = "IRONTR"; // default GPAMELA parameters |
| 166 |
if (GetMed(s) && !GetCC(s)) |
| 167 |
SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, |
| 168 |
0.001, 0.01, 1., 1., 1., 0., 1., 1., 1., 4., 1., 1., 1., 1.)); |
| 169 |
s = "CARBON FIBER"; //default GPAMELA parameters |
| 170 |
SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, |
| 171 |
0.001, 0.01, 1., 1., 1., 0., 1., 1., 1., 4., 1., 1., 1., 1.)); |
| 172 |
s = "SITRACKER"; |
| 173 |
if (GetMed(s) && !GetCC(s)) |
| 174 |
SetCC(s, new pCutControl(GetMedID(s), 0.0001, 0.001, 0.00001, 0.00001, 0.0001, 0.0001, 0.00001, 0.00001, |
| 175 |
0.001, 0.01, 1., 1., 1., 0., 1., 1., 1., 1., 1., 1., 1., 2.)); |
| 176 |
|
| 177 |
s = "G10C"; |
| 178 |
if (GetMed(s) && !GetCC(s)) |
| 179 |
SetCC(s, new pCutControl(GetMedID(s), 0.00001, 0.00001, 0.00001, 0.00001, 0.001, 0.001, 0.01, 0.00001, |
| 180 |
0.00001, 0.01, 1., 1., 1., 0., 1., 1., 1., 1., 1., 1., 1., 2.)); |
| 181 |
} |
| 182 |
|