]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerCrateStore.h
Initial version (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCrateStore.h
CommitLineData
30dd09e2 1#ifndef ALIMUONTRIGGERCRATESTORE_H
2#define ALIMUONTRIGGERCRATESTORE_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5* See cxx source for full Copyright notice */
6
7// $Id$
8
73c5afb5 9/// \ingroup trigger
30dd09e2 10/// \class AliMUONTriggerCrateStore
11/// \brief A container for AliMUONTriggerCrate objects.
12///
13985652 13// Author Laurent Aphecetche
30dd09e2 14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
aa6ecf89 19#include "TString.h"
20
30dd09e2 21class AliMUONLocalTriggerBoard;
22class AliMUONTriggerCrate;
23class AliMpExMap;
24class TExMapIter;
25
26class AliMUONTriggerCrateStore : public TObject
27{
28public:
29 AliMUONTriggerCrateStore();
30 virtual ~AliMUONTriggerCrateStore();
31
32 Int_t NumberOfCrates() const;
33 void FirstCrate();
34 AliMUONTriggerCrate* NextCrate();
35 AliMUONTriggerCrate* Crate(const char* crateName) const;
aa6ecf89 36 AliMUONTriggerCrate* Crate(Int_t ddl, Int_t reg) const;
37
30dd09e2 38 Int_t NumberOfLocalBoards() const;
39 void FirstLocalBoard();
40 AliMUONLocalTriggerBoard* NextLocalBoard();
41 AliMUONLocalTriggerBoard* LocalBoard(Int_t boardNumber) const;
42
ac809573 43 void ReadFromFile(const char* crateFile = "");
aa6ecf89 44
30dd09e2 45
5398f946 46protected:
71a2d3aa 47 /// Not implemented
5398f946 48 AliMUONTriggerCrateStore(const AliMUONTriggerCrateStore& rhs);
71a2d3aa 49 /// Not implemented
5398f946 50 AliMUONTriggerCrateStore& operator = (const AliMUONTriggerCrateStore& rhs);
51
30dd09e2 52private:
53 void AddCrate(const char* crateName);
54
55private:
18b6b8c7 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
30dd09e2 62
aa6ecf89 63 TString GetCrateName(Int_t ddl, Int_t reg) const;
64
30dd09e2 65 ClassDef(AliMUONTriggerCrateStore,1) // Reader for CRATE.TXT file
66};
67
68#endif