// //
// //
+#include <TVirtualMC.h>
+
+#include "AliConst.h"
#include "AliDIPOv2.h"
-#include "AliRun.h"
#include "AliMagF.h"
-#include "AliConst.h"
+#include "AliRun.h"
ClassImp(AliDIPOv2)
// DIPOLE MAGNET
const Float_t kZDipole = 975;
- tpar[0] = 0.;
- tpar[1] = 360.;
- tpar[2] = 5.;
+ tpar[ 0] = 0.;
+ tpar[ 1] = 360.;
+ tpar[ 2] = 4.;
//
- tpar[3] = -250.55+kZDipole;
- tpar[4] = 30.5;
- tpar[5] = 527.34;
+ tpar[ 3] = -250.55 + kZDipole;
+ tpar[ 4] = 30.1;
+ tpar[ 5] = 527.34;
//
- tpar[6] = -160.7+kZDipole;
- tpar[7] = 30.5;
- tpar[8] = 527.34;
+ tpar[ 6] = 37. + kZDipole;
+ tpar[ 7] = 30.1;
+ tpar[ 8] = 527.34;
//
- tpar[9] = 30.+kZDipole;
- tpar[10] = 30.5;
+ tpar[ 9] = 37. + kZDipole;
+ tpar[10] = tpar[ 9] * TMath::Tan(2. * TMath::Pi() / 180.);
tpar[11] = 527.34;
-
- tpar[12] = 150.8+kZDipole;
- tpar[13] = 182.4;
+ //
+ tpar[12] = 260.55 + kZDipole;
+ tpar[13] = tpar[12] * TMath::Tan(2. * TMath::Pi() / 180.);
tpar[14] = 527.34;
+ gMC->Gsvolu("DDIP", "PCON", idtmed[1874], tpar, 15);
//
- tpar[15] = 260.55+kZDipole;
- tpar[16] = 182.4;
- tpar[17] = 527.34;
-
-
- gMC->Gsvolu("DDIP", "PCON", idtmed[1814], tpar, 18);
- // COILS
+ // Coils
// air - m.f.
cpar[0] = 207.;
cpar[1] = 274.;
gMC->Gspos("DY2 ", 1, "DDIP", dx, 0.0, dz+kZDipole, idrotm[1809], "ONLY");
gMC->Gspos("DY2 ", 2, "DDIP", -dx, 0.0, dz+kZDipole, idrotm[1810], "ONLY");
-
- gMC->Gspos("DDIP", 1, "ALIC", 0., 0., 0., 0, "ONLY");
+
+ AliMatrix(idrotm[1811], 270., 0., 90., 90., 180., 0.);
+ gMC->Gspos("DDIP", 1, "ALIC", 0., 0., 0., idrotm[1811], "ONLY");
gMC->Gsatt("DDIP", "SEEN", 0);
// gMC->Gsatt("DC21", "SEEN", 0);
gMC->Gspos("DCBA", 1, "DCM0", 0., -47.5 , 17.5, 0, "ONLY");
- gMC->Gspos("DCM0", 1, "ALIC", 0., -6.75, -975., 0, "ONLY");
+ AliMatrix(idrotm[1816], 270., 0., 90., 90., 180., 0.);
+ gMC->Gspos("DCM0", 1, "ALIC", 0., -6.75, 975., idrotm[1816], "ONLY");
}
// Create Materials for Magnetic Dipole version 2
//
- Int_t isxfld = gAlice->Field()->Integ();
- Float_t sxmgmx = gAlice->Field()->Max();
+ Int_t isxfld1 = gAlice->Field()->Integ();
+ Int_t isxfld2 = gAlice->Field()->PrecInteg();
+ Float_t sxmgmx = gAlice->Field()->Max();
+
Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
Float_t zsteel[4] = { 26.,24.,28.,14. };
Float_t zG10[5] = { 1.,6.,8.,14.,35. };
Float_t wG10[5] = { .02089,.22338,.28493,.41342,.05738 };
- Float_t aAlCon[2] = { 14.61, 26.98};
- Float_t zAlCon[2] = { 7.3, 13.};
- Float_t wAlCon[2] = { .0004,.9996};
+ // AIR
+
+ Float_t aAir[4]={12.0107,14.0067,15.9994,39.948};
+ Float_t zAir[4]={6.,7.,8.,18.};
+ Float_t wAir[4]={0.000124,0.755267,0.231781,0.012827};
+ Float_t dAir = 1.20479E-3;
+ Float_t dAir1 = 1.20479E-10;
Float_t epsil, stmin, deemax, tmaxfd, stemax;
// --- Define the various materials for GEANT ---
// Aluminum
- AliMaterial( 9, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
- AliMaterial(29, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
- AliMaterial(49, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
+ AliMaterial( 9, "ALUMINIUM0$", 26.98, 13., 2.7, 8.9, 37.2);
+ AliMaterial(29, "ALUMINIUM1$", 26.98, 13., 2.7, 8.9, 37.2);
+ AliMaterial(49, "ALUMINIUM2$", 26.98, 13., 2.7, 8.9, 37.2);
// Iron
- AliMaterial(10, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
- AliMaterial(30, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
- AliMaterial(50, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
+ AliMaterial(10, "IRON0$ ", 55.85, 26., 7.87, 1.76, 17.1);
+ AliMaterial(30, "IRON1$ ", 55.85, 26., 7.87, 1.76, 17.1);
+ AliMaterial(50, "IRON2$ ", 55.85, 26., 7.87, 1.76, 17.1);
// Copper
- AliMaterial(17, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
- AliMaterial(37, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
- AliMaterial(57, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
- // Air
- AliMaterial(15, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
- AliMaterial(35, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
- AliMaterial(55, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
-
+ AliMaterial(17, "COPPER0$ ", 63.55, 29., 8.96, 1.43, 15.1);
+ AliMaterial(37, "COPPER1$ ", 63.55, 29., 8.96, 1.43, 15.1);
+ AliMaterial(57, "COPPER2$ ", 63.55, 29., 8.96, 1.43, 15.1);
+ // Air
+ AliMixture(15, "AIR0$ ", aAir, zAir, dAir, 4, wAir);
+ AliMixture(35, "AIR1$ ", aAir, zAir, dAir, 4, wAir);
+ AliMixture(55, "AIR2$ ", aAir, zAir, dAir, 4, wAir);
+ AliMixture(75, "AIR_MUON ", aAir, zAir, dAir, 4, wAir);
// Vacuum
- AliMaterial(16, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
- AliMaterial(36, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
- AliMaterial(56, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
+ AliMixture(16, "VACUUM0$ ", aAir, zAir, dAir1, 4, wAir);
+ AliMixture(36, "VACUUM1$ ", aAir, zAir, dAir1, 4, wAir);
+ AliMixture(56, "VACUUM2$ ", aAir, zAir, dAir1, 4, wAir);
// stainless Steel
- AliMixture(19, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
- AliMixture(39, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
- AliMixture(59, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
+ AliMixture(19, "STAINLESS STEEL0$", asteel, zsteel, 7.88, 4, wsteel);
+ AliMixture(39, "STAINLESS STEEL1$", asteel, zsteel, 7.88, 4, wsteel);
+ AliMixture(59, "STAINLESS STEEL2$", asteel, zsteel, 7.88, 4, wsteel);
// Coil
- AliMixture(14, "Al$", acoil, zcoil, 2.122, 3, wcoil);
- AliMixture(34, "Al$", acoil, zcoil, 2.122, 3, wcoil);
- AliMixture(54, "Al$", acoil, zcoil, 2.122, 3, wcoil);
+ AliMixture(14, "Al0$", acoil, zcoil, 2.122, 3, wcoil);
+ AliMixture(34, "Al1$", acoil, zcoil, 2.122, 3, wcoil);
+ AliMixture(54, "Al2$", acoil, zcoil, 2.122, 3, wcoil);
//RESIN
- AliMixture(13, "RESIN$", aresi, zresi, 1.05, 3, wresi);
- AliMixture(33, "RESIN$", aresi, zresi, 1.05, 3, wresi);
- AliMixture(53, "RESIN$", aresi, zresi, 1.05, 3, wresi);
+ AliMixture(13, "RESIN0$", aresi, zresi, 1.05, 3, wresi);
+ AliMixture(33, "RESIN1$", aresi, zresi, 1.05, 3, wresi);
+ AliMixture(53, "RESIN2$", aresi, zresi, 1.05, 3, wresi);
//G10
- AliMixture(11, "G10$", aG10, zG10, 1.7, 5, wG10);
- AliMixture(31, "G10$", aG10, zG10, 1.7, 5, wG10);
- AliMixture(51, "G10$", aG10, zG10, 1.7, 5, wG10);
+ AliMixture(11, "G100$", aG10, zG10, 1.7, 5, wG10);
+ AliMixture(31, "G101$", aG10, zG10, 1.7, 5, wG10);
+ AliMixture(51, "G102$", aG10, zG10, 1.7, 5, wG10);
- //Aluminium Conductor
- AliMixture(12, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
- AliMixture(32, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
- AliMixture(52, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
-
// ****************
// Defines tracking media parameters.
// Les valeurs sont commentees pour laisser le defaut
// ***************
// Aluminum
- AliMedium(9, "ALU_C0 ", 9, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(29, "ALU_C1 ", 29, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(49, "ALU_C2 ", 49, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium( 9, "ALU_C0 ", 9, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(29, "ALU_C1 ", 29, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(49, "ALU_C2 ", 49, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
// Iron
- AliMedium(10, "FE_C0 ", 10, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(30, "FE_C1 ", 30, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(50, "FE_C2 ", 50, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(10, "FE_C0 ", 10, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(30, "FE_C1 ", 30, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(50, "FE_C2 ", 50, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
// Air
- AliMedium(15, "AIR_C0 ", 15, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(35, "AIR_C1 ", 35, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(55, "AIR_C2 ", 55, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(15, "AIR_C0 ", 15, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(35, "AIR_C1 ", 35, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(55, "AIR_C2 ", 55, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(75, "AIR_MUON ", 75, 0, isxfld2, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
// Vacuum
- AliMedium(16, "VA_C0 ", 16, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(36, "VA_C1 ", 36, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(56, "VA_C2 ", 56, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(16, "VA_C0 ", 16, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(36, "VA_C1 ", 36, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(56, "VA_C2 ", 56, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
// Steel
- AliMedium(19, "ST_C0 ", 19, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(39, "ST_C1 ", 39, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(59, "ST_C3 ", 59, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(19, "ST_C0 ", 19, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(39, "ST_C1 ", 39, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(59, "ST_C3 ", 59, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
// Coil
- AliMedium(14, "Coil_C1 ", 14, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(34, "Coil_C2 ", 34, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(54, "Coil_C3 ", 54, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(14, "Coil_C1 ", 14, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(34, "Coil_C2 ", 34, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(54, "Coil_C3 ", 54, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
// Resin
- AliMedium(13, "RESIN_C0 ", 13, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(33, "RESIN_C1 ", 33, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(53, "RESIN_C2 ", 53, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(13, "RESIN_C0 ", 13, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(33, "RESIN_C1 ", 33, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(53, "RESIN_C2 ", 53, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
// G10
- AliMedium(11, "G10_C0 ", 11, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(31, "G10_C1 ", 31, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(51, "G10_C2 ", 51, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
-
- //Aluminium Contactor
- AliMedium(12, "AlCond_C0 ", 12, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(32, "AlCond_C1 ", 32, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(52, "AlCond_C2 ", 52, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
-
+ AliMedium(11, "G10_C0 ", 11, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(31, "G10_C1 ", 31, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(51, "G10_C2 ", 51, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
//
// Copper
- AliMedium(17, "Cu_C0 ", 17, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(37, "Cu_C1 ", 37, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
- AliMedium(57, "Cu_C2 ", 57, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(17, "Cu_C0 ", 17, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(37, "Cu_C1 ", 37, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(57, "Cu_C2 ", 57, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
}