// $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
{
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