LCOV - code coverage report
Current view: top level - TRIGGER - AliTrigEvent.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 3 18 16.7 %
Date: 2016-06-14 17:26:59 Functions: 3 39 7.7 %

          Line data    Source code
       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 "TNamed.h"
      19             : #endif
      20             : 
      21             : #ifndef ROOT_TString
      22             : #include "TString.h"
      23             : #endif
      24             : 
      25             : class TClass;
      26             : class AliTrigEvent : public TNamed {
      27             : 
      28             : public:
      29             : enum ETrigSignalFlags {
      30             :   kActive = BIT(14)
      31             : };
      32             :   
      33           0 :   AliTrigEvent() : TNamed() {}
      34           0 :   AliTrigEvent(const char *name) : TNamed(name,"") {}
      35           0 :   AliTrigEvent(const AliTrigEvent &other) : TNamed(other) {}
      36           0 :   virtual ~AliTrigEvent() {}
      37             : 
      38             :   AliTrigEvent             &operator=(const AliTrigEvent &other);
      39             :   void                      Activate(Bool_t flag);
      40           0 :   Bool_t                    IsActive() const {return TObject::TestBit(kActive);}
      41             :   
      42             :   // Import data from a source signal. Has to be implemented by derived signals.
      43             :   virtual Bool_t            ImportData(AliTrigEvent *source) = 0;
      44           0 :   virtual Bool_t            SetType(const char */*classname*/) {return kTRUE;}
      45           0 :   virtual const char       *GetType() const {return NULL;}
      46             :      
      47          12 :   ClassDef(AliTrigEvent,1)  // Generic event embedding data.
      48             : };
      49             : 
      50             : 
      51             : //==============================================================================
      52             : //   AliTrigEventWithMask - Event embedding a bit mask as TBits
      53             : // 
      54             : //==============================================================================
      55             : class TBits;
      56             : class AliTrigEventWithMask : public AliTrigEvent {
      57             : 
      58             : public:
      59           0 :   AliTrigEventWithMask() : AliTrigEvent(), fValue() {}
      60           0 :   AliTrigEventWithMask(const char *name) : AliTrigEvent(name), fValue() {}
      61             :   AliTrigEventWithMask(const AliTrigEventWithMask &other);
      62           0 :   virtual ~AliTrigEventWithMask() {}
      63             :   
      64             :   AliTrigEventWithMask   &operator=(const AliTrigEventWithMask &other);
      65             :   virtual Bool_t            ImportData(AliTrigEvent *source);
      66             : 
      67           0 :   TBits                    *GetValue() const {return fValue;}
      68             :   void                      SetValue(TBits *value);
      69             : 
      70             : private:
      71             :   TBits                    *fValue;  // Mask value
      72             :      
      73          12 :   ClassDef(AliTrigEventWithMask,1)  // Signal embedding a TBits object.
      74             : };
      75             : 
      76             : //==============================================================================
      77             : //   AliTrigEventWithObject - Event embedding a TObject
      78             : // 
      79             : //==============================================================================
      80             : 
      81             : class AliTrigEventWithObject : public AliTrigEvent {
      82             : 
      83             : public:
      84           0 :   AliTrigEventWithObject() : AliTrigEvent(), fValue(0), fType() {}
      85             :   AliTrigEventWithObject(const char *name, const char *classname);
      86             :   AliTrigEventWithObject(const AliTrigEventWithObject &other);
      87           0 :   virtual ~AliTrigEventWithObject() {}
      88             :   
      89             :   AliTrigEventWithObject   &operator=(const AliTrigEventWithObject &other);
      90             :   virtual Bool_t            ImportData(AliTrigEvent *source);
      91           0 :   virtual const char       *GetType() const {return fType;}
      92             :   virtual Bool_t            SetType(const char *classname);
      93           0 :   TObject                  *GetValue() const {return fValue;}
      94             :   Bool_t                    SetValue(TObject *value);
      95             : 
      96             : private:
      97             :   TObject                  *fValue;  // Embedded object
      98             :   TString                   fType;   // Object type
      99             :      
     100          12 :   ClassDef(AliTrigEventWithObject,1)  // Signal embedding an object.
     101             : };
     102             : 
     103             : #endif

Generated by: LCOV version 1.11