]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSt2GeometryBuilder.cxx
ReaderESDtree, MUON analysis, reading MUON data froESD in ReaderESD (Christian FINCK)
[u/mrichter/AliRoot.git] / MUON / AliMUONSt2GeometryBuilder.cxx
CommitLineData
30178c30 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
d1cd2474 16// $Id$
17//
18// Class AliMUONSt2GeometryBuilder
19// -------------------------------
5f1df83a 20// MUON Station2 coarse geometry construction class.
21// Extracted from AliMUONv1
22// by Ivana Hrivnacova, IPN Orsay
23// Included in AliRoot 2004/01/23
d1cd2474 24
25#include <TVirtualMC.h>
26#include <TGeoMatrix.h>
27
28#include "AliMUONSt2GeometryBuilder.h"
29#include "AliMUON.h"
30#include "AliMUONChamber.h"
31#include "AliMUONChamberGeometry.h"
32
33ClassImp(AliMUONSt2GeometryBuilder)
34
35//______________________________________________________________________________
36AliMUONSt2GeometryBuilder::AliMUONSt2GeometryBuilder(AliMUON* muon)
37 : AliMUONVGeometryBuilder(&muon->Chamber(2), &muon->Chamber(3)),
38 fMUON(muon)
39{
40// Standard constructor
41
42}
43
44//______________________________________________________________________________
45AliMUONSt2GeometryBuilder::AliMUONSt2GeometryBuilder()
46 : AliMUONVGeometryBuilder(),
47 fMUON(0)
48{
49// Default constructor
50}
51
52
53//______________________________________________________________________________
54AliMUONSt2GeometryBuilder::AliMUONSt2GeometryBuilder(const AliMUONSt2GeometryBuilder& rhs)
55 : AliMUONVGeometryBuilder(rhs)
56{
30178c30 57// Protected copy constructor
58
d1cd2474 59 Fatal("Copy constructor",
60 "Copy constructor is not implemented.");
61}
62
63//______________________________________________________________________________
64AliMUONSt2GeometryBuilder::~AliMUONSt2GeometryBuilder() {
65//
66}
67
68//______________________________________________________________________________
69AliMUONSt2GeometryBuilder&
70AliMUONSt2GeometryBuilder::operator = (const AliMUONSt2GeometryBuilder& rhs)
71{
30178c30 72// Protected assignement operator
73
d1cd2474 74 // check assignement to self
75 if (this == &rhs) return *this;
76
77 Fatal("operator=",
78 "Assignment operator is not implemented.");
79
80 return *this;
81}
82
83//
84// public methods
85//
86
87//______________________________________________________________________________
88void AliMUONSt2GeometryBuilder::CreateGeometry()
89{
90// From AliMUONv1::CreateGeometry()
91
92//
93//********************************************************************
94// Station 2 **
95//********************************************************************
96 // indices 1 and 2 for first and second chambers in the station
97 // iChamber (first chamber) kept for other quanties than Z,
98 // assumed to be the same in both chambers
99
100 // Get tracking medias Ids
101 Int_t *idtmed = fMUON->GetIdtmed()->GetArray()-1099;
102 Int_t idAir= idtmed[1100]; // medium 1
103 Int_t idAlu1=idtmed[1103]; // medium 4
104 Int_t idAlu2=idtmed[1104]; // medium 5
105 Int_t idGas=idtmed[1108]; // medium 9 = Ar-CO2 gas (80%+20%)
106 Bool_t frameCrosses=kTRUE;
107
108 // Rotation matrices in the x-y plane
109 // phi= 0 deg
110 Int_t irot1;
111 fMUON->AliMatrix(irot1, 90., 0., 90., 90., 0., 0.);
112 // phi= 90 deg
113 Int_t irot2;
114 fMUON->AliMatrix(irot2, 90., 90., 90., 180., 0., 0.);
115
116 AliMUONChamber* iChamber = GetChamber(2);
117 AliMUONChamber* iChamber1 = iChamber;
118 AliMUONChamber* iChamber2 = GetChamber(3);
119
120 // Half of the total thickness of frame crosses (including DAlu)
121 // for each chamber in stations 1 and 2:
122 // 3% of X0 of composite material,
123 // but taken as Aluminium here, with same thickness in number of X0
124 Float_t dframez = 3. * 8.9 / 100;
125 // DGas and DAlu not changed from standard values
126 Double_t zfpos=-(iChamber->DGas()+dframez+iChamber->DAlu())/2;
127 // The same parameters are defined in builder for station 1
128
129 // Mother volume
130 // Outer excess and inner recess for mother volume radius
131 // with respect to ROuter and RInner
132 Float_t dframep=.001; // Value for station 3 should be 6 ...
133 // Width (RdPhi) of the frame crosses for stations 1 and 2 (cm)
134 // Float_t dframep1=.001;
135 Float_t phi=2*TMath::Pi()/12/2;
136 // The same parameters are defined in builder for station 1
137
138 Float_t tpar[3];
139 Double_t dstation = (-iChamber2->Z()) - (-iChamber1->Z());
140 tpar[0] = iChamber->RInner()-dframep;
141 tpar[1] = (iChamber->ROuter()+dframep)/TMath::Cos(phi);
142 tpar[2] = dstation/5;
143
144 gMC->Gsvolu("S03M", "TUBE", idAir, tpar, 3);
145 gMC->Gsvolu("S04M", "TUBE", idAir, tpar, 3);
146
147 // CHANGED
148 //gMC->Gspos("S03M", 1, "ALIC", 0., 0., zpos1 , 0, "ONLY");
149 //gMC->Gspos("S04M", 1, "ALIC", 0., 0., zpos2 , 0, "ONLY");
150 GetChamber(2)->GetGeometry()->AddEnvelope("S03M", false);
151 GetChamber(3)->GetGeometry()->AddEnvelope("S04M", false);
152
153 gMC->Gsbool("S03M", "L3DO");
154 gMC->Gsbool("S03M", "L3O1");
155 gMC->Gsbool("S03M", "L3O2");
156 gMC->Gsbool("S04M", "L3DO");
157 gMC->Gsbool("S04M", "L3O1");
158 gMC->Gsbool("S04M", "L3O2");
159
160// // Aluminium frames
161// // Outer frames
162// pgpar[0] = 360/12/2;
163// pgpar[1] = 360.;
164// pgpar[2] = 12.;
165// pgpar[3] = 2;
166// pgpar[4] = -dframez/2;
167// pgpar[5] = iChamber->ROuter();
168// pgpar[6] = pgpar[5]+dframep;
169// pgpar[7] = +dframez/2;
170// pgpar[8] = pgpar[5];
171// pgpar[9] = pgpar[6];
172// gMC->Gsvolu("S03O", "PGON", idAlu1, pgpar, 10);
173// gMC->Gsvolu("S04O", "PGON", idAlu1, pgpar, 10);
174// gMC->Gspos("S03O",1,"S03M", 0.,0.,-zfpos, 0,"ONLY");
175// gMC->Gspos("S03O",2,"S03M", 0.,0.,+zfpos, 0,"ONLY");
176// gMC->Gspos("S04O",1,"S04M", 0.,0.,-zfpos, 0,"ONLY");
177// gMC->Gspos("S04O",2,"S04M", 0.,0.,+zfpos, 0,"ONLY");
178// //
179// // Inner frame
180// tpar[0]= iChamber->RInner()-dframep;
181// tpar[1]= iChamber->RInner();
182// tpar[2]= dframez/2;
183// gMC->Gsvolu("S03I", "TUBE", idAlu1, tpar, 3);
184// gMC->Gsvolu("S04I", "TUBE", idAlu1, tpar, 3);
185
186// gMC->Gspos("S03I",1,"S03M", 0.,0.,-zfpos, 0,"ONLY");
187// gMC->Gspos("S03I",2,"S03M", 0.,0.,+zfpos, 0,"ONLY");
188// gMC->Gspos("S04I",1,"S04M", 0.,0.,-zfpos, 0,"ONLY");
189// gMC->Gspos("S04I",2,"S04M", 0.,0.,+zfpos, 0,"ONLY");
190//
191// Frame Crosses
192 if (frameCrosses) {
193 // outside gas
194 // security for inside mother volume
195
196 // ADDED !! Repeated
197 Float_t dframep1 = 11.0;
198 Float_t dframez = 3. * 8.9 / 100;
199
200 Float_t bpar[3];
201 bpar[0] = (iChamber->ROuter() - iChamber->RInner())
202 * TMath::Cos(TMath::ASin(dframep1 /
203 (iChamber->ROuter() - iChamber->RInner())))
204 / 2.0;
205 bpar[1] = dframep1/2;
206 // total thickness will be (4 * bpar[2]) for each chamber,
207 // which has to be equal to (2 * dframez) - DAlu
208 bpar[2] = (2.0 * dframez - iChamber->DAlu()) / 4.0;
209 gMC->Gsvolu("S03B", "BOX", idAlu1, bpar, 3);
210 gMC->Gsvolu("S04B", "BOX", idAlu1, bpar, 3);
211
212 gMC->Gspos("S03B",1,"S03M", +iChamber->RInner()+bpar[0] , 0,-zfpos,
213 irot1,"ONLY");
214 gMC->Gspos("S03B",2,"S03M", -iChamber->RInner()-bpar[0] , 0,-zfpos,
215 irot1,"ONLY");
216 gMC->Gspos("S03B",3,"S03M", 0, +iChamber->RInner()+bpar[0] ,-zfpos,
217 irot2,"ONLY");
218 gMC->Gspos("S03B",4,"S03M", 0, -iChamber->RInner()-bpar[0] ,-zfpos,
219 irot2,"ONLY");
220 gMC->Gspos("S03B",5,"S03M", +iChamber->RInner()+bpar[0] , 0,+zfpos,
221 irot1,"ONLY");
222 gMC->Gspos("S03B",6,"S03M", -iChamber->RInner()-bpar[0] , 0,+zfpos,
223 irot1,"ONLY");
224 gMC->Gspos("S03B",7,"S03M", 0, +iChamber->RInner()+bpar[0] ,+zfpos,
225 irot2,"ONLY");
226 gMC->Gspos("S03B",8,"S03M", 0, -iChamber->RInner()-bpar[0] ,+zfpos,
227 irot2,"ONLY");
228
229 gMC->Gspos("S04B",1,"S04M", +iChamber->RInner()+bpar[0] , 0,-zfpos,
230 irot1,"ONLY");
231 gMC->Gspos("S04B",2,"S04M", -iChamber->RInner()-bpar[0] , 0,-zfpos,
232 irot1,"ONLY");
233 gMC->Gspos("S04B",3,"S04M", 0, +iChamber->RInner()+bpar[0] ,-zfpos,
234 irot2,"ONLY");
235 gMC->Gspos("S04B",4,"S04M", 0, -iChamber->RInner()-bpar[0] ,-zfpos,
236 irot2,"ONLY");
237 gMC->Gspos("S04B",5,"S04M", +iChamber->RInner()+bpar[0] , 0,+zfpos,
238 irot1,"ONLY");
239 gMC->Gspos("S04B",6,"S04M", -iChamber->RInner()-bpar[0] , 0,+zfpos,
240 irot1,"ONLY");
241 gMC->Gspos("S04B",7,"S04M", 0, +iChamber->RInner()+bpar[0] ,+zfpos,
242 irot2,"ONLY");
243 gMC->Gspos("S04B",8,"S04M", 0, -iChamber->RInner()-bpar[0] ,+zfpos,
244 irot2,"ONLY");
245 }
246//
247// Chamber Material represented by Alu sheet
248 tpar[0]= iChamber->RInner();
249 tpar[1]= iChamber->ROuter();
250 tpar[2] = (iChamber->DGas()+iChamber->DAlu())/2;
251 gMC->Gsvolu("S03A", "TUBE", idAlu2, tpar, 3);
252 gMC->Gsvolu("S04A", "TUBE", idAlu2, tpar, 3);
253 gMC->Gspos("S03A", 1, "S03M", 0., 0., 0., 0, "ONLY");
254 gMC->Gspos("S04A", 1, "S04M", 0., 0., 0., 0, "ONLY");
255//
256// Sensitive volumes
257 // tpar[2] = iChamber->DGas();
258 tpar[2] = iChamber->DGas()/2;
259 gMC->Gsvolu("S03G", "TUBE", idGas, tpar, 3);
260 gMC->Gsvolu("S04G", "TUBE", idGas, tpar, 3);
261 gMC->Gspos("S03G", 1, "S03A", 0., 0., 0., 0, "ONLY");
262 gMC->Gspos("S04G", 1, "S04A", 0., 0., 0., 0, "ONLY");
263//
264// Frame Crosses to be placed inside gas
265 // NONE: chambers are sensitive everywhere
266// if (frameCrosses) {
267
268// dr = (iChamber->ROuter() - iChamber->RInner());
269// bpar[0] = TMath::Sqrt(dr*dr-dframep1*dframep1/4)/2;
270// bpar[1] = dframep1/2;
271// bpar[2] = iChamber->DGas()/2;
272// gMC->Gsvolu("S03F", "BOX", idAlu1, bpar, 3);
273// gMC->Gsvolu("S04F", "BOX", idAlu1, bpar, 3);
274
275// gMC->Gspos("S03F",1,"S03G", +iChamber->RInner()+bpar[0] , 0, 0,
276// irot1,"ONLY");
277// gMC->Gspos("S03F",2,"S03G", -iChamber->RInner()-bpar[0] , 0, 0,
278// irot1,"ONLY");
279// gMC->Gspos("S03F",3,"S03G", 0, +iChamber->RInner()+bpar[0] , 0,
280// irot2,"ONLY");
281// gMC->Gspos("S03F",4,"S03G", 0, -iChamber->RInner()-bpar[0] , 0,
282// irot2,"ONLY");
283
284// gMC->Gspos("S04F",1,"S04G", +iChamber->RInner()+bpar[0] , 0, 0,
285// irot1,"ONLY");
286// gMC->Gspos("S04F",2,"S04G", -iChamber->RInner()-bpar[0] , 0, 0,
287// irot1,"ONLY");
288// gMC->Gspos("S04F",3,"S04G", 0, +iChamber->RInner()+bpar[0] , 0,
289// irot2,"ONLY");
290// gMC->Gspos("S04F",4,"S04G", 0, -iChamber->RInner()-bpar[0] , 0,
291// irot2,"ONLY");
292// }
293/*
294 iChamber1 = iChamber = (AliMUONChamber*) (*fChambers)[2];
295 iChamber2 =(AliMUONChamber*) (*fChambers)[3];
296 zpos1=iChamber1->Z();
297 zpos2=iChamber2->Z();
298 dstation = zpos2 - zpos1;
299 // DGas and DAlu not changed from standard values
300 zfpos=-(iChamber->DGas()+dframez+iChamber->DAlu())/2;
301
302//
303// Mother volume
304 tpar[0] = iChamber->RInner()-dframep;
305 tpar[1] = (iChamber->ROuter()+dframep)/TMath::Cos(phi);
306 tpar[2] = dstation/5;
307
308 gMC->Gsvolu("S03M", "TUBE", idAir, tpar, 3);
309 gMC->Gsvolu("S04M", "TUBE", idAir, tpar, 3);
310 gMC->Gspos("S03M", 1, "ALIC", 0., 0., zpos1 , 0, "ONLY");
311 gMC->Gspos("S04M", 1, "ALIC", 0., 0., zpos2 , 0, "ONLY");
312 gMC->Gsbool("S03M", "L3DO");
313 gMC->Gsbool("S03M", "L3O1");
314 gMC->Gsbool("S03M", "L3O2");
315 gMC->Gsbool("S04M", "L3DO");
316 gMC->Gsbool("S04M", "L3O1");
317 gMC->Gsbool("S04M", "L3O2");
318
319// // Aluminium frames
320// // Outer frames
321// pgpar[0] = 360/12/2;
322// pgpar[1] = 360.;
323// pgpar[2] = 12.;
324// pgpar[3] = 2;
325// pgpar[4] = -dframez/2;
326// pgpar[5] = iChamber->ROuter();
327// pgpar[6] = pgpar[5]+dframep;
328// pgpar[7] = +dframez/2;
329// pgpar[8] = pgpar[5];
330// pgpar[9] = pgpar[6];
331// gMC->Gsvolu("S03O", "PGON", idAlu1, pgpar, 10);
332// gMC->Gsvolu("S04O", "PGON", idAlu1, pgpar, 10);
333// gMC->Gspos("S03O",1,"S03M", 0.,0.,-zfpos, 0,"ONLY");
334// gMC->Gspos("S03O",2,"S03M", 0.,0.,+zfpos, 0,"ONLY");
335// gMC->Gspos("S04O",1,"S04M", 0.,0.,-zfpos, 0,"ONLY");
336// gMC->Gspos("S04O",2,"S04M", 0.,0.,+zfpos, 0,"ONLY");
337// //
338// // Inner frame
339// tpar[0]= iChamber->RInner()-dframep;
340// tpar[1]= iChamber->RInner();
341// tpar[2]= dframez/2;
342// gMC->Gsvolu("S03I", "TUBE", idAlu1, tpar, 3);
343// gMC->Gsvolu("S04I", "TUBE", idAlu1, tpar, 3);
344
345// gMC->Gspos("S03I",1,"S03M", 0.,0.,-zfpos, 0,"ONLY");
346// gMC->Gspos("S03I",2,"S03M", 0.,0.,+zfpos, 0,"ONLY");
347// gMC->Gspos("S04I",1,"S04M", 0.,0.,-zfpos, 0,"ONLY");
348// gMC->Gspos("S04I",2,"S04M", 0.,0.,+zfpos, 0,"ONLY");
349//
350// Frame Crosses
351 if (frameCrosses) {
352 // outside gas
353 // security for inside mother volume
354 bpar[0] = (iChamber->ROuter() - iChamber->RInner())
355 * TMath::Cos(TMath::ASin(dframep1 /
356 (iChamber->ROuter() - iChamber->RInner())))
357 / 2.0;
358 bpar[1] = dframep1/2;
359 // total thickness will be (4 * bpar[2]) for each chamber,
360 // which has to be equal to (2 * dframez) - DAlu
361 bpar[2] = (2.0 * dframez - iChamber->DAlu()) / 4.0;
362 gMC->Gsvolu("S03B", "BOX", idAlu1, bpar, 3);
363 gMC->Gsvolu("S04B", "BOX", idAlu1, bpar, 3);
364
365 gMC->Gspos("S03B",1,"S03M", +iChamber->RInner()+bpar[0] , 0,-zfpos,
366 irot1,"ONLY");
367 gMC->Gspos("S03B",2,"S03M", -iChamber->RInner()-bpar[0] , 0,-zfpos,
368 irot1,"ONLY");
369 gMC->Gspos("S03B",3,"S03M", 0, +iChamber->RInner()+bpar[0] ,-zfpos,
370 irot2,"ONLY");
371 gMC->Gspos("S03B",4,"S03M", 0, -iChamber->RInner()-bpar[0] ,-zfpos,
372 irot2,"ONLY");
373 gMC->Gspos("S03B",5,"S03M", +iChamber->RInner()+bpar[0] , 0,+zfpos,
374 irot1,"ONLY");
375 gMC->Gspos("S03B",6,"S03M", -iChamber->RInner()-bpar[0] , 0,+zfpos,
376 irot1,"ONLY");
377 gMC->Gspos("S03B",7,"S03M", 0, +iChamber->RInner()+bpar[0] ,+zfpos,
378 irot2,"ONLY");
379 gMC->Gspos("S03B",8,"S03M", 0, -iChamber->RInner()-bpar[0] ,+zfpos,
380 irot2,"ONLY");
381
382 gMC->Gspos("S04B",1,"S04M", +iChamber->RInner()+bpar[0] , 0,-zfpos,
383 irot1,"ONLY");
384 gMC->Gspos("S04B",2,"S04M", -iChamber->RInner()-bpar[0] , 0,-zfpos,
385 irot1,"ONLY");
386 gMC->Gspos("S04B",3,"S04M", 0, +iChamber->RInner()+bpar[0] ,-zfpos,
387 irot2,"ONLY");
388 gMC->Gspos("S04B",4,"S04M", 0, -iChamber->RInner()-bpar[0] ,-zfpos,
389 irot2,"ONLY");
390 gMC->Gspos("S04B",5,"S04M", +iChamber->RInner()+bpar[0] , 0,+zfpos,
391 irot1,"ONLY");
392 gMC->Gspos("S04B",6,"S04M", -iChamber->RInner()-bpar[0] , 0,+zfpos,
393 irot1,"ONLY");
394 gMC->Gspos("S04B",7,"S04M", 0, +iChamber->RInner()+bpar[0] ,+zfpos,
395 irot2,"ONLY");
396 gMC->Gspos("S04B",8,"S04M", 0, -iChamber->RInner()-bpar[0] ,+zfpos,
397 irot2,"ONLY");
398 }
399//
400// Chamber Material represented by Alu sheet
401 tpar[0]= iChamber->RInner();
402 tpar[1]= iChamber->ROuter();
403 tpar[2] = (iChamber->DGas()+iChamber->DAlu())/2;
404 gMC->Gsvolu("S03A", "TUBE", idAlu2, tpar, 3);
405 gMC->Gsvolu("S04A", "TUBE", idAlu2, tpar, 3);
406 gMC->Gspos("S03A", 1, "S03M", 0., 0., 0., 0, "ONLY");
407 gMC->Gspos("S04A", 1, "S04M", 0., 0., 0., 0, "ONLY");
408//
409// Sensitive volumes
410 // tpar[2] = iChamber->DGas();
411 tpar[2] = iChamber->DGas()/2;
412 gMC->Gsvolu("S03G", "TUBE", idGas, tpar, 3);
413 gMC->Gsvolu("S04G", "TUBE", idGas, tpar, 3);
414 gMC->Gspos("S03G", 1, "S03A", 0., 0., 0., 0, "ONLY");
415 gMC->Gspos("S04G", 1, "S04A", 0., 0., 0., 0, "ONLY");
416//
417// Frame Crosses to be placed inside gas
418 // NONE: chambers are sensitive everywhere
419// if (frameCrosses) {
420
421// dr = (iChamber->ROuter() - iChamber->RInner());
422// bpar[0] = TMath::Sqrt(dr*dr-dframep1*dframep1/4)/2;
423// bpar[1] = dframep1/2;
424// bpar[2] = iChamber->DGas()/2;
425// gMC->Gsvolu("S03F", "BOX", idAlu1, bpar, 3);
426// gMC->Gsvolu("S04F", "BOX", idAlu1, bpar, 3);
427
428// gMC->Gspos("S03F",1,"S03G", +iChamber->RInner()+bpar[0] , 0, 0,
429// irot1,"ONLY");
430// gMC->Gspos("S03F",2,"S03G", -iChamber->RInner()-bpar[0] , 0, 0,
431// irot1,"ONLY");
432// gMC->Gspos("S03F",3,"S03G", 0, +iChamber->RInner()+bpar[0] , 0,
433// irot2,"ONLY");
434// gMC->Gspos("S03F",4,"S03G", 0, -iChamber->RInner()-bpar[0] , 0,
435// irot2,"ONLY");
436
437// gMC->Gspos("S04F",1,"S04G", +iChamber->RInner()+bpar[0] , 0, 0,
438// irot1,"ONLY");
439// gMC->Gspos("S04F",2,"S04G", -iChamber->RInner()-bpar[0] , 0, 0,
440// irot1,"ONLY");
441// gMC->Gspos("S04F",3,"S04G", 0, +iChamber->RInner()+bpar[0] , 0,
442// irot2,"ONLY");
443// gMC->Gspos("S04F",4,"S04G", 0, -iChamber->RInner()-bpar[0] , 0,
444// irot2,"ONLY");
445// }
446 }
447*/
448}
449
450//______________________________________________________________________________
451void AliMUONSt2GeometryBuilder::SetTransformations()
452{
453// Defines the transformations for the station2 chambers.
454// ---
455
456 AliMUONChamber* iChamber1 = GetChamber(2);
457 Double_t zpos1 = - iChamber1->Z();
458 iChamber1->GetGeometry()
459 ->SetTranslation(TGeoTranslation(0., 0., zpos1));
460
461 AliMUONChamber* iChamber2 = GetChamber(3);
462 Double_t zpos2 = - iChamber2->Z();
463 iChamber2->GetGeometry()
464 ->SetTranslation(TGeoTranslation(0., 0., zpos2));
465}
466
467//______________________________________________________________________________
468void AliMUONSt2GeometryBuilder::SetSensitiveVolumes()
469{
470// Defines the sensitive volumes for station2 chambers.
471// ---
472
473 GetChamber(2)->GetGeometry()->SetSensitiveVolume("S03G");
474 GetChamber(3)->GetGeometry()->SetSensitiveVolume("S04G");
475}