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 //==============================================================================
26 class AliTrigEvent : public TObject {
29 enum ETrigSignalFlags {
33 AliTrigEvent() : TObject() {}
34 virtual ~AliTrigEvent() {}
36 void Activate(Bool_t flag);
37 Bool_t IsActive() const {return TObject::TestBit(kActive);}
39 // Import data from a source signal. Has to be implemented by derived signals.
40 virtual Bool_t ImportData(AliTrigEvent *source) = 0;
41 virtual Bool_t SetType(const char */*classname*/) {return kTRUE;}
42 virtual const char *GetType() const {return NULL;}
44 ClassDef(AliTrigEvent,1) // Generic event embedding data.
48 //==============================================================================
49 // AliTrigEventWithMask - Event embedding a bit mask as TBits
51 //==============================================================================
53 class AliTrigEventWithMask : public AliTrigEvent {
56 AliTrigEventWithMask() : AliTrigEvent(), fValue() {}
57 AliTrigEventWithMask(const AliTrigEventWithMask &other);
58 virtual ~AliTrigEventWithMask() {}
60 AliTrigEventWithMask &operator=(const AliTrigEventWithMask &other);
61 virtual Bool_t ImportData(AliTrigEvent *source);
63 TBits *GetValue() const {return fValue;}
64 void SetValue(TBits *value);
67 TBits *fValue; // Mask value
69 ClassDef(AliTrigEventWithMask,1) // Signal embedding a TBits object.
72 //==============================================================================
73 // AliTrigEventWithObject - Event embedding a TObject
75 //==============================================================================
77 class AliTrigEventWithObject : public AliTrigEvent {
80 AliTrigEventWithObject() : AliTrigEvent(), fValue(0) {}
81 AliTrigEventWithObject(const char *classname);
82 AliTrigEventWithObject(const AliTrigEventWithObject &other);
83 virtual ~AliTrigEventWithObject() {}
85 AliTrigEventWithObject &operator=(const AliTrigEventWithObject &other);
86 virtual Bool_t ImportData(AliTrigEvent *source);
87 virtual const char *GetType() const {return fType;}
88 virtual Bool_t SetType(const char *classname);
89 TObject *GetValue() const {return fValue;}
90 Bool_t SetValue(TObject *value);
93 TObject *fValue; // Embedded object
94 TString fType; // Object type
96 ClassDef(AliTrigEventWithObject,1) // Signal embedding an object.