]>
Commit | Line | Data |
---|---|---|
1 | /////////////////////////////////////////////////////////////////////////////// | |
2 | // // | |
3 | // Alice external volume // | |
4 | // This class contains the description of the Alice external volume // | |
5 | // // | |
6 | //Begin_Html | |
7 | /* | |
8 | <img src="picts/AliBODYClass.gif"> | |
9 | </pre> | |
10 | <br clear=left> | |
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>. | |
14 | </font> | |
15 | <pre> | |
16 | */ | |
17 | //End_Html | |
18 | // // | |
19 | // // | |
20 | /////////////////////////////////////////////////////////////////////////////// | |
21 | ||
22 | #include "AliRun.h" | |
23 | #include "AliBODY.h" | |
24 | ||
25 | ClassImp(AliBODY) | |
26 | ||
27 | //_____________________________________________________________________________ | |
28 | AliBODY::AliBODY() | |
29 | { | |
30 | // | |
31 | // Default constructor | |
32 | // | |
33 | } | |
34 | ||
35 | //_____________________________________________________________________________ | |
36 | AliBODY::AliBODY(const char *name, const char *title) | |
37 | : AliModule(name,title) | |
38 | { | |
39 | // | |
40 | // Standard constructor of the Alice external volume | |
41 | // | |
42 | SetMarkerColor(7); | |
43 | SetMarkerStyle(2); | |
44 | SetMarkerSize(0.4); | |
45 | } | |
46 | ||
47 | //_____________________________________________________________________________ | |
48 | void AliBODY::CreateGeometry() | |
49 | { | |
50 | // | |
51 | // Create the geometry of the Alice external body | |
52 | // | |
53 | //Begin_Html | |
54 | /* | |
55 | <img src="picts/AliBODYTree.gif"> | |
56 | */ | |
57 | //End_Html | |
58 | // | |
59 | // If the ZDC is present we have an asymmetric box | |
60 | // made by a four sides polygone | |
61 | // | |
62 | //Begin_Html | |
63 | /* | |
64 | <img src="picts/AliBODYLarge.gif"> | |
65 | */ | |
66 | //End_Html | |
67 | // | |
68 | // If the ZDC is not present make just a BOX | |
69 | // | |
70 | //Begin_Html | |
71 | /* | |
72 | <img src="picts/AliBODYSmall.gif"> | |
73 | */ | |
74 | //End_Html | |
75 | ||
76 | Float_t DALIC[10]; | |
77 | Int_t *idtmed = fIdtmed->GetArray()+1; | |
78 | // | |
79 | if(gAlice->GetModule("ZDC")) { | |
80 | // | |
81 | // If the ZDC is present we have an asymmetric box | |
82 | // made by a four sides polygone | |
83 | // | |
84 | DALIC[0]=45; | |
85 | DALIC[1]=360; | |
86 | DALIC[2]=4; | |
87 | DALIC[3]=2; | |
88 | DALIC[4]=-3000; | |
89 | DALIC[5]=0; | |
90 | DALIC[6]=2000; | |
91 | DALIC[7]=15000; | |
92 | DALIC[8]=0; | |
93 | DALIC[9]=2000; | |
94 | gMC->Gsvolu("ALIC","PGON",idtmed[1],DALIC,10); | |
95 | } else { | |
96 | // | |
97 | // If the ZDC is not present make just a BOX | |
98 | // | |
99 | DALIC[0]=2000; | |
100 | DALIC[1]=2000; | |
101 | DALIC[2]=3000; | |
102 | gMC->Gsvolu("ALIC","BOX ",idtmed[1],DALIC,3); | |
103 | } | |
104 | } | |
105 | ||
106 | //_____________________________________________________________________________ | |
107 | void AliBODY::CreateMaterials() | |
108 | { | |
109 | Int_t ISXFLD = gAlice->Field()->Integ(); | |
110 | Float_t SXMGMX = gAlice->Field()->Max(); | |
111 | // | |
112 | AliMaterial(1,"Vacuum $",1.e-16,1.e-16,1.e-16,1.e16,1.e16); | |
113 | AliMaterial(2,"Air $",14.61,7.3,0.001205,30420,67500); | |
114 | AliMaterial(3,"Be $", 9.01,4 ,1.848 ,35.30,36.70); | |
115 | // | |
116 | AliMedium(1,"Vacuum $",1,0,ISXFLD,SXMGMX,10,1,0.1,0.1,10); | |
117 | AliMedium(2,"Air $",2,0,ISXFLD,SXMGMX,10,-1,-0.1,0.1 ,-10); | |
118 | AliMedium(3,"Be pipe $",3,0,ISXFLD,SXMGMX,10,0.1,0.1,0.01,0.01); | |
119 | } | |
120 | ||
121 | //_____________________________________________________________________________ | |
122 | void AliBODY::DrawModule() | |
123 | { | |
124 | // | |
125 | // Draw a view of the Alice outside box | |
126 | // | |
127 | // Set everything unseen | |
128 | gMC->Gsatt("*", "seen", -1); | |
129 | // | |
130 | // Set ALIC mother visible | |
131 | gMC->Gsatt("ALIC","SEEN",1); | |
132 | // | |
133 | // Set the volumes visible | |
134 | // | |
135 | gMC->Gdopt("hide","off"); | |
136 | if(gAlice->GetModule("ZDC")) { | |
137 | // | |
138 | // ZDC is present | |
139 | // | |
140 | gMC->DefaultRange(); | |
141 | gMC->Gdraw("alic", 40, 30, 0, 15, 10, .0014, .0014); | |
142 | gMC->Gdhead(1111, "Aice Main body with Zero Degree Calorimeter"); | |
143 | } else { | |
144 | // | |
145 | // ZDC is not present | |
146 | // | |
147 | gMC->Gdraw("alic", 40, 30, 0, 10, 9, .0027, .0027); | |
148 | gMC->Gdhead(1111, "Aice Main body"); | |
149 | } | |
150 | gMC->Gdman(18, 4, "MAN"); | |
151 | } | |
152 | ||
153 |