]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerCrateStore.h
Macro to calculate the resolution and the efficiency of chamber(s) (Nicolas)
[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
5398f946 9/// \ingroup base
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
f023e45b 43 void ReadFromFile(const char* crateFile =
44 "$ALICE_ROOT/MUON/mapping/data/stationTrigger/crate.dat");
aa6ecf89 45
30dd09e2 46
5398f946 47protected:
48 AliMUONTriggerCrateStore(const AliMUONTriggerCrateStore& rhs);
49 AliMUONTriggerCrateStore& operator = (const AliMUONTriggerCrateStore& rhs);
50
30dd09e2 51private:
52 void AddCrate(const char* crateName);
53
54private:
18b6b8c7 55 AliMpExMap* fCrates; ///< list of crates
56 AliMpExMap* fLocalBoards; ///< local boards (indexed by their number)
57 TExMapIter* fCrateIterator; //!< iterator for the crate map above
58 TExMapIter* fLBIterator; //!< iterator for boards (through crates)
59 AliMUONTriggerCrate* fCurrentCrate; //!< used for iterating on local board
60 Int_t fCurrentLocalBoard; //!< used for iterating on local board
30dd09e2 61
aa6ecf89 62 TString GetCrateName(Int_t ddl, Int_t reg) const;
63
30dd09e2 64 ClassDef(AliMUONTriggerCrateStore,1) // Reader for CRATE.TXT file
65};
66
67#endif