1 ///////////////////////////////////////////////////////////////////////////////
3 // Alice external volume //
4 // This class contains the description of the Alice external volume //
8 <img src="gif/AliBODYClass.gif">
11 <font size=+2 color=red>
12 <p>The responsible person for this module is
13 <a href="mailto:andreas.morsch@cern.ch">Andreas Morsch</a>.
20 ///////////////////////////////////////////////////////////////////////////////
27 //_____________________________________________________________________________
31 // Default constructor
35 //_____________________________________________________________________________
36 AliBODY::AliBODY(const char *name, const char *title)
37 : AliModule(name,title)
40 // Standard constructor of the Alice external volume
47 //_____________________________________________________________________________
48 void AliBODY::CreateGeometry()
51 // Create the geometry of the Alice external body
55 <img src="gif/AliBODYTree.gif">
59 // If the ZDC is present we have an asymmetric box
60 // made by a four sides polygone
64 <img src="gif/AliBODYLarge.gif">
68 // If the ZDC is not present make just a BOX
72 <img src="gif/AliBODYSmall.gif">
77 Int_t *idtmed = gAlice->Idtmed();
78 AliMC *pMC = AliMC::GetMC();
80 if(gAlice->GetModule("ZDC")) {
82 // If the ZDC is present we have an asymmetric box
83 // made by a four sides polygone
95 pMC->Gsvolu("ALIC","PGON",idtmed[1],DALIC,10);
98 // If the ZDC is not present make just a BOX
103 pMC->Gsvolu("ALIC","BOX ",idtmed[1],DALIC,3);
107 //_____________________________________________________________________________
108 void AliBODY::CreateMaterials()
110 Int_t ISXFLD = gAlice->Field()->Integ();
111 Float_t SXMGMX = gAlice->Field()->Max();
113 AliMaterial(1,"Vacuum $",1.e-16,1.e-16,1.e-16,1.e16,1.e16);
114 AliMaterial(2,"Air $",14.61,7.3,0.001205,30420,67500);
115 AliMaterial(3,"Be $", 9.01,4 ,1.848 ,35.30,36.70);
117 AliMedium(1,"Vacuum $",1,0,ISXFLD,SXMGMX,10,1,0.1,0.1,10);
118 AliMedium(2,"Air $",2,0,ISXFLD,SXMGMX,10,-1,-0.1,0.1 ,-10);
119 AliMedium(3,"Be pipe $",3,0,ISXFLD,SXMGMX,10,0.1,0.1,0.01,0.01);
122 //_____________________________________________________________________________
123 void AliBODY::DrawModule()
126 // Draw a view of the Alice outside box
128 AliMC* pMC = AliMC::GetMC();
130 // Set everything unseen
131 pMC->Gsatt("*", "seen", -1);
133 // Set ALIC mother visible
134 pMC->Gsatt("ALIC","SEEN",1);
136 // Set the volumes visible
138 pMC->Gdopt("hide","off");
139 if(gAlice->GetModule("ZDC")) {
144 pMC->Gdraw("alic", 40, 30, 0, 15, 10, .0014, .0014);
145 pMC->Gdhead(1111, "Aice Main body with Zero Degree Calorimeter");
148 // ZDC is not present
150 pMC->Gdraw("alic", 40, 30, 0, 10, 9, .0027, .0027);
151 pMC->Gdhead(1111, "Aice Main body");
153 pMC->Gdman(18, 4, "MAN");