]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometryBuilder.cxx
Don't misalign geometry when creating snapshot.
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryBuilder.cxx
index 713e71bd6329f4062b95c9c528ba613172c853eb..1811e43e154309d30bf814333d37864bb1b6ad86 100644 (file)
 #include <TVirtualMC.h>
 #include <TGeoManager.h>
 
-// static data members
-const TString  AliMUONGeometryBuilder::fgkDefaultVolPathsFileName = "volpath.dat";   
-const TString  AliMUONGeometryBuilder::fgkDefaultTransformFileName = "transform.dat";   
-const TString  AliMUONGeometryBuilder::fgkDefaultSVMapFileName = "svmap.dat";    
-const TString  AliMUONGeometryBuilder::fgkOutFileNameExtension = ".out";    
-
+using std::endl;
 /// \cond CLASSIMP
 ClassImp(AliMUONGeometryBuilder)
 /// \endcond
 
+//
 // static functions
+//
+
+//______________________________________________________________________________
+const TString& AliMUONGeometryBuilder::GetDefaultTransformFileName()
+{
+  ///< default transformations file name                                     
+  static const TString kDefaultTransformFileName = "transform.dat";   
+  return kDefaultTransformFileName;
+}    
+
+//______________________________________________________________________________
+const TString& AliMUONGeometryBuilder::GetDefaultSVMapFileName() 
+{
+  ///< default svmaps file name                                      
+  static const TString kDefaultSVMapFileName = "svmap.dat";    
+  return kDefaultSVMapFileName;
+}    
+
+//______________________________________________________________________________
+const TString& AliMUONGeometryBuilder::GetOutFileNameExtension()
+{
+  ///< default output file name extension                                    
+  static const TString kOutFileNameExtension = ".out";    
+  return kOutFileNameExtension;
+}    
+
 
 //______________________________________________________________________________
 TGeoHMatrix AliMUONGeometryBuilder::Multiply(const TGeoMatrix& m1, 
@@ -113,13 +134,17 @@ TGeoHMatrix AliMUONGeometryBuilder::Multiply(const TGeoMatrix& m1,
   return m1 * m2 * m3 * m4;
 }
 
+//
+// ctors, dtor
+//
+
 //______________________________________________________________________________
 AliMUONGeometryBuilder::AliMUONGeometryBuilder(AliModule* module)
   : TObject(),
     fModule(module),
     fAlign(false),
-    fTransformFileName(fgkDefaultTransformFileName),
-    fSVMapFileName(fgkDefaultSVMapFileName),
+    fTransformFileName(GetDefaultTransformFileName()),
+    fSVMapFileName(GetDefaultSVMapFileName()),
     fGlobalTransformation(), 
     fGeometryBuilders(0),
     fGeometry(0)
@@ -228,9 +253,9 @@ void AliMUONGeometryBuilder::PlaceVolume(const TString& name, const TString& mNa
        
   // Place the volume
   if (npar == 0)
-    gMC->Gspos(name, copyNo, mName, xyz[0], xyz[1], xyz[2] , krot, only);
+    TVirtualMC::GetMC()->Gspos(name, copyNo, mName, xyz[0], xyz[1], xyz[2] , krot, only);
   else 
-    gMC->Gsposp(name, copyNo, mName, xyz[0], xyz[1], xyz[2] , krot, only,
+    TVirtualMC::GetMC()->Gsposp(name, copyNo, mName, xyz[0], xyz[1], xyz[2] , krot, only,
                 param, npar);
 } 
 
@@ -492,7 +517,7 @@ void AliMUONGeometryBuilder::CreateGeometryWithoutTGeo()
 }
 
 //_____________________________________________________________________________
-void AliMUONGeometryBuilder::SetAlign(AliMUONVGeometryBuilder* builder)
+void AliMUONGeometryBuilder::SetAlignToBuilder(AliMUONVGeometryBuilder* builder) const
 {
 /// Set align option to all geometry modules associated with the builder
 
@@ -523,7 +548,7 @@ void AliMUONGeometryBuilder::AddBuilder(AliMUONVGeometryBuilder* geomBuilder)
   if (geomBuilder->ApplyGlobalTransformation())
     geomBuilder->SetReferenceFrame(fGlobalTransformation);
   
-  SetAlign(geomBuilder);
+  SetAlignToBuilder(geomBuilder);
 }
 
 //______________________________________________________________________________
@@ -531,7 +556,7 @@ void AliMUONGeometryBuilder::CreateGeometry()
 {
 /// Construct geometry using geometry builders.
 
-  if ( gMC->IsRootGeometrySupported() ) {
+  if ( TVirtualMC::GetMC()->IsRootGeometrySupported() ) {
        
    CreateGeometryWithTGeo();
   } 
@@ -635,7 +660,7 @@ void AliMUONGeometryBuilder::SetAlign(Bool_t align)
     AliMUONVGeometryBuilder* builder
       = (AliMUONVGeometryBuilder*)fGeometryBuilders->At(i);
     
-    SetAlign(builder); 
+    SetAlignToBuilder(builder); 
   }   
 }
 
@@ -652,6 +677,6 @@ void AliMUONGeometryBuilder::SetAlign(const TString& fileName, Bool_t align)
     AliMUONVGeometryBuilder* builder
       = (AliMUONVGeometryBuilder*)fGeometryBuilders->At(i);
     
-    SetAlign(builder); 
+    SetAlignToBuilder(builder); 
   }   
 }