+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * *
+ * Author: The ALICE Off-line Project. *
+ * Contributors are mentioned in the code where appropriate. *
+ * *
+ * Permission to use, copy, modify and distribute this software and its *
+ * documentation strictly for non-commercial purposes is hereby granted *
+ * without fee, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission notice *
+ * appear in the supporting documentation. The authors make no claims *
+ * about the suitability of this software for any purpose. It is *
+ * provided "as is" without express or implied warranty. *
+ **************************************************************************/
+
+/* $Id$ */
+
///////////////////////////////////////////////////////////////////////////////
// //
// Alice external volume //
// //
///////////////////////////////////////////////////////////////////////////////
-#include "AliRun.h"
+#include <TVirtualMC.h>
+
#include "AliBODY.h"
+#include "AliMagF.h"
+#include "AliRun.h"
ClassImp(AliBODY)
*/
//End_Html
- Float_t DALIC[10];
- Int_t *idtmed = gAlice->Idtmed();
- AliMC *pMC = AliMC::GetMC();
+ Float_t dALIC[10];
+ Int_t *idtmed = fIdtmed->GetArray()+1;
//
if(gAlice->GetModule("ZDC")) {
//
// If the ZDC is present we have an asymmetric box
// made by a four sides polygone
//
- DALIC[0]=45;
- DALIC[1]=360;
- DALIC[2]=4;
- DALIC[3]=2;
- DALIC[4]=-3000;
- DALIC[5]=0;
- DALIC[6]=2000;
- DALIC[7]=15000;
- DALIC[8]=0;
- DALIC[9]=2000;
- pMC->Gsvolu("ALIC","PGON",idtmed[1],DALIC,10);
+ dALIC[0]=45;
+ dALIC[1]=360;
+ dALIC[2]=4;
+ dALIC[3]=2;
+
+ dALIC[4]=-15000;
+ dALIC[5]=0;
+ dALIC[6]=2000;
+
+ dALIC[7]=3000;
+ dALIC[8]=0;
+ dALIC[9]=2000;
+ gMC->Gsvolu("ALIC","PGON",idtmed[1],dALIC,10);
+ } else if ( gAlice->GetModule("CRT")) {
+ //
+ // If the Cosmic Ray Trigger is present we need a large box
+ //
+ //
+ dALIC[0]=13000.;
+ dALIC[1]=5000.;
+ dALIC[2]=13000.;
+ gMC->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3);
+
} else {
//
- // If the ZDC is not present make just a BOX
+ // If the ZDC and CRT are not present make just a BOX
//
- DALIC[0]=2000;
- DALIC[1]=2000;
- DALIC[2]=3000;
- pMC->Gsvolu("ALIC","BOX ",idtmed[1],DALIC,3);
+ dALIC[0]=2000;
+ dALIC[1]=2000;
+ dALIC[2]=3000;
+ gMC->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3);
}
}
//_____________________________________________________________________________
void AliBODY::CreateMaterials()
{
- Int_t ISXFLD = gAlice->Field()->Integ();
- Float_t SXMGMX = gAlice->Field()->Max();
+// Create materials and media
+ Int_t isxfld = gAlice->Field()->Integ();
+ Float_t sxmgmx = gAlice->Field()->Max();
//
AliMaterial(1,"Vacuum $",1.e-16,1.e-16,1.e-16,1.e16,1.e16);
AliMaterial(2,"Air $",14.61,7.3,0.001205,30420,67500);
AliMaterial(3,"Be $", 9.01,4 ,1.848 ,35.30,36.70);
//
- AliMedium(1,"Vacuum $",1,0,ISXFLD,SXMGMX,10,1,0.1,0.1,10);
- AliMedium(2,"Air $",2,0,ISXFLD,SXMGMX,10,-1,-0.1,0.1 ,-10);
- AliMedium(3,"Be pipe $",3,0,ISXFLD,SXMGMX,10,0.1,0.1,0.01,0.01);
+ AliMedium(1,"Vacuum $",1,0,isxfld,sxmgmx,10,1,0.1,0.1,10);
+ AliMedium(2,"Air $",2,0,isxfld,sxmgmx,10,-1,-0.1,0.1 ,-10);
+ AliMedium(3,"Be pipe $",3,0,isxfld,sxmgmx,10,0.1,0.1,0.01,0.01);
}
//_____________________________________________________________________________
-void AliBODY::DrawModule()
+void AliBODY::DrawModule() const
{
//
// Draw a view of the Alice outside box
//
- AliMC* pMC = AliMC::GetMC();
-
// Set everything unseen
- pMC->Gsatt("*", "seen", -1);
+ gMC->Gsatt("*", "seen", -1);
//
// Set ALIC mother visible
- pMC->Gsatt("ALIC","SEEN",1);
+ gMC->Gsatt("ALIC","SEEN",1);
//
// Set the volumes visible
//
- pMC->Gdopt("hide","off");
+ gMC->Gdopt("hide","off");
if(gAlice->GetModule("ZDC")) {
//
// ZDC is present
//
- pMC->DefaultRange();
- pMC->Gdraw("alic", 40, 30, 0, 15, 10, .0014, .0014);
- pMC->Gdhead(1111, "Aice Main body with Zero Degree Calorimeter");
+ gMC->DefaultRange();
+ gMC->Gdraw("alic", 40, 30, 0, 15, 10, .0014, .0014);
+ gMC->Gdhead(1111, "Aice Main body with Zero Degree Calorimeter");
} else {
//
// ZDC is not present
//
- pMC->Gdraw("alic", 40, 30, 0, 10, 9, .0027, .0027);
- pMC->Gdhead(1111, "Aice Main body");
+ gMC->Gdraw("alic", 40, 30, 0, 10, 9, .0027, .0027);
+ gMC->Gdhead(1111, "Aice Main body");
}
- pMC->Gdman(18, 4, "MAN");
+ gMC->Gdman(18, 4, "MAN");
}