]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONTriggerCrateStore.h
Introduction of AliTRDLeastSquare
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCrateStore.h
... / ...
CommitLineData
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
9/// \ingroup trigger
10/// \class AliMUONTriggerCrateStore
11/// \brief A container for AliMUONTriggerCrate objects.
12///
13// Author Laurent Aphecetche
14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19#include "TString.h"
20
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;
36 AliMUONTriggerCrate* Crate(Int_t ddl, Int_t reg) const;
37
38 Int_t NumberOfLocalBoards() const;
39 void FirstLocalBoard();
40 AliMUONLocalTriggerBoard* NextLocalBoard();
41 AliMUONLocalTriggerBoard* LocalBoard(Int_t boardNumber) const;
42
43 void ReadFromFile(const char* crateFile = "");
44
45
46protected:
47 /// Not implemented
48 AliMUONTriggerCrateStore(const AliMUONTriggerCrateStore& rhs);
49 /// Not implemented
50 AliMUONTriggerCrateStore& operator = (const AliMUONTriggerCrateStore& rhs);
51
52private:
53 void AddCrate(const char* crateName);
54
55private:
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
62
63 TString GetCrateName(Int_t ddl, Int_t reg) const;
64
65 ClassDef(AliMUONTriggerCrateStore,1) // Reader for CRATE.TXT file
66};
67
68#endif