]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerCrateStore.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCrateStore.h
index eb128fd19e45f3ad3ab8066b16b0650a21fc2810..ce497d104cc0aefbe96a778e6f3cd8666a133799 100644 (file)
@@ -6,20 +6,23 @@
 
 // $Id$
 
-/// \ingroup sim
+/// \ingroup trigger
 /// \class AliMUONTriggerCrateStore
 /// \brief A container for AliMUONTriggerCrate objects.
 /// 
-/// \author Laurent Aphecetche
+//  Author Laurent Aphecetche
 
 #ifndef ROOT_TObject
 #  include "TObject.h"
 #endif
 
+#include "TString.h"
+
 class AliMUONLocalTriggerBoard;
 class AliMUONTriggerCrate;
 class AliMpExMap;
-class TExMapIter;
+class TIterator;
+class AliMUONCalibrationData;
 
 class AliMUONTriggerCrateStore : public TObject
 {
@@ -28,29 +31,35 @@ public:
   virtual ~AliMUONTriggerCrateStore();
   
   Int_t NumberOfCrates() const;
-  void FirstCrate();
-  AliMUONTriggerCrate* NextCrate();
+
   AliMUONTriggerCrate* Crate(const char* crateName) const;
-  
+  AliMUONTriggerCrate* Crate(Int_t ddl, Int_t reg) const;
+
   Int_t NumberOfLocalBoards() const;
-  void FirstLocalBoard();
-  AliMUONLocalTriggerBoard* NextLocalBoard();
+
   AliMUONLocalTriggerBoard* LocalBoard(Int_t boardNumber) const;
   
-  void ReadFromFile(const char* crateFile = "$ALICE_ROOT/MUON/data/CRATE.TXT");
+  void ReadFromFile(AliMUONCalibrationData* calibData);
+  TIterator* CreateCrateIterator() const;
+  
+  TIterator* CreateLocalBoardIterator() const;
+
+protected:
+  /// Not implemented
+  AliMUONTriggerCrateStore(const AliMUONTriggerCrateStore& rhs);
+  /// Not implemented
+  AliMUONTriggerCrateStore& operator = (const AliMUONTriggerCrateStore& rhs);
 
 private:
   void AddCrate(const char* crateName); 
   
 private:
-  AliMpExMap* fCrates; // list of crates
-  AliMpExMap* fLocalBoards; // local boards (indexed by their number)
-  TExMapIter* fCrateIterator; //! iterator for the crate map above
-  TExMapIter* fLBIterator; //! iterator for boards (through crates)
-  AliMUONTriggerCrate* fCurrentCrate; //! used for iterating on local board
-  Int_t fCurrentLocalBoard; //! used for iterating on local board
-
-  ClassDef(AliMUONTriggerCrateStore,1) // Reader for CRATE.TXT file
+  AliMpExMap* fCrates; ///< list of crates
+  AliMpExMap* fLocalBoards; ///< local boards (indexed by their number)
+
+  TString GetCrateName(Int_t ddl, Int_t reg) const;
+
+  ClassDef(AliMUONTriggerCrateStore,2) // Reader for CRATE.TXT file
 };
 
 #endif