1 #ifndef ALIMUONTRIGGERCRATESTORE_H
2 #define ALIMUONTRIGGERCRATESTORE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONTriggerCrateStore
11 /// \brief A container for AliMUONTriggerCrate objects.
13 // Author Laurent Aphecetche
21 class AliMUONLocalTriggerBoard;
22 class AliMUONTriggerCrate;
26 class AliMUONTriggerCrateStore : public TObject
29 AliMUONTriggerCrateStore();
30 virtual ~AliMUONTriggerCrateStore();
32 Int_t NumberOfCrates() const;
34 AliMUONTriggerCrate* NextCrate();
35 AliMUONTriggerCrate* Crate(const char* crateName) const;
36 AliMUONTriggerCrate* Crate(Int_t ddl, Int_t reg) const;
38 Int_t NumberOfLocalBoards() const;
39 void FirstLocalBoard();
40 AliMUONLocalTriggerBoard* NextLocalBoard();
41 AliMUONLocalTriggerBoard* LocalBoard(Int_t boardNumber) const;
43 void ReadFromFile(const char* crateFile = "");
48 AliMUONTriggerCrateStore(const AliMUONTriggerCrateStore& rhs);
50 AliMUONTriggerCrateStore& operator = (const AliMUONTriggerCrateStore& rhs);
53 void AddCrate(const char* crateName);
56 AliMpExMap* fCrates; ///< list of crates
57 AliMpExMap* fLocalBoards; ///< local boards (indexed by their number)
58 TExMapIter* fCrateIterator; //!< iterator for the crate map above
59 TExMapIter* fLBIterator; //!< iterator for boards (through crates)
60 AliMUONTriggerCrate* fCurrentCrate; //!< used for iterating on local board
61 Int_t fCurrentLocalBoard; //!< used for iterating on local board
63 TString GetCrateName(Int_t ddl, Int_t reg) const;
65 ClassDef(AliMUONTriggerCrateStore,1) // Reader for CRATE.TXT file