3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 // Author: Andrei Gheata, 28/07/2009
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 //==============================================================================
22 class AliTrigEvent : public TObject {
25 enum ETrigSignalFlags {
29 AliTrigEvent() : TObject {}
30 virtual ~AliTrigEvent() {}
32 void Activate(Bool_t flag);
33 Bool_t IsActive() const {return TObject::TestBit(kActive);}
35 // Import data from a source signal. Has to be implemented by derived signals.
36 virtual Bool_t ImportData(AliTrigEvent *source) = 0;
37 virtual Bool_t SetType(const char *classname) {return kTRUE;}
38 virtual TClass *GetType() {return NULL;}
40 ClassDef(AliTrigEvent,1) // Generic event embedding data.
44 //==============================================================================
45 // AliTrigEventWithMask - Event embedding a bit mask as TBits
47 //==============================================================================
49 class AliTrigEventWithMask : public AliTrigEvent {
52 AliTrigEventWithMask() : AliTrigEvent(), fValue() {}
53 virtual ~AliTrigEventWithMask() {}
55 virtual Bool_t ImportData(AliTrigEvent *source);
57 const TBits &GetValue() const {return fValue;}
58 void SetValue(const TBits &value) {fValue = value;}
61 TBits fValue; // Mask value
63 ClassDef(AliTrigEventWithMask,1) // Signal embedding a TBits object.
66 //==============================================================================
67 // AliTrigEventWithObject - Event embedding a TObject
69 //==============================================================================
72 class AliTrigEventWithObject : public AliTrigEvent {
75 AliTrigEventWithObject() : AliTrigEvent(), fValue(0) {}
76 AliTrigEventWithObject(const char *classname);
77 AliTrigEventWithObject(const AliTrigEventWithObject &other);
78 virtual ~AliTrigEventWithObject() {}
80 AliTrigEventWithObject &operator=(const AliTrigEventWithObject &other);
81 virtual Bool_t ImportData(AliTrigEvent *source);
82 virtual TClass *GetType() const {return fType;}
83 virtual Bool_t SetType(const char *classname);
84 TObject *GetValue() const {return fValue;}
85 Bool_t SetValue(TObject *value);
88 TObject *fValue; // Embedded object
89 TClass *fType; //! Object type
91 ClassDef(AliTrigEventWithObject,1) // Signal embedding an object.