1 ///////////////////////////////////////////////////////////////////////////////
3 // Magnetic Dipole version 1 //
7 <img src="gif/AliDIPOv1Class.gif">
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>.
19 ///////////////////////////////////////////////////////////////////////////////
21 #include "AliDIPOv1.h"
27 //_____________________________________________________________________________
28 AliDIPOv1::AliDIPOv1() : AliDIPO()
31 // Default constructor for the magnetic dipole version 1
35 //_____________________________________________________________________________
36 AliDIPOv1::AliDIPOv1(const char *name, const char *title)
40 // Standard constructor for magnetic dipole version 1
47 //_____________________________________________________________________________
48 void AliDIPOv1::CreateGeometry()
51 // Creation of the geometry of the magnetic DIPOLE version 1
55 <img src="gif/AliDIPOv1Tree.gif">
60 <img src="gif/AliDIPOv1.gif">
64 AliMC* pMC = AliMC::GetMC();
68 Int_t *idtmed = gAlice->Idtmed();
70 //abs_d = 90.; // DEFINES DRIFT LENGTH
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
78 //d_steel = 1.; // THICKNESS OF STEEL SUPPORT
81 //abs_cc = 315.; // DEFINES LENGTH OF CARBON
83 //abs_s = 150.; // DEFINES W-SHIELD LENGTH
84 //abs_n = 80.; // START OF NOSE
119 pMC->Gsvolu("DDIP", "TUBE", idtmed[1801], par, 3);
128 pMC->Gsvolu("DIPC", "CONE", idtmed[1810], par, 5);
129 pMC->Gspos("DIPC", 1, "DDIP", 0., 0., 0., 0, "ONLY");
135 pMC->Gsvolu("DIIC", "CONE", idtmed[1807], par, 5);
136 pMC->Gspos("DIIC", 1, "DDIP", 0., 0., 0., 0, "ONLY");
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");
150 //_____________________________________________________________________________
151 void AliDIPOv1::DrawDetector()
154 // Draw a shaded view of the muon absorber
157 AliMC* pMC = AliMC::GetMC();
159 // Set everything unseen
160 pMC->Gsatt("*", "seen", -1);
162 // Set ALIC mother transparent
163 pMC->Gsatt("ALIC","SEEN",0);
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);
171 pMC->Gdopt("hide", "on");
172 pMC->Gdopt("shad", "on");
173 pMC->Gsatt("*", "fill", 7);
174 pMC->SetClipBox(".");
175 pMC->SetClipBox(".");
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");
182 //_____________________________________________________________________________
183 void AliDIPOv1::CreateMaterials()
186 // Create Materials for Dipole Magnet version 1
189 Int_t ISXFLD = gAlice->Field()->Integ();
190 Float_t SXMGMX = gAlice->Field()->Max();
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;
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);
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
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);
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);
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);
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);
246 AliMedium(1875, "ST_L3_US ", 1824, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
249 //_____________________________________________________________________________
250 void AliDIPOv1::StepManager()
253 // Called at each step in the Dipole Magnet