]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDigitStoreV1.cxx
In AliMUONReconstructor:
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitStoreV1.cxx
index e26180cec76b6be20e8b183c3fbf922957fa8ebf..7db3f3bd03a2ba3d4ab301778e4558c59a722925 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "AliMUONDigitStoreV1.h"
 
+//-----------------------------------------------------------------------------
 /// \class AliMUONDigitStoreV1
 ///
 /// (Legacy) Implementation of AliMUONVDigitStore. 
@@ -25,7 +26,7 @@
 /// to data stores.
 ///
 // \author Laurent Aphecetche, Subatech
-///
+//-----------------------------------------------------------------------------
 
 #include "AliLog.h"
 #include "AliMUONDigit.h"
@@ -262,7 +263,8 @@ AliMUONDigitStoreV1::Remove(AliMUONVDigit& digit)
   
   Int_t index;
   AliMUONVDigit* d(0x0);
-  if ( ( d = FindIndex(digit.DetElemId(),digit.ManuId(),digit.ManuChannel(),index) ) )
+  if ( ( d = FindIndex(digit.DetElemId(),digit.ManuId(),
+                       digit.ManuChannel(),digit.Cathode(),index) ) )
   {
     Int_t iChamber = AliMpDEManager::GetChamberId(digit.DetElemId());
     TClonesArray* array = ChamberDigits(iChamber);
@@ -272,53 +274,31 @@ AliMUONDigitStoreV1::Remove(AliMUONVDigit& digit)
   return d;
 }
 
-//_____________________________________________________________________________
-AliMUONVDigit* 
-AliMUONDigitStoreV1::FindObject(Int_t detElemId, Int_t manuId, Int_t manuChannel) const
-{
-  /// Find a digit indexed by the triplet (de,manu,channel)
-  Int_t index;
-  return FindIndex(detElemId,manuId,manuChannel,index);
-}
-
 //_____________________________________________________________________________
 AliMUONVDigit* 
 AliMUONDigitStoreV1::Find(const AliMUONVDigit& digit, Int_t& index) const
 {
   /// Find a digit, and return its index.
-  if ( digit.IsTrigger() )
-  {
-    return FindIndex(digit.DetElemId(),digit.ManuId(),digit.ManuChannel(),digit.Cathode(),index);
-  }
-  else
-  {
-    return FindIndex(digit.DetElemId(),digit.ManuId(),digit.ManuChannel(),index);
-  }
+  return FindIndex(digit.DetElemId(),digit.ManuId(),digit.ManuChannel(),digit.Cathode(),index);
 }
 
 //_____________________________________________________________________________
 AliMUONVDigit* 
-AliMUONDigitStoreV1::FindObject(Int_t detElemId, Int_t localBoardId, 
-                                Int_t localBoardChannel, Int_t cathode) const
+AliMUONDigitStoreV1::FindObject(Int_t detElemId, Int_t manuId, 
+                                Int_t manuChannel, Int_t cathode) const
 {
   /// Find a (trigger) digit
   Int_t index;
-  return FindIndex(detElemId,localBoardId,localBoardChannel,cathode,index);
+  return FindIndex(detElemId,manuId,manuChannel,cathode,index);
 }
 
 //_____________________________________________________________________________
 AliMUONVDigit* 
-AliMUONDigitStoreV1::FindIndex(Int_t detElemId, Int_t localBoardId, 
-                               Int_t localBoardChannel, Int_t cathode, Int_t& index) const
+AliMUONDigitStoreV1::FindIndex(Int_t detElemId, Int_t manuId, 
+                               Int_t manuChannel, Int_t cathode, Int_t& index) const
 {
-  /// Find and return the index of a (trigger) digit
+  /// Find and return the index of a digit
   
-  AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
-  if ( stationType != AliMp::kStationTrigger ) 
-  {
-    AliError("This method is reserved for trigger detection elements");
-    return 0x0;
-  }
   Int_t iChamber = AliMpDEManager::GetChamberId(detElemId);
   const TClonesArray* array = ChamberDigits(iChamber);
   if (!array) return 0x0;
@@ -328,8 +308,8 @@ AliMUONDigitStoreV1::FindIndex(Int_t detElemId, Int_t localBoardId,
   while ( ( digit = static_cast<AliMUONVDigit*>(next()) ) )
   {
     if ( digit->DetElemId() == detElemId &&
-         digit->ManuId() == localBoardId &&
-         digit->ManuChannel() == localBoardChannel &&
+         digit->ManuId() == manuId &&
+         digit->ManuChannel() == manuChannel &&
          digit->Cathode() == cathode ) 
     {
       return digit;
@@ -340,30 +320,6 @@ AliMUONDigitStoreV1::FindIndex(Int_t detElemId, Int_t localBoardId,
   
 }
 
-//_____________________________________________________________________________
-AliMUONVDigit* 
-AliMUONDigitStoreV1::FindIndex(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t& index) const
-{
-  /// Find and return the index of a (tracker) digit
-  Int_t iChamber = AliMpDEManager::GetChamberId(detElemId);
-  const TClonesArray* array = ChamberDigits(iChamber);
-  if (!array) return 0x0;
-  TIter next(array);
-  AliMUONVDigit* digit;
-  index = 0;
-  while ( ( digit = static_cast<AliMUONVDigit*>(next()) ) )
-  {
-    if ( digit->DetElemId() == detElemId &&
-         digit->ManuId() == manuId &&
-         digit->ManuChannel() == manuChannel ) 
-    {
-      return digit;
-    }
-    ++index;
-  }
-  return 0x0;
-}
-
 //_____________________________________________________________________________
 TIterator* 
 AliMUONDigitStoreV1::CreateIterator() const
@@ -410,3 +366,19 @@ AliMUONDigitStoreV1::GetSize() const
   }  
   return n;
 }
+
+//_____________________________________________________________________________
+Bool_t 
+AliMUONDigitStoreV1::HasMCInformation() const
+{
+  /// As this class is legacy, don't care about looping and loosing a bit of
+  /// time...
+  TIter next(CreateIterator());
+  AliMUONVDigit* digit;
+  while ( ( digit = static_cast<AliMUONVDigit*>(next()) ) )
+  {
+    if ( digit->HasMCInformation() ) return kTRUE;
+  }
+  return kFALSE;
+}
+