]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STRUCT/AliDIPOv1.cxx
New classes added AliGenExtFile and AliGenScan.
[u/mrichter/AliRoot.git] / STRUCT / AliDIPOv1.cxx
CommitLineData
fe4da5cc 1///////////////////////////////////////////////////////////////////////////////
2// //
3// Magnetic Dipole version 1 //
4// //
5//Begin_Html
6/*
7<img src="gif/AliDIPOv1Class.gif">
8</pre>
9<br clear=left>
10<font size=+2 color=red>
11<p>The responsible person for this module is
12<a href="mailto:andreas.morsch@cern.ch">Andreas Morsch</a>.
13</font>
14<pre>
15*/
16//End_Html
17// //
18// //
19///////////////////////////////////////////////////////////////////////////////
20
21#include "AliDIPOv1.h"
22#include "AliRun.h"
fe4da5cc 23
24ClassImp(AliDIPOv1)
25
26//_____________________________________________________________________________
b8032157 27AliDIPOv1::AliDIPOv1()
fe4da5cc 28{
29 //
30 // Default constructor for the magnetic dipole version 1
31 //
32}
33
34//_____________________________________________________________________________
35AliDIPOv1::AliDIPOv1(const char *name, const char *title)
36 : AliDIPO(name,title)
37{
38 //
39 // Standard constructor for magnetic dipole version 1
40 //
41 SetMarkerColor(7);
42 SetMarkerStyle(2);
43 SetMarkerSize(0.4);
44}
45
46//_____________________________________________________________________________
47void AliDIPOv1::CreateGeometry()
48{
49 //
50 // Creation of the geometry of the magnetic DIPOLE version 1
51 //
52 //Begin_Html
53 /*
54 <img src="gif/AliDIPOv1Tree.gif">
55 */
56 //End_Html
57 //Begin_Html
58 /*
59 <img src="gif/AliDIPOv1.gif">
60 */
61 //End_Html
62
63 AliMC* pMC = AliMC::GetMC();
64
65 Float_t par[5];
66
67 Int_t *idtmed = gAlice->Idtmed();
68
69 //abs_d = 90.; // DEFINES DRIFT LENGTH
70 //z_nose = 102.;
71 //z_cone = 285.;
72 //theta1 = 24.; // 1. angle defining the front absorber
73 //theta2 = 5.; // 2. angle defining the front absorbe
74 //acc_max = 9.; // ANGLE POLAIRE MAXIMUM
75 //acc_min = 2.; // ANGLE POLAIRE MINIMUM DE DETECTION
76 //abs_l = 503.;
77 //d_steel = 1.; // THICKNESS OF STEEL SUPPORT
78 //d_poly = 7.5;
79 //d_pb = 2.5;
80 //abs_cc = 315.; // DEFINES LENGTH OF CARBON
81 //abs_c = 358.;
82 //abs_s = 150.; // DEFINES W-SHIELD LENGTH
83 //abs_n = 80.; // START OF NOSE
84 //r_abs = 4.;
85 //r_pb = .1;
86 //epsilon = .01;
87 //theta_r = 3.;
88 //d_rear = 35.;
89 //theta_open = .75;
90
91 //z_l3 = 700.;
92 //zmag_in = 725.;
93 //zmag_out = 1225.;
94 //zfil_in = 1471.;
95 //zfil_out = 1591.;
96 //zcon_in = 1900.;
97 //zcon_out = 2e3;
98 //zcone_e = 859.0875;
99 //spec_l = 1800.;
100 //zplug_in = 1780.;
101 //zplug_out = 1900.;
102
103 // Chamber position
104 // CZ1=515.5
105 //cz1 = 511.;
106 //cz2 = 686.;
107 //cz3 = 971.;
108 //cz4 = 1245.;
109 //cz5 = 1445.;
110 //cz6 = 1610.;
111 //cz7 = 1710.;
112
113
114 // DIPOLE MAGNET
115 par[0] = 0.;
116 par[1] = 280.;
117 par[2] = 250.;
118 pMC->Gsvolu("DDIP", "TUBE", idtmed[1801], par, 3);
119
120 // COIL
121 par[0] = 250.;
122 par[1] = 125.;
123 par[2] = 165.;
124 par[3] = 204.;
125 par[4] = 244.;
126
127 pMC->Gsvolu("DIPC", "CONE", idtmed[1810], par, 5);
128 pMC->Gspos("DIPC", 1, "DDIP", 0., 0., 0., 0, "ONLY");
129 par[0] = 250.;
130 par[1] = 115.;
131 par[2] = 125.;
132 par[3] = 194.;
133 par[4] = 204.;
134 pMC->Gsvolu("DIIC", "CONE", idtmed[1807], par, 5);
135 pMC->Gspos("DIIC", 1, "DDIP", 0., 0., 0., 0, "ONLY");
136
137 // YOKE
138 par[0] = 250.;
139 par[1] = 165.;
140 par[2] = 195.;
141 par[3] = 244.;
142 par[4] = 274.;
143
144 pMC->Gsvolu("DIPY", "CONE", idtmed[1834], par, 5);
145 pMC->Gspos("DIPY", 1, "DDIP", 0., 0., 0., 0, "ONLY");
146 pMC->Gspos("DDIP", 1, "ALIC", 0., 0., 725.+250, 0, "ONLY");
147}
148
149//_____________________________________________________________________________
b8032157 150void AliDIPOv1::DrawModule()
fe4da5cc 151{
152 //
153 // Draw a shaded view of the muon absorber
154 //
155
156 AliMC* pMC = AliMC::GetMC();
157
158 // Set everything unseen
159 pMC->Gsatt("*", "seen", -1);
160 //
161 // Set ALIC mother transparent
162 pMC->Gsatt("ALIC","SEEN",0);
163 //
164 // Set the volumes visible
165 pMC->Gsatt("DDIP","seen",1);
166 pMC->Gsatt("DIPC","seen",1);
167 pMC->Gsatt("DIIC","seen",1);
168 pMC->Gsatt("DIPY","seen",1);
169 //
170 pMC->Gdopt("hide", "on");
171 pMC->Gdopt("shad", "on");
172 pMC->Gsatt("*", "fill", 7);
173 pMC->SetClipBox(".");
174 pMC->SetClipBox(".");
175 pMC->DefaultRange();
176 pMC->Gdraw("alic", 30, 30, 0, 17, 13.5, .019, .019);
177 pMC->Gdhead(1111, "Magnetic Dipole Version 1");
178 pMC->Gdman(16, 4, "MAN");
179}
180
181//_____________________________________________________________________________
182void AliDIPOv1::CreateMaterials()
183{
184 //
185 // Create Materials for Dipole Magnet version 1
186 //
187
188 Int_t ISXFLD = gAlice->Field()->Integ();
189 Float_t SXMGMX = gAlice->Field()->Max();
190
191 Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
192 Float_t zsteel[4] = { 26.,24.,28.,14. };
193 Float_t wsteel[4] = { .715,.18,.1,.005 };
194 Float_t epsil, stmin, deemax, tmaxfd, stemax;
195
196 // STEEL
197
198
199 // --- Define the various materials for GEANT ---
200 AliMaterial(1809, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
201 AliMaterial(1815, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
202 AliMaterial(1810, "IRON$ ", 55.85, 26., 7.87, 0, 17.1);
203 AliMaterial(1816, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
204 AliMixture(1824, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
205
206 // ****************
207 // Defines tracking media parameters.
208 // Les valeurs sont commentees pour laisser le defaut
209 // a GEANT (version 3-21, page CONS200), f.m.
210 epsil = .001; // Tracking precision,
211 stemax = -1.; // Maximum displacement for multiple scat
212 tmaxfd = -20.; // Maximum angle due to field deflection
213 deemax = -.3; // Maximum fractional energy loss, DLS
214 stmin = -.8;
215 // ***************
216
217 // Air
218
219 AliMedium(1801, "AIR_DI_US ", 1815, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
220 AliMedium(1802, "AIR_DI_US ", 1815, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
221 AliMedium(1803, "AIR_L3_US ", 1815, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
222
223 // Aluminum
224
225 AliMedium(1808, "ALU_DI_US ", 1809, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
226 AliMedium(1811, "ALU_DI_SH ", 1809, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
227
228 // Iron
229
230 AliMedium(1831, "FE_NF_US ", 1810, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
231 AliMedium(1832, "FE_DI_US ", 1810, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
232 AliMedium(1833, "FE_L3_US ", 1810, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
233 AliMedium(1834, "FE_NF_SH ", 1810, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
234 AliMedium(1835, "FE_DI_SH ", 1810, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
235 AliMedium(1836, "FE_L3_SH ", 1810, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
236
237 // Vacuum
238
239 AliMedium(1837, "VA_NF_US ", 1816, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
240 AliMedium(1838, "VA_DI_US ", 1816, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
241 AliMedium(1839, "VA_L3_US ", 1816, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
242
243 // Steel
244
245 AliMedium(1875, "ST_L3_US ", 1824, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
246}
247