Copy of event header for delta-AOD on demand.
[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;
92c23b09 25class AliMUONCalibrationData;
30dd09e2 26
27class AliMUONTriggerCrateStore : public TObject
28{
29public:
30 AliMUONTriggerCrateStore();
31 virtual ~AliMUONTriggerCrateStore();
32
33 Int_t NumberOfCrates() const;
34 void FirstCrate();
35 AliMUONTriggerCrate* NextCrate();
36 AliMUONTriggerCrate* Crate(const char* crateName) const;
aa6ecf89 37 AliMUONTriggerCrate* Crate(Int_t ddl, Int_t reg) const;
38
30dd09e2 39 Int_t NumberOfLocalBoards() const;
40 void FirstLocalBoard();
41 AliMUONLocalTriggerBoard* NextLocalBoard();
42 AliMUONLocalTriggerBoard* LocalBoard(Int_t boardNumber) const;
43
92c23b09 44 void ReadFromFile(AliMUONCalibrationData* calibData);
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