Line data Source code
1 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 : * See cxx source for full Copyright notice */
3 :
4 : // $MpId: $
5 :
6 : /// \ingroup mptrigger
7 : /// \class AliMpRegionalTrigger
8 : /// \brief The class defines the properties of regional trigger crate
9 : ///
10 : /// \author Ch. Finck, Subatech Nantes; I. Hrivnacova, IPN Orsay
11 :
12 : #ifndef ALI_MP_REGIONAL_TRIGGER_H
13 : #define ALI_MP_REGIONAL_TRIGGER_H
14 :
15 : #include <TObject.h>
16 :
17 : #include "AliMpExMap.h"
18 :
19 : #include <TObjArray.h>
20 :
21 : class AliMpTriggerCrate;
22 : class AliMpLocalBoard;
23 : class AliMpDataStreams;
24 : class TIterator;
25 :
26 : using std::istream;
27 :
28 : class AliMpRegionalTrigger : public TObject{
29 :
30 : public:
31 : AliMpRegionalTrigger();
32 : AliMpRegionalTrigger(const AliMpRegionalTrigger& rhs);
33 : AliMpRegionalTrigger(TRootIOCtor* ioCtor);
34 : virtual ~AliMpRegionalTrigger();
35 :
36 : // operators
37 : AliMpRegionalTrigger& operator=(const AliMpRegionalTrigger& rhs);
38 :
39 : // methods
40 : Bool_t ReadData(const TString& fileName);
41 : Bool_t ReadData(const AliMpDataStreams& dataStreams);
42 :
43 : AliMpTriggerCrate* FindTriggerCrate(TString crateName, Bool_t warn = true) const;
44 : AliMpLocalBoard* FindLocalBoard(Int_t localBoardId, Bool_t warn = true) const;
45 :
46 : // method for looping
47 :
48 : TIterator* CreateCrateIterator() const;
49 :
50 : TIterator* CreateLocalBoardIterator() const;
51 :
52 : Int_t LocalBoardId(Int_t index) const;
53 :
54 : Int_t GetNofTriggerCrates() const;
55 :
56 : Int_t GetNofLocalBoards() const;
57 :
58 : // ownership
59 : void SetTriggerCratesOwner(Bool_t owner);
60 :
61 : private:
62 : Bool_t ReadData(istream& in);
63 :
64 : // data members
65 : AliMpExMap fTriggerCrates; ///< map for trigger crates
66 : AliMpExMap fLocalBoardMap; ///< map of local boards (owner of boards)
67 : TObjArray fLocalBoardArray; ///< array of local boards (not owner of boards, the map is the owner)
68 :
69 42 : ClassDef(AliMpRegionalTrigger,2) // Regional trigger crate
70 : };
71 :
72 :
73 : #endif //ALI_MP_REGIONAL__CRATE_H
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
|