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 TNamed {
29 enum ETrigSignalFlags {
33 AliTrigEvent() : TNamed() {}
34 AliTrigEvent(const char *name) : TNamed(name,"") {}
35 AliTrigEvent(const AliTrigEvent &other) : TNamed(other) {}
36 virtual ~AliTrigEvent() {}
38 AliTrigEvent &operator=(const AliTrigEvent &other);
39 void Activate(Bool_t flag);
40 Bool_t IsActive() const {return TObject::TestBit(kActive);}
42 // Import data from a source signal. Has to be implemented by derived signals.
43 virtual Bool_t ImportData(AliTrigEvent *source) = 0;
44 virtual Bool_t SetType(const char */*classname*/) {return kTRUE;}
45 virtual const char *GetType() const {return NULL;}
47 ClassDef(AliTrigEvent,1) // Generic event embedding data.
51 //==============================================================================
52 // AliTrigEventWithMask - Event embedding a bit mask as TBits
54 //==============================================================================
56 class AliTrigEventWithMask : public AliTrigEvent {
59 AliTrigEventWithMask() : AliTrigEvent(), fValue() {}
60 AliTrigEventWithMask(const char *name) : AliTrigEvent(name), fValue() {}
61 AliTrigEventWithMask(const AliTrigEventWithMask &other);
62 virtual ~AliTrigEventWithMask() {}
64 AliTrigEventWithMask &operator=(const AliTrigEventWithMask &other);
65 virtual Bool_t ImportData(AliTrigEvent *source);
67 TBits *GetValue() const {return fValue;}
68 void SetValue(TBits *value);
71 TBits *fValue; // Mask value
73 ClassDef(AliTrigEventWithMask,1) // Signal embedding a TBits object.
76 //==============================================================================
77 // AliTrigEventWithObject - Event embedding a TObject
79 //==============================================================================
81 class AliTrigEventWithObject : public AliTrigEvent {
84 AliTrigEventWithObject() : AliTrigEvent(), fValue(0), fType() {}
85 AliTrigEventWithObject(const char *name, const char *classname);
86 AliTrigEventWithObject(const AliTrigEventWithObject &other);
87 virtual ~AliTrigEventWithObject() {}
89 AliTrigEventWithObject &operator=(const AliTrigEventWithObject &other);
90 virtual Bool_t ImportData(AliTrigEvent *source);
91 virtual const char *GetType() const {return fType;}
92 virtual Bool_t SetType(const char *classname);
93 TObject *GetValue() const {return fValue;}
94 Bool_t SetValue(TObject *value);
97 TObject *fValue; // Embedded object
98 TString fType; // Object type
100 ClassDef(AliTrigEventWithObject,1) // Signal embedding an object.