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 AliMUONGeometryDetElement
// --------------------------------------
// The class defines the detection element.
// Author: Ivana Hrivnacova, IPN Orsay
//-----------------------------------------------------------------------------

#include "AliMUONGeometryDetElement.h"

#include "AliLog.h"

#include <TGeoMatrix.h>
#include <Riostream.h>

#include <sstream>

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

//
// static methods
//

//______________________________________________________________________________
const TString& AliMUONGeometryDetElement::GetDENamePrefix()
{
  ///< Geometry DE name prefix
  static const TString kDENamePrefix = "DE";
  return kDENamePrefix;
}  

//______________________________________________________________________________
TString AliMUONGeometryDetElement::GetDEName(Int_t detElemId)
{
/// Return the module name for given moduleId

  TString deName(GetDENamePrefix());
  deName += detElemId;
  return deName;
}   

//______________________________________________________________________________
AliMUONGeometryDetElement::AliMUONGeometryDetElement(Int_t detElemId)
 : TObject(),
   fDEName(GetDEName(detElemId)),
   fVolumePath(),
   fLocalTransformation(0),
   fGlobalTransformation(0)
{ 
/// Standard constructor

  SetUniqueID(detElemId);
}

//______________________________________________________________________________
AliMUONGeometryDetElement::AliMUONGeometryDetElement(
                                        Int_t detElemId,
                                        const TString& volumePath)
 : TObject(),
   fDEName(GetDEName(detElemId)),
   fVolumePath(volumePath),
   fLocalTransformation(0),
   fGlobalTransformation(0)
{ 
/// Standard constructor

  SetUniqueID(detElemId);
}

//______________________________________________________________________________
AliMUONGeometryDetElement::AliMUONGeometryDetElement(TRootIOCtor* /*ioCtor*/)
 : TObject(),
   fDEName(),
   fVolumePath(),
   fLocalTransformation(0),
   fGlobalTransformation(0)
{
/// Root IO constructor
}

//______________________________________________________________________________
AliMUONGeometryDetElement::~AliMUONGeometryDetElement() 
{
/// Destructor

  delete fLocalTransformation;
  delete fGlobalTransformation;
}

//
// private methods
//

//______________________________________________________________________________
void  AliMUONGeometryDetElement::PrintTransform(
                                            const TGeoHMatrix* transform) const
{
/// Print the detection element transformation

  cout << "DetElemId: " << GetUniqueID();
  cout << "  name: " << fVolumePath << endl;

  if ( !transform ) {
    cout << "    Transformation not defined." << endl;
    return;
  }  

  const double* translation = transform->GetTranslation();
  cout << "   translation: "
#if defined (__DECCXX)
       << translation[0] << ", " 
       << translation[1] << ", "
       << translation[2] << endl;
#else
       << std::fixed
       << std::setw(7) << std::setprecision(4) << translation[0] << ", " 
       << std::setw(7) << std::setprecision(4) << translation[1] << ", "
       << std::setw(7) << std::setprecision(4) << translation[2] << endl;
#endif
	 
  const double* rotation = transform->GetRotationMatrix();
  cout << "   rotation matrix:  "
#if defined (__DECCXX)
       << rotation[0] << ", " << rotation[1] << ", " << rotation[2] << endl
       << "                     "	    
       << rotation[3] << ", " << rotation[4] << ", " << rotation[5] << endl	    
       << "                     "	    
       << rotation[6] << ", " << rotation[7] << ", " << rotation[8] << endl;
#else
       << std::fixed
       << std::setw(7) << std::setprecision(4) 
       << rotation[0] << ", " << rotation[1] << ", " << rotation[2] << endl
       << "                     "	    
       << rotation[3] << ", " << rotation[4] << ", " << rotation[5] << endl	    
       << "                     "	    
       << rotation[6] << ", " << rotation[7] << ", " << rotation[8] << endl;
#endif
}     

//
// public methods
//

//______________________________________________________________________________
void  AliMUONGeometryDetElement::Global2Local(
                                  Float_t xg, Float_t yg, Float_t zg, 
                                  Float_t& xl, Float_t& yl, Float_t& zl) const
{
/// Transform point from the global reference frame (ALIC)
/// to the local reference frame of this detection element.

  Double_t dxg = xg;
  Double_t dyg = yg;
  Double_t dzg = zg;

  Double_t dxl, dyl, dzl;
  Global2Local(dxg, dyg, dzg, dxl, dyl, dzl);  
  
  xl = dxl;
  yl = dyl;
  zl = dzl;
}
				  
//______________________________________________________________________________
void  AliMUONGeometryDetElement::Global2Local(
                                  Double_t xg, Double_t yg, Double_t zg, 
                                  Double_t& xl, Double_t& yl, Double_t& zl) const
{
/// Transform point from the global reference frame (ALIC)
/// to the local reference frame of this detection element

   // Check transformation
   if (!fGlobalTransformation) {
     AliError(Form("Global transformation for detection element %d not defined.",
                    GetUniqueID()));
     return;
   }  
   
   // Transform point 
   Double_t pg[3] = { xg, yg, zg };
   Double_t pl[3] = { 0., 0., 0. };
   fGlobalTransformation->MasterToLocal(pg, pl);
   
   // Return transformed point
   xl = pl[0];
   yl = pl[1];     
   zl = pl[2];  
}
				  
//______________________________________________________________________________
void  AliMUONGeometryDetElement::Local2Global(
                 Float_t xl, Float_t yl, Float_t zl, 
                 Float_t& xg, Float_t& yg, Float_t& zg) const
{
/// Transform point from the local reference frame of this detection element 
/// to the global reference frame (ALIC).

  Double_t dxl = xl;
  Double_t dyl = yl;
  Double_t dzl = zl;

  Double_t dxg, dyg, dzg;
  Local2Global(dxl, dyl, dzl, dxg, dyg, dzg);  
  
  xg = dxg;
  yg = dyg;
  zg = dzg;
}

//______________________________________________________________________________
void  AliMUONGeometryDetElement::Local2Global(
                 Double_t xl, Double_t yl, Double_t zl, 
                 Double_t& xg, Double_t& yg, Double_t& zg) const
{
/// Transform point from the local reference frame of this detection element 
/// to the global reference frame (ALIC).

   // Check transformation
   if (!fGlobalTransformation) {
     AliError(Form("Global transformation for detection element %d not defined.",
                    GetUniqueID()));
     return;
   }  
   
   // Transform point 
   Double_t pl[3] = { xl, yl, zl };
   Double_t pg[3] = { 0., 0., 0. };
   fGlobalTransformation->LocalToMaster(pl, pg);
   
   // Return transformed point
   xg = pg[0];
   yg = pg[1];     
   zg = pg[2];  
}

//______________________________________________________________________________
void AliMUONGeometryDetElement::SetLocalTransformation(
                                                const TGeoHMatrix& transform, 
                                                Bool_t warn)
{ 
/// Set local transformation;
/// give warning if the global transformation is already defined.
 
  if ( fLocalTransformation ) {
    delete fLocalTransformation;
    if ( warn ) {
      AliWarning("Local transformation already defined was deleted.");
    }  
  }  

  fLocalTransformation = new TGeoHMatrix(transform);
}  
					      
//______________________________________________________________________________
void AliMUONGeometryDetElement::SetGlobalTransformation(
                                                const TGeoHMatrix& transform,
                                                Bool_t warn)
{ 
/// Set global transformation;
/// give warning if the global transformation is already defined.
 
  if (fGlobalTransformation) {
    delete fGlobalTransformation;
    if ( warn ) {
      AliWarning("Global transformation already defined was deleted.");
    }  
  }  

  fGlobalTransformation = new TGeoHMatrix(transform);
}  
					      
//______________________________________________________________________________
void AliMUONGeometryDetElement::PrintLocalTransform() const
{
/// Print detection element relative transformation
/// (the transformation wrt module frame)

  PrintTransform(fLocalTransformation);
}  

//______________________________________________________________________________
void AliMUONGeometryDetElement::PrintGlobalTransform() const
{
/// Print detection element global transformation
/// (the transformation wrt global frame)

  PrintTransform(fGlobalTransformation);
}  

//______________________________________________________________________________
TString AliMUONGeometryDetElement::GetVolumeName() const
{ 
/// Extract volume name from the path
  
  std::string volPath = fVolumePath.Data();
  std::string::size_type first = volPath.rfind('/')+1;
  std::string::size_type last = volPath.rfind('_');
  
  return volPath.substr(first, last-first );
}

//______________________________________________________________________________
Int_t AliMUONGeometryDetElement::GetVolumeCopyNo() const
{ 
/// Extract volume copyNo from the path
  
  string volPath = fVolumePath.Data();
  std::string::size_type first = volPath.rfind('_');
  std::string copyNoStr = volPath.substr(first+1, volPath.length());
  std::istringstream in(copyNoStr);
  Int_t copyNo;
  in >> copyNo;
  
  return copyNo;
}

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