Update HFE v2 analyses
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpDEManager.cxx
index e85b849..11688c5 100644 (file)
 #include "AliMpDetElement.h"
 #include "AliMpConstants.h"
 #include "AliMpCathodType.h"
+#include "AliMpEncodePair.h"
 
 #include "AliLog.h"
 
 #include <Riostream.h>
 #include <TClass.h>
 
+using std::endl;
 /// \cond CLASSIMP
 ClassImp(AliMpDEManager)
 /// \endcond
 
 const Int_t AliMpDEManager::fgkCoefficient = 100;
-TArrayI     AliMpDEManager::fgNofDEPerChamber;
 
+//
+// static private methods
+//
 //______________________________________________________________________________
-
-AliMpDEManager::~AliMpDEManager()
+TArrayI& AliMpDEManager::GetNofDEPerChamber() 
 {
-/// Destructor
+  /// number of detElemId per chamber
+  static TArrayI nofDEPerChamber;
+  return nofDEPerChamber;
 }
 
 //
-// static private methods
+// static public methods
 //
 
 //______________________________________________________________________________
@@ -230,30 +235,41 @@ Int_t AliMpDEManager::GetNofDEInChamber(Int_t chamberId, Bool_t warn)
   if ( ! IsValidChamberId(chamberId,warn) ) return 0;
 
   // Fill array if it is empty
-  if ( ! fgNofDEPerChamber.GetSize() ) {
-    fgNofDEPerChamber.Set(AliMpConstants::NofChambers());
+  if ( ! GetNofDEPerChamber().GetSize() ) {
+    GetNofDEPerChamber().Set(AliMpConstants::NofChambers());
     AliMpDEIterator it;
     for ( Int_t i=0; i<AliMpConstants::NofChambers(); i++ ) {
       Int_t counter = 0;
       for ( it.First(i); ! it.IsDone(); it.Next() ) ++counter;
-      fgNofDEPerChamber[i] = counter;
+      GetNofDEPerChamber()[i] = counter;
     }  
   }
   
-  return fgNofDEPerChamber[chamberId];    
+  return GetNofDEPerChamber()[chamberId];    
 
 }
 
 //______________________________________________________________________________
-AliMpIntPair AliMpDEManager::GetDetElemIdRange(Int_t chamberId)
+MpPair_t AliMpDEManager::GetDetElemIdRange(Int_t chamberId)
 {
 /// Return the detection element Id range for given chamberId
+/// es encoded pair
  
-  if ( ! IsValidChamberId(chamberId) ) return AliMpIntPair::Invalid();
+  if ( ! IsValidChamberId(chamberId) ) return 0;
 
-  return AliMpIntPair(
+  return AliMp::Pair(
            (chamberId+1)*fgkCoefficient,
            (chamberId+1)*fgkCoefficient + GetNofDEInChamber(chamberId) - 1);
   
 }
 
+//
+// ctors, dtor
+//
+
+//______________________________________________________________________________
+AliMpDEManager::~AliMpDEManager()
+{
+/// Destructor
+}
+