Line data Source code
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 3306 : ClassDef(AliMUONTriggerCrateStore,2) // Reader for CRATE.TXT file
63 : };
64 :
65 : #endif
|