]>
Commit | Line | Data |
---|---|---|
88f843f1 | 1 | #ifndef ALITRIGEVENT_H |
2 | #define ALITRIGEVENT_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | // Author: Andrei Gheata, 28/07/2009 | |
8 | ||
9 | //============================================================================== | |
10 | // AliTrigEvent - Base class for generic information exchanged by a trigger | |
11 | // device. Trigger inputs and outputs are represented and | |
12 | // handled via AliTrigEvent objects. Trigger events are typically | |
13 | // wrappers for the information exchanged on a single I/O slot | |
14 | // or a group of correlated inputs. | |
15 | //============================================================================== | |
16 | ||
17 | #ifndef ROOT_TObject | |
18 | #include "TObject.h" | |
19 | #endif | |
20 | ||
79e35bac | 21 | #ifndef ROOT_TString |
22 | #include "TString.h" | |
23 | #endif | |
24 | ||
88f843f1 | 25 | class TClass; |
26 | class AliTrigEvent : public TObject { | |
27 | ||
28 | public: | |
29 | enum ETrigSignalFlags { | |
30 | kActive = BIT(14) | |
79e35bac | 31 | }; |
88f843f1 | 32 | |
79e35bac | 33 | AliTrigEvent() : TObject() {} |
88f843f1 | 34 | virtual ~AliTrigEvent() {} |
35 | ||
36 | void Activate(Bool_t flag); | |
37 | Bool_t IsActive() const {return TObject::TestBit(kActive);} | |
38 | ||
39 | // Import data from a source signal. Has to be implemented by derived signals. | |
40 | virtual Bool_t ImportData(AliTrigEvent *source) = 0; | |
79e35bac | 41 | virtual Bool_t SetType(const char */*classname*/) {return kTRUE;} |
42 | virtual const char *GetType() const {return NULL;} | |
88f843f1 | 43 | |
44 | ClassDef(AliTrigEvent,1) // Generic event embedding data. | |
45 | }; | |
46 | ||
47 | ||
48 | //============================================================================== | |
49 | // AliTrigEventWithMask - Event embedding a bit mask as TBits | |
50 | // | |
51 | //============================================================================== | |
52 | class TBits; | |
53 | class AliTrigEventWithMask : public AliTrigEvent { | |
54 | ||
55 | public: | |
56 | AliTrigEventWithMask() : AliTrigEvent(), fValue() {} | |
79e35bac | 57 | AliTrigEventWithMask(const AliTrigEventWithMask &other); |
88f843f1 | 58 | virtual ~AliTrigEventWithMask() {} |
59 | ||
79e35bac | 60 | AliTrigEventWithMask &operator=(const AliTrigEventWithMask &other); |
88f843f1 | 61 | virtual Bool_t ImportData(AliTrigEvent *source); |
62 | ||
79e35bac | 63 | TBits *GetValue() const {return fValue;} |
64 | void SetValue(TBits *value); | |
88f843f1 | 65 | |
66 | private: | |
79e35bac | 67 | TBits *fValue; // Mask value |
88f843f1 | 68 | |
69 | ClassDef(AliTrigEventWithMask,1) // Signal embedding a TBits object. | |
70 | }; | |
71 | ||
72 | //============================================================================== | |
73 | // AliTrigEventWithObject - Event embedding a TObject | |
74 | // | |
75 | //============================================================================== | |
76 | ||
88f843f1 | 77 | class AliTrigEventWithObject : public AliTrigEvent { |
78 | ||
79 | public: | |
fcd2bfb7 | 80 | AliTrigEventWithObject() : AliTrigEvent(), fValue(0), fType() {} |
88f843f1 | 81 | AliTrigEventWithObject(const char *classname); |
82 | AliTrigEventWithObject(const AliTrigEventWithObject &other); | |
83 | virtual ~AliTrigEventWithObject() {} | |
84 | ||
85 | AliTrigEventWithObject &operator=(const AliTrigEventWithObject &other); | |
86 | virtual Bool_t ImportData(AliTrigEvent *source); | |
79e35bac | 87 | virtual const char *GetType() const {return fType;} |
88f843f1 | 88 | virtual Bool_t SetType(const char *classname); |
89 | TObject *GetValue() const {return fValue;} | |
90 | Bool_t SetValue(TObject *value); | |
91 | ||
92 | private: | |
93 | TObject *fValue; // Embedded object | |
79e35bac | 94 | TString fType; // Object type |
88f843f1 | 95 | |
96 | ClassDef(AliTrigEventWithObject,1) // Signal embedding an object. | |
97 | }; | |
98 | ||
99 | #endif |