Adding GetNofDEInChamber method (Laurent)
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 20 Oct 2006 16:03:44 +0000 (16:03 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 20 Oct 2006 16:03:44 +0000 (16:03 +0000)
MUON/mapping/AliMpDEManager.cxx
MUON/mapping/AliMpDEManager.h

index 8d0b2f3..ab3a161 100644 (file)
@@ -44,6 +44,7 @@ const char  AliMpDEManager::fgkCommentPrefix = '#';
 const Int_t AliMpDEManager::fgkCoefficient = 100;
 AliMpExMap  AliMpDEManager::fgDENamesMap(true);
 AliMpExMap  AliMpDEManager::fgDECathBNBMap(true);
+TArrayI     AliMpDEManager::fgNofDEPerChamber(AliMpConstants::NofChambers());
 
 //______________________________________________________________________________
 
@@ -212,6 +213,7 @@ AliMpDEManager::ReadDENames(AliMpStationType station)
                          new TPair(new TObjString(name1), new TObjString(name2)));
         fgDECathBNBMap.Add(detElemId,
                            new AliMpIntPair(planeForCathode[0],planeForCathode[1]));
+        fgNofDEPerChamber[GetChamberId(detElemId)]++;
       } 
     } 
     in >> word;
@@ -227,7 +229,7 @@ AliMpDEManager::ReadDENames(AliMpStationType station)
 void AliMpDEManager::FillDENames()
 {
 /// Fill DE names from files
-
+  AliDebugClass(1,"");
   Bool_t result1 = ReadDENames(kStation1);
   Bool_t result2 = ReadDENames(kStation2);
   Bool_t result3 = ReadDENames(kStation345);
@@ -456,3 +458,14 @@ AliMpStationType AliMpDEManager::GetStationType(Int_t detElemId)
   return kStation1;
 }
 
+//______________________________________________________________________________
+Int_t AliMpDEManager::GetNofDEInChamber(Int_t chamberId, Bool_t warn)
+{
+/// Return the number of detection elements in the chamber with the given 
+/// chamberId
+
+  if ( fgDENamesMap.GetSize() == 0 ) FillDENames();
+  if (!IsValidChamberId(chamberId,warn) ) return 0;
+  return fgNofDEPerChamber[chamberId];
+}
+
index 01ab0bb..5fea7b5 100644 (file)
@@ -21,6 +21,7 @@
 #define ALI_MP_DE_MANAGER_H
 
 #include <TObject.h>
+#include <TArrayI.h>
 
 #include "AliMpExMap.h"
 #include "AliMpPlaneType.h"
@@ -48,6 +49,7 @@ class AliMpDEManager : public  TObject {
     static AliMpStationType GetStationType(Int_t detElemId);
     static Int_t            GetCathod(Int_t detElemId, AliMpPlaneType planeType);
 
+    static Int_t GetNofDEInChamber(Int_t chamberId, Bool_t warn = true);
   private:
     AliMpDEManager();
     AliMpDEManager(const AliMpDEManager& rhs);
@@ -71,7 +73,8 @@ class AliMpDEManager : public  TObject {
                                       /// a pair of DE names for 2 cathods
     static  AliMpExMap fgDECathBNBMap;///< \brief  Map between DE Is and a pair
                                       /// of planeTypes for cathodes (0,1)
-
+    static  TArrayI fgNofDEPerChamber;///< number of detElemId per chamber
+      
   ClassDef(AliMpDEManager,0)  // The manager class for definition of detection element types
 };