AliTrigEvent derives from TNamed now. Other minor fixes.
[u/mrichter/AliRoot.git] / TRIGGER / AliTrigEvent.h
index b129865c918681673b308b8add04864846ed6426..3c01a96b11899d0491ce2f5fefc698d117fdd9c1 100644 (file)
 //==============================================================================
 
 #ifndef ROOT_TObject
-#include "TObject.h"
+#include "TNamed.h"
+#endif
+
+#ifndef ROOT_TString
+#include "TString.h"
 #endif
 
 class TClass;
-class AliTrigEvent : public TObject {
+class AliTrigEvent : public TNamed {
 
 public:
 enum ETrigSignalFlags {
   kActive = BIT(14)
-}
+};
   
-  AliTrigEvent() : TObject {}
+  AliTrigEvent() : TNamed() {}
+  AliTrigEvent(const char *name) : TNamed(name,"") {}
+  AliTrigEvent(const AliTrigEvent &other) : TNamed(other) {}
   virtual ~AliTrigEvent() {}
 
+  AliTrigEvent             &operator=(const AliTrigEvent &other);
   void                      Activate(Bool_t flag);
   Bool_t                    IsActive() const {return TObject::TestBit(kActive);}
   
   // Import data from a source signal. Has to be implemented by derived signals.
   virtual Bool_t            ImportData(AliTrigEvent *source) = 0;
-  virtual Bool_t            SetType(const char *classname) {return kTRUE;}
-  virtual TClass           *GetType() {return NULL;}
+  virtual Bool_t            SetType(const char */*classname*/) {return kTRUE;}
+  virtual const char       *GetType() const {return NULL;}
      
   ClassDef(AliTrigEvent,1)  // Generic event embedding data.
 };
@@ -50,15 +57,18 @@ class AliTrigEventWithMask : public AliTrigEvent {
 
 public:
   AliTrigEventWithMask() : AliTrigEvent(), fValue() {}
+  AliTrigEventWithMask(const char *name) : AliTrigEvent(name), fValue() {}
+  AliTrigEventWithMask(const AliTrigEventWithMask &other);
   virtual ~AliTrigEventWithMask() {}
   
+  AliTrigEventWithMask   &operator=(const AliTrigEventWithMask &other);
   virtual Bool_t            ImportData(AliTrigEvent *source);
 
-  const TBits              &GetValue() const {return fValue;}
-  void                      SetValue(const TBits &value) {fValue = value;}
+  TBits                    *GetValue() const {return fValue;}
+  void                      SetValue(TBits *value);
 
 private:
-  TBits                     fValue;  // Mask value
+  TBits                    *fValue;  // Mask value
      
   ClassDef(AliTrigEventWithMask,1)  // Signal embedding a TBits object.
 };
@@ -68,25 +78,24 @@ private:
 // 
 //==============================================================================
 
-class TClass;
 class AliTrigEventWithObject : public AliTrigEvent {
 
 public:
-  AliTrigEventWithObject() : AliTrigEvent(), fValue(0) {}
-  AliTrigEventWithObject(const char *classname);
+  AliTrigEventWithObject() : AliTrigEvent(), fValue(0), fType() {}
+  AliTrigEventWithObject(const char *name, const char *classname);
   AliTrigEventWithObject(const AliTrigEventWithObject &other);
   virtual ~AliTrigEventWithObject() {}
   
   AliTrigEventWithObject   &operator=(const AliTrigEventWithObject &other);
   virtual Bool_t            ImportData(AliTrigEvent *source);
-  virtual TClass           *GetType() const  {return fType;}
+  virtual const char       *GetType() const {return fType;}
   virtual Bool_t            SetType(const char *classname);
   TObject                  *GetValue() const {return fValue;}
   Bool_t                    SetValue(TObject *value);
 
 private:
   TObject                  *fValue;  // Embedded object
-  TClass                   *fType;   //! Object type
+  TString                   fType;   // Object type
      
   ClassDef(AliTrigEventWithObject,1)  // Signal embedding an object.
 };