LCOV - code coverage report
Current view: top level - HLT/VZERO - AliHLTVZERORecoComponent.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 1 5 20.0 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : 
       4             : #ifndef ALIHLTVZERORECOCOMPONENT_H
       5             : #define ALIHLTVZERORECOCOMPONENT_H
       6             : 
       7             : /* This file is property of and copyright by the ALICE HLT Project        * 
       8             :  * ALICE Experiment at CERN, All rights reserved.                         *
       9             :  * See cxx source for full Copyright notice                               */
      10             : 
      11             : /** @file    AliHLTVZERORecoComponent.h
      12             :     @author  Jochen Thaeder <jochen@thaeder.de>
      13             :     @brief   VZERO reconstruction component
      14             : */
      15             : 
      16             : // see below for class documentation
      17             : // or
      18             : // refer to README to build package
      19             : // or
      20             : // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
      21             : 
      22             : 
      23             : #include "AliHLTProcessor.h"
      24             : 
      25             : class TTree;
      26             : 
      27             : class AliRunInfo;
      28             : class AliESDVZERO;
      29             : class AliRawReaderMemory;
      30             : class AliVZERORecoParam;
      31             : class AliVZEROReconstructor;
      32             : 
      33             : /**
      34             :  * @class AliHLTVZERORecoComponent
      35             :  * Reconstruction of VZERO data
      36             :  * 
      37             :  * <h2>General properties:</h2>
      38             :  *
      39             :  * Component ID: \b VZEROReconstruction <br>
      40             :  * Library: \b libAliHLTVZERO.so     <br>
      41             :  * Input Data Types:  @ref kAliHLTDataTypeDDLRaw <br>
      42             :  * Output Data Types: @ref kAliHLTDataTypeESDContent|kAliHLTDataOriginVZERO <br>
      43             :  *
      44             :  * <h2>Mandatory arguments:</h2>
      45             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> 
      46             :  *
      47             :  * <h2>Optional arguments:</h2>
      48             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      49             :  *
      50             :  * <h2>Configuration:</h2>
      51             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      52             :  *
      53             :  * <h2>Default CDB entries:</h2>
      54             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      55             :  *
      56             :  * <tt>HLT/ConfigVZERO/VZEROReconstruction</tt>
      57             :  * \li -TObjString object holding a string with the configuration parameters
      58             :  *      currently empty 
      59             :  *
      60             :  * <tt>GRP/GRP/Data</tt>
      61             :  * \li -GRP object - run information
      62             :  *
      63             :  *  <tt>GRP/CTP/CTPtiming</tt>
      64             :  * \li -GRP object - CTP information
      65             :  *
      66             :  * <tt>GRP/CTP/TimeAlign</tt>
      67             :  * \li -GRP object - CTP information
      68             :  * 
      69             :  * <tt>GRP/Calib/LHCClockPhase</tt>
      70             :  * \li -GRP object - time calibration
      71             :  *
      72             :  * <tt>VZERO/Calib/Data</tt>
      73             :  * \li -VZERO calibration object
      74             :  *
      75             :  * <tt>VZERO/Calib/TimeDelays</tt>
      76             :  * \li -VZERO calibration object
      77             :  *
      78             :  * <tt>VZERO/Calib/TimeSlewing</tt>
      79             :  * \li -VZERO calibration object
      80             :  *
      81             :  * <h2>Performance:</h2>
      82             :  *
      83             :  * <h2>Memory consumption:</h2>
      84             :  *
      85             :  * <h2>Input size:</h2>
      86             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      87             :  *
      88             :  * \li pp: 5968 Byte
      89             :  *
      90             :  * <h2>Output size:</h2>
      91             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      92             :  *
      93             :  * \li pp: Average : 1.8 kByte
      94             :  *
      95             :  * <h2>Macros Tests</h2>
      96             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      97             :  *
      98             :  * <tt>macros/makeConfigurationObjectVZEROReconstruction.C</tt>
      99             :  * \li - Create configuration TObjString
     100             :  *
     101             :  * <tt>macros/HLTVZEROTest.C</tt>
     102             :  * \li - Test macro for VZERO test in off-line environment
     103             :  *
     104             :  * <tt>macros/runVZEROTest.sh</tt>
     105             :  * \li - Run Test macro HLTVZEROTest.C
     106             :  *
     107             :  * @ingroup alihlt_vzero
     108             :  */
     109             : class AliHLTVZERORecoComponent : public AliHLTProcessor {
     110             : public:
     111             : 
     112             :   /*
     113             :    * ---------------------------------------------------------------------------------
     114             :    *                            Constructor / Destructor
     115             :    * ---------------------------------------------------------------------------------
     116             :    */
     117             : 
     118             :   /** constructor */
     119             :   AliHLTVZERORecoComponent();
     120             :   
     121             :   /** destructor */
     122             :   virtual ~AliHLTVZERORecoComponent();
     123             : 
     124             :   /*
     125             :    * ---------------------------------------------------------------------------------
     126             :    * Public functions to implement AliHLTComponent's interface.
     127             :    * These functions are required for the registration process
     128             :    * ---------------------------------------------------------------------------------
     129             :    */
     130             : 
     131             :   /** interface function, see @ref AliHLTComponent for description */
     132             :   const Char_t* GetComponentID();
     133             : 
     134             :   /** interface function, see @ref AliHLTComponent for description */
     135             :   void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
     136             : 
     137             :   /** interface function, see @ref AliHLTComponent for description */
     138             :   AliHLTComponentDataType GetOutputDataType();
     139             :   int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
     140             : 
     141             :   /** interface function, see @ref AliHLTComponent for description */
     142             :   void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier );
     143             : 
     144             :   /** interface function, see @ref AliHLTComponent for description */
     145             :   void GetOCDBObjectDescription( TMap* const targetMap);
     146             : 
     147             :   /** interface function, see @ref AliHLTComponent for description */
     148             :   AliHLTComponent* Spawn();
     149             : 
     150             :  protected:
     151             : 
     152             :   /*
     153             :    * ---------------------------------------------------------------------------------
     154             :    * Protected functions to implement AliHLTComponent's interface.
     155             :    * These functions provide initialization as well as the actual processing
     156             :    * capabilities of the component. 
     157             :    * ---------------------------------------------------------------------------------
     158             :    */
     159             : 
     160             :   // AliHLTComponent interface functions
     161             : 
     162             :   /** interface function, see @ref AliHLTComponent for description */
     163             :   Int_t DoInit( Int_t argc, const Char_t** argv );
     164             : 
     165             :   /** interface function, see @ref AliHLTComponent for description */
     166             :   Int_t DoDeinit();
     167             : 
     168             :   /** interface function, see @ref AliHLTComponent for description */
     169             :   Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
     170             : 
     171             :   using AliHLTProcessor::DoEvent;
     172             : 
     173             :   /** interface function, see @ref AliHLTComponent for description */
     174             :   Int_t ScanConfigurationArgument(Int_t argc, const Char_t** argv);
     175             : 
     176             :   /** interface function, see @ref AliHLTComponent for description */
     177             :   Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId);
     178             : 
     179             :   /** interface function, see @ref AliHLTComponent for description */
     180             :   Int_t ReadPreprocessorValues(const Char_t* modules);
     181             :  
     182             :   ///////////////////////////////////////////////////////////////////////////////////
     183             :   
     184             : private:
     185             : 
     186             :   /*
     187             :    * ---------------------------------------------------------------------------------
     188             :    * Private functions to implement AliHLTComponent's interface.
     189             :    * These functions provide initialization as well as the actual processing
     190             :    * capabilities of the component. 
     191             :    * ---------------------------------------------------------------------------------
     192             :    */
     193             : 
     194             :   /** copy constructor prohibited */
     195             :   AliHLTVZERORecoComponent(const AliHLTVZERORecoComponent&);
     196             : 
     197             :   /** assignment operator prohibited */
     198             :   AliHLTVZERORecoComponent& operator=(const AliHLTVZERORecoComponent&);
     199             : 
     200             :   /*
     201             :    * ---------------------------------------------------------------------------------
     202             :    *                             Members - private
     203             :    * ---------------------------------------------------------------------------------
     204             :    */
     205             :   
     206             :   /** runInfo Object */
     207             :   AliRunInfo            *fRunInfo;            // see above
     208             : 
     209             :   /** VZERO reco param instance */
     210             :   AliVZERORecoParam     *fVZERORecoParam;     //! transient
     211             : 
     212             :   /** VZERO reconstructor instance */
     213             :   AliVZEROReconstructor *fVZEROReconstructor; //! transient
     214             : 
     215             :   /** Rawreader instance */
     216             :   AliRawReaderMemory    *fRawReader;          //! transient
     217             :   
     218           6 :   ClassDef(AliHLTVZERORecoComponent, 0)
     219             : };
     220             : #endif

Generated by: LCOV version 1.11