LCOV - code coverage report
Current view: top level - HLT/BASE - AliHLTTriggerDecision.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 3 12 25.0 %
Date: 2016-06-14 17:26:59 Functions: 4 16 25.0 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : #ifndef ALIHLTTRIGGERDECISION_H
       4             : #define ALIHLTTRIGGERDECISION_H
       5             : /* This file is property of and copyright by the ALICE HLT Project        *
       6             :  * ALICE Experiment at CERN, All rights reserved.                         *
       7             :  * See cxx source for full Copyright notice                               */
       8             : 
       9             : /// @file   AliHLTTriggerDecision.h
      10             : /// @author Artur Szostak <artursz@iafrica.com>
      11             : /// @date   21 Nov 2008
      12             : /// @brief  Declaration of the AliHLTTriggerDecision class storing the a AliHLTTrigger component's decision.
      13             : 
      14             : #include "TString.h"
      15             : #include "AliHLTReadoutList.h"
      16             : #include "AliHLTTriggerDomain.h"
      17             : 
      18             : /**
      19             :  * \class AliHLTTriggerDecision
      20             :  * Stores the information and result of a trigger decision made by a component
      21             :  * deriving from AliHLTTrigger. The information includes the DDL readout list
      22             :  * indicating which DDLs to readout and the trigger domain specifying which HLT
      23             :  * raw data blocks to forward to HLTOUT.
      24             :  */
      25             : class AliHLTTriggerDecision : public TObject
      26             : {
      27             :  public:
      28             :   
      29             :   /**
      30             :    * Default constructor.
      31             :    */
      32             :   AliHLTTriggerDecision();
      33             :   
      34             :   /**
      35             :    * Copy constructor performs a deep copy.
      36             :    */
      37             :   AliHLTTriggerDecision(const AliHLTTriggerDecision& obj);
      38             :   
      39             :   /**
      40             :    * Constructor specifying the result and trigger name.
      41             :    * \param result  The result of the trigger decision.
      42             :    * \param name  The name of the trigger decision. Should be the name of the
      43             :    *     AliHLTTrigger component.
      44             :    */
      45             :   AliHLTTriggerDecision(bool result, const char* name);
      46             :   
      47             :   /**
      48             :    * Constructor specifying all information fields.
      49             :    * \param result  The result of the trigger decision.
      50             :    * \param name  The name of the trigger decision. Should be the name of the
      51             :    *     AliHLTTrigger component.
      52             :    * \param triggerDomain  The trigger domain for the trigger decision.
      53             :    * \param description  The description of (reason for) the trigger decision.
      54             :    */
      55             :   AliHLTTriggerDecision(
      56             :       bool result, const char* name, const AliHLTTriggerDomain& triggerDomain,
      57             :       const char* description = ""
      58             :     );
      59             :   
      60             :   /**
      61             :    * Default destructor.
      62             :    */
      63             :   virtual ~AliHLTTriggerDecision();
      64             :   
      65             :   /**
      66             :    * Inherited from TObject. Returns the name of the trigger decision.
      67             :    */
      68          72 :   virtual const char* GetName() const { return fName.Data(); }
      69             :   
      70             :   /**
      71             :    * Inherited from TObject. Returns the description of the trigger decision.
      72             :    */
      73          16 :   virtual const char* GetTitle() const { return fDescription.Data(); }
      74             :   
      75             :   /**
      76             :    * Inherited from TObject. This prints the contents of the trigger decision.
      77             :    * \param option  Can be "short" which will print the short format.
      78             :    */
      79             :   virtual void Print(Option_t* option = "") const;
      80             : 
      81             :   /**
      82             :    * Inherited from TObject. Copy this to the specified object.
      83             :    */
      84             :   virtual void Copy(TObject &object) const;
      85             : 
      86             :   /**
      87             :    * Inherited from TObject. Create a new clone.
      88             :    */
      89             :   virtual TObject *Clone(const char *newname="") const;
      90             : 
      91             :   /**
      92             :    * Inherited from TObject. Return the result of the trigger.
      93             :    * @return   "0" or "1" (note: its a string)
      94             :    */
      95             :   virtual Option_t *GetOption() const;
      96             : 
      97             :   /**
      98             :    * Returns the result of the trigger decision.
      99             :    * \returns true if the event was triggered and should be readout.
     100             :    */
     101           0 :   bool EventTriggered() const { return Result(); }
     102             :   
     103             :   /**
     104             :    * Returns the result of the trigger decision.
     105             :    * The decision is stored in bit 15 of the fBits field.
     106             :    * \returns true if the event was triggered and should be readout.
     107             :    */
     108             :   bool Result() const;
     109             :   
     110             :   /**
     111             :    * Sets the result of the trigger decision.
     112             :    * The decision is stored in bit 15 of the fBits field.
     113             :    * \param value  The value to set; true if the event triggered and should be
     114             :    *     readout and false otherwise.
     115             :    */
     116             :   void Result(bool value);
     117             :   
     118             :   /**
     119             :    * Returns the name of the trigger decision.
     120             :    */
     121           0 :   const char* Name() const { return fName.Data(); }
     122             :   
     123             :   /**
     124             :    * Sets the name of the trigger decision.
     125             :    */
     126           0 :   void Name(const char* name) { fName = name; }
     127             :   
     128             :   /**
     129             :    * Returns the description of (reason for) the trigger decision.
     130             :    */
     131           0 :   const char* Description() const { return fDescription.Data(); }
     132             :   
     133             :   /**
     134             :    * Sets the description of the trigger decision.
     135             :    */
     136           0 :   void Description(const char* value) { fDescription = value; }
     137             :   
     138             :   /**
     139             :    * Returns the DDL readout list associated with this trigger decision.
     140             :    */
     141           0 :   AliHLTReadoutList ReadoutList() const { return AliHLTReadoutList(fTriggerDomain); }
     142             :   
     143             :   /**
     144             :    * Sets the DDL readout list associated with this trigger decision.
     145             :    */
     146             :   void ReadoutList(const AliHLTReadoutList& value);
     147             :   
     148             :   /**
     149             :    * Returns the trigger domain associated with this trigger decision.
     150             :    */
     151           0 :   const AliHLTTriggerDomain& TriggerDomain() const { return fTriggerDomain; }
     152             :   
     153             :   /**
     154             :    * Returns the trigger domain associated with this trigger decision for editing.
     155             :    */
     156           0 :   AliHLTTriggerDomain& TriggerDomain() { return fTriggerDomain; }
     157             :   
     158             :   /**
     159             :    * Sets the trigger domain associated with this trigger decision.
     160             :    */
     161           0 :   void TriggerDomain(const AliHLTTriggerDomain& value) { fTriggerDomain = value; }
     162             :   
     163             :   /**
     164             :    * Assignment operator performs a deep copy.
     165             :    */
     166             :   AliHLTTriggerDecision& operator = (const AliHLTTriggerDecision& obj);
     167             :   
     168             :   /**
     169             :    * This method clears the trigger domain and sets the decision result to false.
     170             :    * \param  option  This is passed onto the trigger domain clear method.
     171             :    * The method is inherited from TObject.
     172             :    */
     173             :   virtual void Clear(Option_t* option = "C");
     174             :   
     175             :  private:
     176             :   
     177             :   TString fName; /// The name of the trigger decision. Should be the name of the trigger component that generated it.
     178             :   TString fDescription; /// Optional descriptive text giving the reason for the trigger.
     179             :   AliHLTTriggerDomain fTriggerDomain;  /// The trigger domain associated with this trigger. i.e. the HLT data blocks to read out.
     180             :   
     181         134 :   ClassDef(AliHLTTriggerDecision, 2) // HLT trigger decision object storing information about the readout list, trigger domain and result.
     182             : };
     183             : 
     184             : #endif // ALIHLTTRIGGERDECISION_H
     185             : 

Generated by: LCOV version 1.11