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