]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerCrateStore.h
Moving required CMake version from 2.8.4 to 2.8.8
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCrateStore.h
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
21 class AliMUONLocalTriggerBoard;
22 class AliMUONTriggerCrate;
23 class AliMpExMap;
24 class TIterator;
25 class AliMUONCalibrationData;
26
27 class AliMUONTriggerCrateStore : public TObject
28 {
29 public:
30   AliMUONTriggerCrateStore();
31   virtual ~AliMUONTriggerCrateStore();
32   
33   Int_t NumberOfCrates() const;
34
35   AliMUONTriggerCrate* Crate(const char* crateName) const;
36   AliMUONTriggerCrate* Crate(Int_t ddl, Int_t reg) const;
37
38   Int_t NumberOfLocalBoards() const;
39
40   AliMUONLocalTriggerBoard* LocalBoard(Int_t boardNumber) const;
41   
42   void ReadFromFile(AliMUONCalibrationData* calibData);
43   TIterator* CreateCrateIterator() const;
44   
45   TIterator* CreateLocalBoardIterator() const;
46
47 protected:
48   /// Not implemented
49   AliMUONTriggerCrateStore(const AliMUONTriggerCrateStore& rhs);
50   /// Not implemented
51   AliMUONTriggerCrateStore& operator = (const AliMUONTriggerCrateStore& rhs);
52
53 private:
54   void AddCrate(const char* crateName); 
55   
56 private:
57   AliMpExMap* fCrates; ///< list of crates
58   AliMpExMap* fLocalBoards; ///< local boards (indexed by their number)
59
60   TString GetCrateName(Int_t ddl, Int_t reg) const;
61
62   ClassDef(AliMUONTriggerCrateStore,2) // Reader for CRATE.TXT file
63 };
64
65 #endif