]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Implemented iterator on DE per DDL
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 6 Nov 2006 13:36:57 +0000 (13:36 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 6 Nov 2006 13:36:57 +0000 (13:36 +0000)
(Christian)

MUON/mapping/AliMpBusPatch.cxx
MUON/mapping/AliMpBusPatch.h

index fbe5c5b85603c75bb029e145c26b87cab350ac07..9db31d6a34c2df327fd64fd79d8e1556ef0957fa 100644 (file)
@@ -31,7 +31,6 @@
 #include "AliMpFiles.h"
 #include "AliMpHelper.h"
 #include "AliLog.h"
-
 #include "TArrayI.h"
 #include "Riostream.h"
 
@@ -141,12 +140,15 @@ void AliMpBusPatch::ReadBusPatchFile()
       Int_t iDDL = atoi(sDDL.Data());
 
       // always working local DDL number... for the moment.
+
       // not really needed remove for stand alone purpose (Ch.F)
-//      if (iDDL >= AliDAQ::DdlIDOffset("MUONTRK"))
-//     iDDL -= AliDAQ::DdlIDOffset("MUONTRK");
+      //      if (iDDL >= AliDAQ::DdlIDOffset("MUONTRK"))
+      //       iDDL -= AliDAQ::DdlIDOffset("MUONTRK");
+
 
       TString busPatch(tmp(blankPos + 1,blankPos1-blankPos-1));
       AliDebug(3,Form("idDE %d buspatch %s iDDL %d\n", idDE, busPatch.Data(), iDDL));
+      AddDetElem(iDDL, idDE);
 
       TArrayI busPatchList;
       // decoding range of buspatch
@@ -178,7 +180,15 @@ void AliMpBusPatch::AddBus(Int_t iDDL, Int_t busPatch)
 
 }
 
+//____________________________________________________________________
+void AliMpBusPatch::AddDetElem(Int_t iDDL, Int_t detElem)
+{
+/// add DE per DDL
+
+  fDeInDDL[iDDL].Set(fDeInDDL[iDDL].GetSize() + 1);
+  fDeInDDL[iDDL].AddAt(detElem, fDeInDDL[iDDL].GetSize() - 1);
 
+}
 //____________________________________________________________________
 Int_t AliMpBusPatch::NextBusInDDL(Int_t iDDL)
 {
@@ -191,6 +201,7 @@ Int_t AliMpBusPatch::NextBusInDDL(Int_t iDDL)
 
 }
 
+
 //____________________________________________________________________
 void AliMpBusPatch::ResetBusItr(Int_t iDDL)
 {
index 81cfc9856b533063e5f20405fb56aed2dbac0532..86b88d99f545295de56a118d6012a180eb2df1cf 100644 (file)
@@ -20,6 +20,8 @@
 #include <TExMap.h>
 #include <TArrayI.h>
 
+class TExMapIter;
+
 class AliMpBusPatch : public TObject
 {
 
@@ -36,10 +38,13 @@ class AliMpBusPatch : public TObject
   TArrayI* GetBusfromDE(Int_t idDE);
   Int_t    GetDDLfromBus(Int_t busPatchId);
   void     AddBus(Int_t nDDL, Int_t busPatch);
+  void     AddDetElem(Int_t nDDL, Int_t detElem);
   void     Sort();
   TArrayI  GetBusInDDL(Int_t nDDL) {return fBusInDDL[nDDL];}
+  TArrayI  GetDeInDDL(Int_t nDDL) {return fDeInDDL[nDDL];}
   Int_t    NextBusInDDL(Int_t iDDL);
   void     ResetBusItr(Int_t iDDL);
+  TExMapIter   GetBusItr() {return TExMapIter(&fBusPatchToDDL);}
 
  private:
   AliMpBusPatch(const AliMpBusPatch& src);
@@ -50,10 +55,11 @@ class AliMpBusPatch : public TObject
   TExMap fBusPatchToDDL;             //!< Map from BusPatch to iDDL
 
   TArrayI fBusInDDL[20];             //!< buspatch array per DDL
-  Int_t fBusItr[20];                 //!< buspatch in DDL iterator
+  Int_t   fBusItr[20];               //!< buspatch in DDL iterator
+  TArrayI fDeInDDL[20];              //!< detElem array per DDL
 
-  void Sort(TArrayI& arr, Int_t start, Int_t end);
 
+  void Sort(TArrayI& arr, Int_t start, Int_t end);
 
   ClassDef(AliMpBusPatch,1) //utility class for the motif type
 };