ROOT logo
/**************************************************************************
 * 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$

//-----------------------------------------------------------------------------
// Class AliMUONSt1GeometryBuilder
// -------------------------------
// MUON Station1 coarse geometry construction class.
// Extracted from AliMUONv1
// by Ivana Hrivnacova, IPN Orsay
// Included in AliRoot 2004/01/23
//-----------------------------------------------------------------------------

#include <TVirtualMC.h>
#include <TGeoMatrix.h>

#include "AliLog.h"

#include "AliMUONSt1GeometryBuilder.h"
#include "AliMUON.h"
#include "TArrayI.h"
#include "AliMUONConstants.h"
#include "AliMUONGeometryModule.h"
#include "AliMUONGeometryEnvelopeStore.h"

using std::endl;
using std::cout;
/// \cond CLASSIMP
ClassImp(AliMUONSt1GeometryBuilder)
/// \endcond

//______________________________________________________________________________
AliMUONSt1GeometryBuilder::AliMUONSt1GeometryBuilder(AliMUON* muon)
 : AliMUONVGeometryBuilder(0, 2),
   fMUON(muon)
{
/// Standard constructor

}

//______________________________________________________________________________
AliMUONSt1GeometryBuilder::AliMUONSt1GeometryBuilder()
 : AliMUONVGeometryBuilder(),
   fMUON(0)
{
/// Default constructor
}

//______________________________________________________________________________
AliMUONSt1GeometryBuilder::~AliMUONSt1GeometryBuilder() 
{
/// Destructor
}

//
// public methods
//

//______________________________________________________________________________
void AliMUONSt1GeometryBuilder::CreateGeometry()
{
/// From AliMUONv1::CreateGeometry()

//********************************************************************
//                            Station 1                             **
//********************************************************************
//  CONCENTRIC
     // indices 1 and 2 for first and second chambers in the station
     // iChamber (first chamber) kept for other quanties than Z,
     // assumed to be the same in both chambers

     // Get tracking medias Ids     
     Int_t *idtmed = fMUON->GetIdtmed()->GetArray()-1099;
     Int_t idAir= idtmed[1100]; // medium 1
     Int_t idAlu1=idtmed[1103]; // medium 4
     Int_t idAlu2=idtmed[1104]; // medium 5
     Int_t idGas=idtmed[1108];  // medium 9 = Ar-CO2 gas (80%+20%)
     Bool_t frameCrosses=kTRUE;     

     // Rotation matrices in the x-y plane  
     // phi=   0 deg
     Int_t irot1;
     fMUON->AliMatrix(irot1,  90.,   0., 90.,  90., 0., 0.);
     // phi=  90 deg
     Int_t irot2;
     fMUON->AliMatrix(irot2,  90.,  90., 90., 180., 0., 0.);

     // DGas decreased from standard one (0.5)
     const Float_t kDGas = 0.4;

     // DAlu increased from standard one (3% of X0),
     // because more electronics with smaller pads
     const Float_t kDAlu = 3.5 * 8.9 / 100.;

     // Half of the total thickness of frame crosses (including DAlu)
     // for each chamber in stations 1 and 2:
     // 3% of X0 of composite material,
     // but taken as Aluminium here, with same thickness in number of X0
     Float_t dframez = 3. * 8.9 / 100;
     Float_t zfpos=-(kDGas+dframez+kDAlu)/2;
             // The same parameters are defined in builder for station 2 

     // Mother volume
     // Outer excess and inner recess for mother volume radius
     // with respect to ROuter and RInner
     Float_t dframep=.001; // Value for station 3 should be 6 ...
     // Width (RdPhi) of the frame crosses for stations 1 and 2 (cm)
     // Float_t dframep1=.001;
     Float_t dframep1 = 11.0;
     Float_t phi=2*TMath::Pi()/12/2;
             // The same parameters are defined in builder for station 2 

     Float_t tpar[3];
     Float_t dstation = (-AliMUONConstants::DefaultChamberZ(1)) - 
                        (-AliMUONConstants::DefaultChamberZ(0));
     tpar[0] = AliMUONConstants::Rmin(0)-dframep; 
     tpar[1] = (AliMUONConstants::Rmax(0)+dframep)/TMath::Cos(phi);
     tpar[2] = dstation/5;

     TVirtualMC::GetMC()->Gsvolu("S01M", "TUBE", idAir, tpar, 3);
     TVirtualMC::GetMC()->Gsvolu("S02M", "TUBE", idAir, tpar, 3);

     // CHANGED
     //TVirtualMC::GetMC()->Gspos("S01M", 1, "ALIC", 0., 0., zpos1 , 0, "ONLY");
     //TVirtualMC::GetMC()->Gspos("S02M", 1, "ALIC", 0., 0., zpos2 , 0, "ONLY");
     
     GetEnvelopes(0)->AddEnvelope("S01M", 100, false);
     GetEnvelopes(1)->AddEnvelope("S02M", 200, false);
         

// // Aluminium frames
// // Outer frames
//      pgpar[0] = 360/12/2;
//      pgpar[1] = 360.;
//      pgpar[2] = 12.;
//      pgpar[3] =   2;
//      pgpar[4] = -dframez/2;
//      pgpar[5] = AliMUONConstants::Rmax(0);
//      pgpar[6] = pgpar[5]+dframep1;
//      pgpar[7] = +dframez/2;
//      pgpar[8] = pgpar[5];
//      pgpar[9] = pgpar[6];
//      TVirtualMC::GetMC()->Gsvolu("S01O", "PGON", idAlu1, pgpar, 10);
//      TVirtualMC::GetMC()->Gsvolu("S02O", "PGON", idAlu1, pgpar, 10);
//      TVirtualMC::GetMC()->Gspos("S01O",1,"S01M", 0.,0.,-zfpos,  0,"ONLY");
//      TVirtualMC::GetMC()->Gspos("S01O",2,"S01M", 0.,0.,+zfpos,  0,"ONLY");
//      TVirtualMC::GetMC()->Gspos("S02O",1,"S02M", 0.,0.,-zfpos,  0,"ONLY");
//      TVirtualMC::GetMC()->Gspos("S02O",2,"S02M", 0.,0.,+zfpos,  0,"ONLY");
// //
// // Inner frame
//      tpar[0]= AliMUONConstants::Rmin(0)-dframep1;
//      tpar[1]= AliMUONConstants::Rmin(0);
//      tpar[2]= dframez/2;
//      TVirtualMC::GetMC()->Gsvolu("S01I", "TUBE", idAlu1, tpar, 3);
//      TVirtualMC::GetMC()->Gsvolu("S02I", "TUBE", idAlu1, tpar, 3);

//      TVirtualMC::GetMC()->Gspos("S01I",1,"S01M", 0.,0.,-zfpos,  0,"ONLY");
//      TVirtualMC::GetMC()->Gspos("S01I",2,"S01M", 0.,0.,+zfpos,  0,"ONLY");
//      TVirtualMC::GetMC()->Gspos("S02I",1,"S02M", 0.,0.,-zfpos,  0,"ONLY");
//      TVirtualMC::GetMC()->Gspos("S02I",2,"S02M", 0.,0.,+zfpos,  0,"ONLY");
//
// Frame Crosses
     if (frameCrosses) {
         // outside gas
         // security for inside mother volume
         Float_t bpar[3];
	 bpar[0] = (AliMUONConstants::Rmax(0) - AliMUONConstants::Rmin(0))
	   * TMath::Cos(TMath::ASin(dframep1 /
		   (AliMUONConstants::Rmax(0) - AliMUONConstants::Rmin(0))))
	   / 2.0;
	 bpar[1] = dframep1/2;
	 // total thickness will be (4 * bpar[2]) for each chamber,
	 // which has to be equal to (2 * dframez) - DAlu
	 bpar[2] = (2.0 * dframez - kDAlu) / 4.0;
	 TVirtualMC::GetMC()->Gsvolu("S01B", "BOX", idAlu1, bpar, 3);
	 TVirtualMC::GetMC()->Gsvolu("S02B", "BOX", idAlu1, bpar, 3);
	 
	 TVirtualMC::GetMC()->Gspos("S01B",1,"S01M", +AliMUONConstants::Rmin(0)+bpar[0] , 0,-zfpos, 
		    irot1,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S01B",2,"S01M", -AliMUONConstants::Rmin(0)-bpar[0] , 0,-zfpos, 
		    irot1,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S01B",3,"S01M", 0, +AliMUONConstants::Rmin(0)+bpar[0] ,-zfpos, 
		    irot2,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S01B",4,"S01M", 0, -AliMUONConstants::Rmin(0)-bpar[0] ,-zfpos, 
		    irot2,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S01B",5,"S01M", +AliMUONConstants::Rmin(0)+bpar[0] , 0,+zfpos, 
		    irot1,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S01B",6,"S01M", -AliMUONConstants::Rmin(0)-bpar[0] , 0,+zfpos, 
		    irot1,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S01B",7,"S01M", 0, +AliMUONConstants::Rmin(0)+bpar[0] ,+zfpos, 
		    irot2,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S01B",8,"S01M", 0, -AliMUONConstants::Rmin(0)-bpar[0] ,+zfpos, 
		    irot2,"ONLY");
	 
	 TVirtualMC::GetMC()->Gspos("S02B",1,"S02M", +AliMUONConstants::Rmin(0)+bpar[0] , 0,-zfpos, 
		    irot1,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S02B",2,"S02M", -AliMUONConstants::Rmin(0)-bpar[0] , 0,-zfpos, 
		    irot1,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S02B",3,"S02M", 0, +AliMUONConstants::Rmin(0)+bpar[0] ,-zfpos, 
		    irot2,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S02B",4,"S02M", 0, -AliMUONConstants::Rmin(0)-bpar[0] ,-zfpos, 
		    irot2,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S02B",5,"S02M", +AliMUONConstants::Rmin(0)+bpar[0] , 0,+zfpos, 
		    irot1,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S02B",6,"S02M", -AliMUONConstants::Rmin(0)-bpar[0] , 0,+zfpos, 
		    irot1,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S02B",7,"S02M", 0, +AliMUONConstants::Rmin(0)+bpar[0] ,+zfpos, 
		    irot2,"ONLY");
	 TVirtualMC::GetMC()->Gspos("S02B",8,"S02M", 0, -AliMUONConstants::Rmin(0)-bpar[0] ,+zfpos, 
		    irot2,"ONLY");
     }
//
//   Chamber Material represented by Alu sheet
     tpar[0]= AliMUONConstants::Rmin(0);
     tpar[1]= AliMUONConstants::Rmax(0);
     tpar[2] = (kDGas+kDAlu)/2;
     TVirtualMC::GetMC()->Gsvolu("S01A", "TUBE",  idAlu2, tpar, 3);
     TVirtualMC::GetMC()->Gsvolu("S02A", "TUBE",idAlu2, tpar, 3);
     TVirtualMC::GetMC()->Gspos("S01A", 1, "S01M", 0., 0., 0.,  0, "ONLY");
     TVirtualMC::GetMC()->Gspos("S02A", 1, "S02M", 0., 0., 0.,  0, "ONLY");
//     
//   Sensitive volumes
     // tpar[2] = kDGas;
     tpar[2] = kDGas/2;
     TVirtualMC::GetMC()->Gsvolu("S01G", "TUBE", idGas, tpar, 3);
     TVirtualMC::GetMC()->Gsvolu("S02G", "TUBE", idGas, tpar, 3);
     TVirtualMC::GetMC()->Gspos("S01G", 1, "S01A", 0., 0., 0.,  0, "ONLY");
     TVirtualMC::GetMC()->Gspos("S02G", 1, "S02A", 0., 0., 0.,  0, "ONLY");
//
// Frame Crosses to be placed inside gas
     // NONE: chambers are sensitive everywhere
//      if (frameCrosses) {

// 	 dr = (AliMUONConstants::Rmax(0) - AliMUONConstants::Rmin(0));
// 	 bpar[0] = TMath::Sqrt(dr*dr-dframep1*dframep1/4)/2;
// 	 bpar[1] = dframep1/2;
// 	 bpar[2] = kDGas/2;
// 	 TVirtualMC::GetMC()->Gsvolu("S01F", "BOX", idAlu1, bpar, 3);
// 	 TVirtualMC::GetMC()->Gsvolu("S02F", "BOX", idAlu1, bpar, 3);
	 
// 	 TVirtualMC::GetMC()->Gspos("S01F",1,"S01G", +AliMUONConstants::Rmin(0)+bpar[0] , 0, 0, 
// 		    irot1,"ONLY");
// 	 TVirtualMC::GetMC()->Gspos("S01F",2,"S01G", -AliMUONConstants::Rmin(0)-bpar[0] , 0, 0, 
// 		    irot1,"ONLY");
// 	 TVirtualMC::GetMC()->Gspos("S01F",3,"S01G", 0, +AliMUONConstants::Rmin(0)+bpar[0] , 0, 
// 		    irot2,"ONLY");
// 	 TVirtualMC::GetMC()->Gspos("S01F",4,"S01G", 0, -AliMUONConstants::Rmin(0)-bpar[0] , 0, 
// 		    irot2,"ONLY");
	 
// 	 TVirtualMC::GetMC()->Gspos("S02F",1,"S02G", +AliMUONConstants::Rmin(0)+bpar[0] , 0, 0, 
// 		    irot1,"ONLY");
// 	 TVirtualMC::GetMC()->Gspos("S02F",2,"S02G", -AliMUONConstants::Rmin(0)-bpar[0] , 0, 0, 
// 		    irot1,"ONLY");
// 	 TVirtualMC::GetMC()->Gspos("S02F",3,"S02G", 0, +AliMUONConstants::Rmin(0)+bpar[0] , 0, 
// 		    irot2,"ONLY");
// 	 TVirtualMC::GetMC()->Gspos("S02F",4,"S02G", 0, -AliMUONConstants::Rmin(0)-bpar[0] , 0, 
// 		    irot2,"ONLY");
//      }
}

//______________________________________________________________________________
void AliMUONSt1GeometryBuilder::SetVolumes() 
{
/// Define the volumes for the station2 chambers.
}

//______________________________________________________________________________
void AliMUONSt1GeometryBuilder::SetTransformations()
{
/// Define the transformations for the station2 chambers.

  Double_t zpos1= - AliMUONConstants::DefaultChamberZ(0); 
  SetTranslation(0, TGeoTranslation(0., 0., zpos1));

  Double_t zpos2 = - AliMUONConstants::DefaultChamberZ(1); 
  SetTranslation(0, TGeoTranslation(0., 0., zpos2));
}

//______________________________________________________________________________
void AliMUONSt1GeometryBuilder::SetSensitiveVolumes()
{
/// Define the sensitive volumes for station1 chambers.

  GetGeometry(0)->SetSensitiveVolume("S01G");
  GetGeometry(1)->SetSensitiveVolume("S02G");
}
 AliMUONSt1GeometryBuilder.cxx:1
 AliMUONSt1GeometryBuilder.cxx:2
 AliMUONSt1GeometryBuilder.cxx:3
 AliMUONSt1GeometryBuilder.cxx:4
 AliMUONSt1GeometryBuilder.cxx:5
 AliMUONSt1GeometryBuilder.cxx:6
 AliMUONSt1GeometryBuilder.cxx:7
 AliMUONSt1GeometryBuilder.cxx:8
 AliMUONSt1GeometryBuilder.cxx:9
 AliMUONSt1GeometryBuilder.cxx:10
 AliMUONSt1GeometryBuilder.cxx:11
 AliMUONSt1GeometryBuilder.cxx:12
 AliMUONSt1GeometryBuilder.cxx:13
 AliMUONSt1GeometryBuilder.cxx:14
 AliMUONSt1GeometryBuilder.cxx:15
 AliMUONSt1GeometryBuilder.cxx:16
 AliMUONSt1GeometryBuilder.cxx:17
 AliMUONSt1GeometryBuilder.cxx:18
 AliMUONSt1GeometryBuilder.cxx:19
 AliMUONSt1GeometryBuilder.cxx:20
 AliMUONSt1GeometryBuilder.cxx:21
 AliMUONSt1GeometryBuilder.cxx:22
 AliMUONSt1GeometryBuilder.cxx:23
 AliMUONSt1GeometryBuilder.cxx:24
 AliMUONSt1GeometryBuilder.cxx:25
 AliMUONSt1GeometryBuilder.cxx:26
 AliMUONSt1GeometryBuilder.cxx:27
 AliMUONSt1GeometryBuilder.cxx:28
 AliMUONSt1GeometryBuilder.cxx:29
 AliMUONSt1GeometryBuilder.cxx:30
 AliMUONSt1GeometryBuilder.cxx:31
 AliMUONSt1GeometryBuilder.cxx:32
 AliMUONSt1GeometryBuilder.cxx:33
 AliMUONSt1GeometryBuilder.cxx:34
 AliMUONSt1GeometryBuilder.cxx:35
 AliMUONSt1GeometryBuilder.cxx:36
 AliMUONSt1GeometryBuilder.cxx:37
 AliMUONSt1GeometryBuilder.cxx:38
 AliMUONSt1GeometryBuilder.cxx:39
 AliMUONSt1GeometryBuilder.cxx:40
 AliMUONSt1GeometryBuilder.cxx:41
 AliMUONSt1GeometryBuilder.cxx:42
 AliMUONSt1GeometryBuilder.cxx:43
 AliMUONSt1GeometryBuilder.cxx:44
 AliMUONSt1GeometryBuilder.cxx:45
 AliMUONSt1GeometryBuilder.cxx:46
 AliMUONSt1GeometryBuilder.cxx:47
 AliMUONSt1GeometryBuilder.cxx:48
 AliMUONSt1GeometryBuilder.cxx:49
 AliMUONSt1GeometryBuilder.cxx:50
 AliMUONSt1GeometryBuilder.cxx:51
 AliMUONSt1GeometryBuilder.cxx:52
 AliMUONSt1GeometryBuilder.cxx:53
 AliMUONSt1GeometryBuilder.cxx:54
 AliMUONSt1GeometryBuilder.cxx:55
 AliMUONSt1GeometryBuilder.cxx:56
 AliMUONSt1GeometryBuilder.cxx:57
 AliMUONSt1GeometryBuilder.cxx:58
 AliMUONSt1GeometryBuilder.cxx:59
 AliMUONSt1GeometryBuilder.cxx:60
 AliMUONSt1GeometryBuilder.cxx:61
 AliMUONSt1GeometryBuilder.cxx:62
 AliMUONSt1GeometryBuilder.cxx:63
 AliMUONSt1GeometryBuilder.cxx:64
 AliMUONSt1GeometryBuilder.cxx:65
 AliMUONSt1GeometryBuilder.cxx:66
 AliMUONSt1GeometryBuilder.cxx:67
 AliMUONSt1GeometryBuilder.cxx:68
 AliMUONSt1GeometryBuilder.cxx:69
 AliMUONSt1GeometryBuilder.cxx:70
 AliMUONSt1GeometryBuilder.cxx:71
 AliMUONSt1GeometryBuilder.cxx:72
 AliMUONSt1GeometryBuilder.cxx:73
 AliMUONSt1GeometryBuilder.cxx:74
 AliMUONSt1GeometryBuilder.cxx:75
 AliMUONSt1GeometryBuilder.cxx:76
 AliMUONSt1GeometryBuilder.cxx:77
 AliMUONSt1GeometryBuilder.cxx:78
 AliMUONSt1GeometryBuilder.cxx:79
 AliMUONSt1GeometryBuilder.cxx:80
 AliMUONSt1GeometryBuilder.cxx:81
 AliMUONSt1GeometryBuilder.cxx:82
 AliMUONSt1GeometryBuilder.cxx:83
 AliMUONSt1GeometryBuilder.cxx:84
 AliMUONSt1GeometryBuilder.cxx:85
 AliMUONSt1GeometryBuilder.cxx:86
 AliMUONSt1GeometryBuilder.cxx:87
 AliMUONSt1GeometryBuilder.cxx:88
 AliMUONSt1GeometryBuilder.cxx:89
 AliMUONSt1GeometryBuilder.cxx:90
 AliMUONSt1GeometryBuilder.cxx:91
 AliMUONSt1GeometryBuilder.cxx:92
 AliMUONSt1GeometryBuilder.cxx:93
 AliMUONSt1GeometryBuilder.cxx:94
 AliMUONSt1GeometryBuilder.cxx:95
 AliMUONSt1GeometryBuilder.cxx:96
 AliMUONSt1GeometryBuilder.cxx:97
 AliMUONSt1GeometryBuilder.cxx:98
 AliMUONSt1GeometryBuilder.cxx:99
 AliMUONSt1GeometryBuilder.cxx:100
 AliMUONSt1GeometryBuilder.cxx:101
 AliMUONSt1GeometryBuilder.cxx:102
 AliMUONSt1GeometryBuilder.cxx:103
 AliMUONSt1GeometryBuilder.cxx:104
 AliMUONSt1GeometryBuilder.cxx:105
 AliMUONSt1GeometryBuilder.cxx:106
 AliMUONSt1GeometryBuilder.cxx:107
 AliMUONSt1GeometryBuilder.cxx:108
 AliMUONSt1GeometryBuilder.cxx:109
 AliMUONSt1GeometryBuilder.cxx:110
 AliMUONSt1GeometryBuilder.cxx:111
 AliMUONSt1GeometryBuilder.cxx:112
 AliMUONSt1GeometryBuilder.cxx:113
 AliMUONSt1GeometryBuilder.cxx:114
 AliMUONSt1GeometryBuilder.cxx:115
 AliMUONSt1GeometryBuilder.cxx:116
 AliMUONSt1GeometryBuilder.cxx:117
 AliMUONSt1GeometryBuilder.cxx:118
 AliMUONSt1GeometryBuilder.cxx:119
 AliMUONSt1GeometryBuilder.cxx:120
 AliMUONSt1GeometryBuilder.cxx:121
 AliMUONSt1GeometryBuilder.cxx:122
 AliMUONSt1GeometryBuilder.cxx:123
 AliMUONSt1GeometryBuilder.cxx:124
 AliMUONSt1GeometryBuilder.cxx:125
 AliMUONSt1GeometryBuilder.cxx:126
 AliMUONSt1GeometryBuilder.cxx:127
 AliMUONSt1GeometryBuilder.cxx:128
 AliMUONSt1GeometryBuilder.cxx:129
 AliMUONSt1GeometryBuilder.cxx:130
 AliMUONSt1GeometryBuilder.cxx:131
 AliMUONSt1GeometryBuilder.cxx:132
 AliMUONSt1GeometryBuilder.cxx:133
 AliMUONSt1GeometryBuilder.cxx:134
 AliMUONSt1GeometryBuilder.cxx:135
 AliMUONSt1GeometryBuilder.cxx:136
 AliMUONSt1GeometryBuilder.cxx:137
 AliMUONSt1GeometryBuilder.cxx:138
 AliMUONSt1GeometryBuilder.cxx:139
 AliMUONSt1GeometryBuilder.cxx:140
 AliMUONSt1GeometryBuilder.cxx:141
 AliMUONSt1GeometryBuilder.cxx:142
 AliMUONSt1GeometryBuilder.cxx:143
 AliMUONSt1GeometryBuilder.cxx:144
 AliMUONSt1GeometryBuilder.cxx:145
 AliMUONSt1GeometryBuilder.cxx:146
 AliMUONSt1GeometryBuilder.cxx:147
 AliMUONSt1GeometryBuilder.cxx:148
 AliMUONSt1GeometryBuilder.cxx:149
 AliMUONSt1GeometryBuilder.cxx:150
 AliMUONSt1GeometryBuilder.cxx:151
 AliMUONSt1GeometryBuilder.cxx:152
 AliMUONSt1GeometryBuilder.cxx:153
 AliMUONSt1GeometryBuilder.cxx:154
 AliMUONSt1GeometryBuilder.cxx:155
 AliMUONSt1GeometryBuilder.cxx:156
 AliMUONSt1GeometryBuilder.cxx:157
 AliMUONSt1GeometryBuilder.cxx:158
 AliMUONSt1GeometryBuilder.cxx:159
 AliMUONSt1GeometryBuilder.cxx:160
 AliMUONSt1GeometryBuilder.cxx:161
 AliMUONSt1GeometryBuilder.cxx:162
 AliMUONSt1GeometryBuilder.cxx:163
 AliMUONSt1GeometryBuilder.cxx:164
 AliMUONSt1GeometryBuilder.cxx:165
 AliMUONSt1GeometryBuilder.cxx:166
 AliMUONSt1GeometryBuilder.cxx:167
 AliMUONSt1GeometryBuilder.cxx:168
 AliMUONSt1GeometryBuilder.cxx:169
 AliMUONSt1GeometryBuilder.cxx:170
 AliMUONSt1GeometryBuilder.cxx:171
 AliMUONSt1GeometryBuilder.cxx:172
 AliMUONSt1GeometryBuilder.cxx:173
 AliMUONSt1GeometryBuilder.cxx:174
 AliMUONSt1GeometryBuilder.cxx:175
 AliMUONSt1GeometryBuilder.cxx:176
 AliMUONSt1GeometryBuilder.cxx:177
 AliMUONSt1GeometryBuilder.cxx:178
 AliMUONSt1GeometryBuilder.cxx:179
 AliMUONSt1GeometryBuilder.cxx:180
 AliMUONSt1GeometryBuilder.cxx:181
 AliMUONSt1GeometryBuilder.cxx:182
 AliMUONSt1GeometryBuilder.cxx:183
 AliMUONSt1GeometryBuilder.cxx:184
 AliMUONSt1GeometryBuilder.cxx:185
 AliMUONSt1GeometryBuilder.cxx:186
 AliMUONSt1GeometryBuilder.cxx:187
 AliMUONSt1GeometryBuilder.cxx:188
 AliMUONSt1GeometryBuilder.cxx:189
 AliMUONSt1GeometryBuilder.cxx:190
 AliMUONSt1GeometryBuilder.cxx:191
 AliMUONSt1GeometryBuilder.cxx:192
 AliMUONSt1GeometryBuilder.cxx:193
 AliMUONSt1GeometryBuilder.cxx:194
 AliMUONSt1GeometryBuilder.cxx:195
 AliMUONSt1GeometryBuilder.cxx:196
 AliMUONSt1GeometryBuilder.cxx:197
 AliMUONSt1GeometryBuilder.cxx:198
 AliMUONSt1GeometryBuilder.cxx:199
 AliMUONSt1GeometryBuilder.cxx:200
 AliMUONSt1GeometryBuilder.cxx:201
 AliMUONSt1GeometryBuilder.cxx:202
 AliMUONSt1GeometryBuilder.cxx:203
 AliMUONSt1GeometryBuilder.cxx:204
 AliMUONSt1GeometryBuilder.cxx:205
 AliMUONSt1GeometryBuilder.cxx:206
 AliMUONSt1GeometryBuilder.cxx:207
 AliMUONSt1GeometryBuilder.cxx:208
 AliMUONSt1GeometryBuilder.cxx:209
 AliMUONSt1GeometryBuilder.cxx:210
 AliMUONSt1GeometryBuilder.cxx:211
 AliMUONSt1GeometryBuilder.cxx:212
 AliMUONSt1GeometryBuilder.cxx:213
 AliMUONSt1GeometryBuilder.cxx:214
 AliMUONSt1GeometryBuilder.cxx:215
 AliMUONSt1GeometryBuilder.cxx:216
 AliMUONSt1GeometryBuilder.cxx:217
 AliMUONSt1GeometryBuilder.cxx:218
 AliMUONSt1GeometryBuilder.cxx:219
 AliMUONSt1GeometryBuilder.cxx:220
 AliMUONSt1GeometryBuilder.cxx:221
 AliMUONSt1GeometryBuilder.cxx:222
 AliMUONSt1GeometryBuilder.cxx:223
 AliMUONSt1GeometryBuilder.cxx:224
 AliMUONSt1GeometryBuilder.cxx:225
 AliMUONSt1GeometryBuilder.cxx:226
 AliMUONSt1GeometryBuilder.cxx:227
 AliMUONSt1GeometryBuilder.cxx:228
 AliMUONSt1GeometryBuilder.cxx:229
 AliMUONSt1GeometryBuilder.cxx:230
 AliMUONSt1GeometryBuilder.cxx:231
 AliMUONSt1GeometryBuilder.cxx:232
 AliMUONSt1GeometryBuilder.cxx:233
 AliMUONSt1GeometryBuilder.cxx:234
 AliMUONSt1GeometryBuilder.cxx:235
 AliMUONSt1GeometryBuilder.cxx:236
 AliMUONSt1GeometryBuilder.cxx:237
 AliMUONSt1GeometryBuilder.cxx:238
 AliMUONSt1GeometryBuilder.cxx:239
 AliMUONSt1GeometryBuilder.cxx:240
 AliMUONSt1GeometryBuilder.cxx:241
 AliMUONSt1GeometryBuilder.cxx:242
 AliMUONSt1GeometryBuilder.cxx:243
 AliMUONSt1GeometryBuilder.cxx:244
 AliMUONSt1GeometryBuilder.cxx:245
 AliMUONSt1GeometryBuilder.cxx:246
 AliMUONSt1GeometryBuilder.cxx:247
 AliMUONSt1GeometryBuilder.cxx:248
 AliMUONSt1GeometryBuilder.cxx:249
 AliMUONSt1GeometryBuilder.cxx:250
 AliMUONSt1GeometryBuilder.cxx:251
 AliMUONSt1GeometryBuilder.cxx:252
 AliMUONSt1GeometryBuilder.cxx:253
 AliMUONSt1GeometryBuilder.cxx:254
 AliMUONSt1GeometryBuilder.cxx:255
 AliMUONSt1GeometryBuilder.cxx:256
 AliMUONSt1GeometryBuilder.cxx:257
 AliMUONSt1GeometryBuilder.cxx:258
 AliMUONSt1GeometryBuilder.cxx:259
 AliMUONSt1GeometryBuilder.cxx:260
 AliMUONSt1GeometryBuilder.cxx:261
 AliMUONSt1GeometryBuilder.cxx:262
 AliMUONSt1GeometryBuilder.cxx:263
 AliMUONSt1GeometryBuilder.cxx:264
 AliMUONSt1GeometryBuilder.cxx:265
 AliMUONSt1GeometryBuilder.cxx:266
 AliMUONSt1GeometryBuilder.cxx:267
 AliMUONSt1GeometryBuilder.cxx:268
 AliMUONSt1GeometryBuilder.cxx:269
 AliMUONSt1GeometryBuilder.cxx:270
 AliMUONSt1GeometryBuilder.cxx:271
 AliMUONSt1GeometryBuilder.cxx:272
 AliMUONSt1GeometryBuilder.cxx:273
 AliMUONSt1GeometryBuilder.cxx:274
 AliMUONSt1GeometryBuilder.cxx:275
 AliMUONSt1GeometryBuilder.cxx:276
 AliMUONSt1GeometryBuilder.cxx:277
 AliMUONSt1GeometryBuilder.cxx:278
 AliMUONSt1GeometryBuilder.cxx:279
 AliMUONSt1GeometryBuilder.cxx:280
 AliMUONSt1GeometryBuilder.cxx:281
 AliMUONSt1GeometryBuilder.cxx:282
 AliMUONSt1GeometryBuilder.cxx:283
 AliMUONSt1GeometryBuilder.cxx:284
 AliMUONSt1GeometryBuilder.cxx:285
 AliMUONSt1GeometryBuilder.cxx:286
 AliMUONSt1GeometryBuilder.cxx:287
 AliMUONSt1GeometryBuilder.cxx:288
 AliMUONSt1GeometryBuilder.cxx:289
 AliMUONSt1GeometryBuilder.cxx:290
 AliMUONSt1GeometryBuilder.cxx:291
 AliMUONSt1GeometryBuilder.cxx:292
 AliMUONSt1GeometryBuilder.cxx:293
 AliMUONSt1GeometryBuilder.cxx:294
 AliMUONSt1GeometryBuilder.cxx:295
 AliMUONSt1GeometryBuilder.cxx:296
 AliMUONSt1GeometryBuilder.cxx:297
 AliMUONSt1GeometryBuilder.cxx:298
 AliMUONSt1GeometryBuilder.cxx:299