]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Static data member fgTop replaced with the static function GetTop();
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 13 Jan 2006 09:27:11 +0000 (09:27 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 13 Jan 2006 09:27:11 +0000 (09:27 +0000)
removing use of gSystem from initialization of static members
- this avoids a potential "static initializer order fiasco"
(thanks to Laurent)

MUON/mapping/AliMpFiles.cxx
MUON/mapping/AliMpFiles.h

index a39d86d791b0d40da215768db0952e214b1d529b..0b0ed71829be3f8c5d925b233e1c80c3ce6bc8af 100755 (executable)
@@ -28,7 +28,7 @@
 // Included in AliRoot: 2003/05/02
 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
 
-#include <TSystem.h>
+#include <stdlib.h>
 #include <Riostream.h>
 
 #include "AliMpFiles.h"
@@ -42,7 +42,6 @@ ClassImp(AliMpFiles)
 
 // static data members
 
-const TString AliMpFiles::fgkDefaultTop = GetDefaultTop();
 const TString AliMpFiles::fgkDataDir = "/data";
 const TString AliMpFiles::fgkStationDir = "/station";
 const TString AliMpFiles::fgkBendingDir = "/bending_plane/";
@@ -59,8 +58,6 @@ const TString AliMpFiles::fgkBergToGCFileName = "/bergToGC";
 const TString AliMpFiles::fgkTriggerLocalBoards = "MUONLocalTriggerBoard";
 const TString AliMpFiles::fgkBusPatchFileName = "DetElemIdToBusPatch";
 
-TString AliMpFiles::fgTop = AliMpFiles::fgkDefaultTop;
-
 //______________________________________________________________________________
 AliMpFiles::AliMpFiles()
   : TObject()
@@ -104,12 +101,12 @@ AliMpFiles& AliMpFiles::operator=(const AliMpFiles& right)
 //
 
 //______________________________________________________________________________
-TString AliMpFiles::GetDefaultTop()
+TString AliMpFiles::GetTop()
 {
-  TString top = gSystem->Getenv("MINSTALL");    
+  TString top = getenv("MINSTALL");    
   if ( ! top.IsNull() ) return top;
 
-  TString ntop = gSystem->Getenv("ALICE_ROOT");
+  TString ntop = getenv("ALICE_ROOT");
   if ( ntop.IsNull() ) {
     AliErrorClassStream() << "Cannot find path to mapping data." << endl;
     return ntop;
@@ -130,16 +127,16 @@ TString AliMpFiles::PlaneDataDir(AliMpStationType station,
   case kStation2:
     switch (plane) {
     case kBendingPlane:
-      return fgTop + fgkDataDir + StationDataDir(station) + fgkBendingDir;
+      return GetTop() + fgkDataDir + StationDataDir(station) + fgkBendingDir;
       ;;
     case kNonBendingPlane:   
-      return fgTop + fgkDataDir + StationDataDir(station) + fgkNonBendingDir;
+      return GetTop() + fgkDataDir + StationDataDir(station) + fgkNonBendingDir;
       ;;
     }   
     break;
   case kStation345:
   case kStationTrigger:  
-    return fgTop + fgkDataDir + StationDataDir(station) + "/";
+    return GetTop() + fgkDataDir + StationDataDir(station) + "/";
     break;
   default:  
     AliFatalClass("Incomplete switch on AliMpPlaneType");
@@ -187,7 +184,7 @@ TString AliMpFiles::BusPatchFilePath()
 {
 /// Return path to data file with bus patch mapping.
 
-  return fgTop + fgkDataDir + "/" + fgkBusPatchFileName + fgkDataExt;
+  return GetTop() + fgkDataDir + "/" + fgkBusPatchFileName + fgkDataExt;
 }  
 
 //______________________________________________________________________________
@@ -195,7 +192,7 @@ TString AliMpFiles::DENamesFilePath(AliMpStationType station)
 {
 /// Return path to data file with DE names for given station.
  
-  return fgTop + fgkDataDir + StationDataDir(station) + fgkDENames + fgkDataExt;
+  return GetTop() + fgkDataDir + StationDataDir(station) + fgkDENames + fgkDataExt;
 }
 
 //______________________________________________________________________________
@@ -296,7 +293,7 @@ TString AliMpFiles::BergToGCFilePath(AliMpStationType station)
 /// Returns the path of the file which describes the correspondance between
 /// the berg number and the gassiplex channel.
 
-  return fgTop + fgkDataDir + StationDataDir(station)
+  return GetTop() + fgkDataDir + StationDataDir(station)
               + fgkBergToGCFileName + fgkDataExt;
 }
 
@@ -304,6 +301,6 @@ TString AliMpFiles::BergToGCFilePath(AliMpStationType station)
 void 
 AliMpFiles::SetTopPath(const TString& topPath)
 { 
-  fgTop = topPath; 
+  GetTop() = topPath; 
 }
 
index 8e8b3606d8e04092e6fea2407d00bcc17e09caa1..804e8ff1032ecc2b950fc3905cef511d8033c90a 100755 (executable)
@@ -85,12 +85,11 @@ class AliMpFiles : public TObject
   
   private: 
     // methods
-    static TString GetDefaultTop();
+    static TString GetTop();
     static TString PlaneDataDir(AliMpStationType station, AliMpPlaneType plane); 
     static TString StationDataDir(AliMpStationType station); 
   
     // static data members  
-    static const TString fgkDefaultTop;    //top directory path (default)
     static const TString fgkDataDir;       //data directory
     static const TString fgkStationDir;    //station directory
     static const TString fgkBendingDir;    //bending plane directory
@@ -106,8 +105,6 @@ class AliMpFiles : public TObject
     static const TString fgkBergToGCFileName;  //BergToGC mapping filr name
     static const TString fgkTriggerLocalBoards;// local board name to id mapping
     static const TString fgkBusPatchFileName;  //DetElemIdToBusPatch file name
-  
-    static TString  fgTop; // top directory path
     
 
   ClassDef(AliMpFiles, 0) //File names and paths