Geometry builder classes moved from base to sim.
[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
9/// \ingroup sim
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
19class AliMUONLocalTriggerBoard;
20class AliMUONTriggerCrate;
21class AliMpExMap;
22class TExMapIter;
23
24class AliMUONTriggerCrateStore : public TObject
25{
26public:
27 AliMUONTriggerCrateStore();
28 virtual ~AliMUONTriggerCrateStore();
29
30 Int_t NumberOfCrates() const;
31 void FirstCrate();
32 AliMUONTriggerCrate* NextCrate();
33 AliMUONTriggerCrate* Crate(const char* crateName) const;
34
35 Int_t NumberOfLocalBoards() const;
36 void FirstLocalBoard();
37 AliMUONLocalTriggerBoard* NextLocalBoard();
38 AliMUONLocalTriggerBoard* LocalBoard(Int_t boardNumber) const;
39
f023e45b 40 void ReadFromFile(const char* crateFile =
41 "$ALICE_ROOT/MUON/mapping/data/stationTrigger/crate.dat");
30dd09e2 42
43private:
44 void AddCrate(const char* crateName);
45
46private:
18b6b8c7 47 AliMpExMap* fCrates; ///< list of crates
48 AliMpExMap* fLocalBoards; ///< local boards (indexed by their number)
49 TExMapIter* fCrateIterator; //!< iterator for the crate map above
50 TExMapIter* fLBIterator; //!< iterator for boards (through crates)
51 AliMUONTriggerCrate* fCurrentCrate; //!< used for iterating on local board
52 Int_t fCurrentLocalBoard; //!< used for iterating on local board
30dd09e2 53
54 ClassDef(AliMUONTriggerCrateStore,1) // Reader for CRATE.TXT file
55};
56
57#endif