* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.13 2001/06/21 12:26:52 morsch
-Simple concrete shielding around compensator dipole.
-
-Revision 1.12 2001/06/20 16:08:56 morsch
-Remove some shielding to accomodate compensator magnet.
-
-Revision 1.11 2001/05/16 14:57:22 alibrary
-New files for folders and Stack
-
-Revision 1.10 2000/10/02 21:28:15 fca
-Removal of useless dependecies via forward declarations
-
-Revision 1.9 2000/06/13 14:55:26 morsch
-Unused variables removed
-
-Revision 1.8 2000/06/11 12:35:41 morsch
-Coding rule violations corrected
-
-Revision 1.7 2000/01/12 15:33:28 morsch
-Muon filter removed
-
-Revision 1.6 1999/09/29 09:24:30 fca
-Introduction of the Copyright and cvs Log
-
-*/
+/* $Id$ */
///////////////////////////////////////////////////////////////////////////////
// //
// //
///////////////////////////////////////////////////////////////////////////////
+#include <TVirtualMC.h>
+
+#include "AliConst.h"
#include "AliHALL.h"
-#include "AliRun.h"
-#include "AliMC.h"
#include "AliMagF.h"
-#include "AliConst.h"
+#include "AliRun.h"
+#include "AliLog.h"
ClassImp(AliHALL)
//
// Standard constructor for the experimental Hall
//
- SetMarkerColor(7);
- SetMarkerStyle(2);
- SetMarkerSize(0.4);
+ //PH SetMarkerColor(7);
+ //PH SetMarkerStyle(2);
+ //PH SetMarkerSize(0.4);
}
//_____________________________________________________________________________
Float_t r2;
- Float_t phid, phim, tpar[3], pbox[3], h, r, tspar[5];
+ Float_t phid, phim, pbox[3], h, r, tspar[5];
Float_t w1, dh, am, bm, dl,cm, hm, dr, dx, xl;
Int_t idrotm[1999];
Float_t trdpar[4], trapar[11], hullen;
h = 140.;
phi = TMath::ACos(h / r);
xl = r * TMath::Sin(phi);
- dr = 100.;
+ dr = 1600.;
dh = dr * TMath::Cos(phi);
dl = dr * TMath::Sin(phi);
if (gAlice->GetModule("ZDC") == 0) {
// No ZDC
- hullen = 250.;
+ hullen = 370.;
} else {
// ZDC is present
- hullen = 6400.;
+ hullen = 6520.;
}
trdpar[0] = xl + dl;
trdpar[1] = xl;
AliMatrix(idrotm[1900], 90., 0., 0., 0., 90., 90.);
AliMatrix(idrotm[1901], 270., 0., 90., 90., 0., 0.);
gMC->Gsvolu("HUFL", "TRD1", idtmed[1956], trdpar, 4);
- r2 = hullen + 2020.;
- gMC->Gspos("HUFL", 1, "ALIC", 70.,-100-trdpar[3] , r2, idrotm[1900], "ONLY");
+ r2 = hullen + 1900.;
+ gMC->Gspos("HUFL", 1, "ALIC", 70.,-100-trdpar[3] , -r2, idrotm[1900], "ONLY");
// RB24/26 wall
tspar[3] = phid - 90.;
tspar[4] = 270. - phid;
gMC->Gsvolu("HUWA", "TUBS", idtmed[1956], tspar, 5);
- gMC->Gspos("HUWA", 1, "ALIC", 70., 40.,2020+hullen , 0, "ONLY");
-
- // tunnelplug
-
- tpar[0] = 0.;
- tpar[1] = 50.;
- tpar[2] = 60.;
- gMC->Gsvolu("HUP2", "TUBE", idtmed[1954], tpar, 3);
+ gMC->Gspos("HUWA", 1, "ALIC", 70., 40., -1900 - hullen , 0, "ONLY");
- // END WALL
-
- pbox[0] = 1200.;
- pbox[1] = 1300.;
- pbox[2] = 60.;
- gMC->Gsvolu("HEW1", "BOX ", idtmed[1956], pbox, 3);
- gMC->Gspos("HUP2", 1, "HEW1", 0.,-404., 0., 0, "ONLY");
- gMC->Gspos("HEW1", 1, "ALIC", 0., 404., 1960, 0, "ONLY");
-
- // hall floor
+
+ // Hall floor
phid = 16.197;
trdpar[0] = 700.;
gMC->Gspos("HHF1", 1, "ALIC", 0., -801., 1350., idrotm[1900], "ONLY");
gMC->Gspos("HHF1", 2, "ALIC", 0., -801.,-1350., idrotm[1900], "ONLY");
- // hall side walls
+ // Hall side walls
trapar[0] = 550.;
trapar[1] = 0.;
// pillars for working platform
pbox[0] = 40.;
- pbox[1] = 120.;
+ pbox[1] = 96.;
pbox[2] = 550.;
gMC->Gsvolu("HPIL", "BOX ", idtmed[1956], pbox, 3);
- gMC->Gspos("HPIL", 1, "ALIC", 165.,-706+pbox[1] , 1350., 0, "ONLY");
- gMC->Gspos("HPIL", 2, "ALIC",-165.,-706+pbox[1] , 1350., 0, "ONLY");
+ gMC->Gspos("HPIL", 1, "ALIC", 165.,-706+pbox[1] , -1350., 0, "ONLY");
+ gMC->Gspos("HPIL", 2, "ALIC",-165.,-706+pbox[1] , -1350., 0, "ONLY");
// simple concrete beam shield
ppgon[1] = 360.;
ppgon[2] = 4.;
ppgon[3] = 2.;
- ppgon[4] = -1800.;
- ppgon[5] = 150.;
- ppgon[6] = 250.;
- ppgon[7] = -720.;
+ ppgon[7] = 1800.;
ppgon[8] = 150.;
ppgon[9] = 250.;
+ ppgon[4] = 720.;
+ ppgon[5] = 150.;
+ ppgon[6] = 250.;
gMC->Gsvolu("HMBS", "PGON", idtmed[1956], ppgon, 10);
gMC->Gspos("HMBS", 1, "ALIC", 0., 70., 0., 0, "ONLY");
-
}
//_____________________________________________________________________________
//
// Create materials for the experimental hall
//
-
-
- Int_t isxfld = gAlice->Field()->Integ();
+
+ Int_t isxfld = 0;
Float_t sxmgmx = gAlice->Field()->Max();
Float_t aconc[10] = { 1.,12.01,15.994,22.99,24.305,26.98,28.086,39.1,40.08,55.85 };
Float_t zconc[10] = { 1.,6.,8.,11.,12.,13.,14.,19.,20.,26. };
Float_t wconc[10] = { .01,.001,.529107,.016,.002,.033872,.337021,.013,.044,.014 };
+ 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;
+
+// Steel
+ Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
+ Float_t zsteel[4] = { 26.,24.,28.,14. };
+ Float_t wsteel[4] = { .715,.18,.1,.005 };
+
Float_t epsil, stmin, deemax, tmaxfd, stemax;
- // FOR CONCRETE
- 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(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);
- AliMixture(17, "CONCRETE$", aconc, zconc, 2.35, 10, wconc);
- AliMixture(37, "CONCRETE$", aconc, zconc, 2.35, 10, wconc);
- AliMixture(57, "CONCRETE$", aconc, zconc, 2.35, 10, wconc);
+ 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(17, "CONCRETE0$", aconc, zconc, 2.35, 10, wconc);
+ AliMixture(37, "CONCRETE1$", aconc, zconc, 2.35, 10, wconc);
+ AliMixture(57, "CONCRETE2$", aconc, zconc, 2.35, 10, wconc);
+
+ // Stainless Steel
+ AliMixture(10, "STAINLESS STEEL1", asteel, zsteel, 7.88, 4, wsteel);
+ AliMixture(30, "STAINLESS STEEL2", asteel, zsteel, 7.88, 4, wsteel);
+ AliMixture(50, "STAINLESS STEEL3", asteel, zsteel, 7.88, 4, wsteel);
// ****************
// Defines tracking media parameters.
stmin = -.8;
// ***************
- // 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);
+ // Stainless Steel
+ AliMedium(10, "STST_C0 ", 10, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(30, "STST_C1 ", 30, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
+ AliMedium(50, "STST_C2 ", 50, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
// Air
//
Int_t i;
//
- if(fDebug) {
+ if(AliLog::GetGlobalDebugLevel()>0) {
printf("\n%s: ",ClassName());
for(i=0;i<35;i++) printf("*");
printf(" HALL_INIT ");
}
//_____________________________________________________________________________
-void AliHALL::DrawModule()
+void AliHALL::DrawModule() const
{
//
// Draw a shaded view of Experimental Hall