LCOV - code coverage report
Current view: top level - HLT/TRD - AliHLTTRDPreprocessorComponent.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             : #ifndef ALIHLTTRDPREPROCESSORCOMPONENT_H
       4             : #define ALIHLTTRDPREPROCESSORCOMPONENT_H
       5             : 
       6             : //* This file is property of and copyright by the ALICE HLT/TRD Project    *
       7             : //* ALICE Experiment at CERN, All rights reserved.                         *
       8             : //* See cxx source for full Copyright notice                               */
       9             : 
      10             : /// @file   AliHLTTRDPreprocessorComponent.h
      11             : /// @author Felix Rettig, Stefan Kirsch
      12             : /// @date   2012-08-16
      13             : /// @brief  A FEP-level pre-processing component for TRD tracking/trigger data
      14             : /// @ingroup alihlt_trd_components
      15             : 
      16             : #include "AliHLTProcessor.h"
      17             : 
      18             : class AliRawReaderMemory;
      19             : class TTree;
      20             : class AliTRDdigitsManager;
      21             : class AliTRDrawStream;
      22             : class AliTRDonlineTrackingDataContainer;
      23             : class TH1F;
      24             : class TH1I;
      25             : class TH2I;
      26             : class TH2F;
      27             : class TClonesArray;
      28             : 
      29             : /**
      30             :  * @class AliHLTTRDPreprocessorComponent
      31             :  * Component fetches raw data input objects in DDL format and extracts tracklets and GTU tracks.
      32             :  *  It also instantiates a RawReader in order to be used with some reconstruction.
      33             :  *
      34             :  * More information and examples can be found here (relative to $ALICE_ROOT):
      35             :  *
      36             :  * -- HLT/BASE/AliHLTComponent.h/.cxx,  HLT/BASE/AliHLTProcessor.h/.cxx
      37             :  *    Interface definition and description
      38             :  * -- HLT/SampleLib: example implementations of components
      39             :  *
      40             :  *
      41             :  * <h2>General properties:</h2>
      42             :  *
      43             :  * Component ID: \b TRDPreprocessorComponent <br>
      44             :  * Library: \b libAliHLTTRD.so     <br>
      45             :  * Input Data Types: @ref kAliHLTDataTypeDDLRaw|kAliHLTDataOriginTRD <br>
      46             :  * Output Data Types: @ref kAliHLTTrackDataTypeID|kAliHLTDataOriginTRD <br>
      47             :  *
      48             :  * <h2>Mandatory arguments:</h2>
      49             :  * none
      50             :  *
      51             :  * <h2>Optional arguments:</h2>
      52             :  * none
      53             :  *
      54             :  * <h2>Configuration:</h2>
      55             :  * none
      56             :  *
      57             :  * <h2>Default CDB entries:</h2>
      58             :  * none
      59             :  *
      60             :  * <h2>Performance:</h2>
      61             :  * minmal
      62             :  *
      63             :  * <h2>Memory consumption:</h2>
      64             :  * don't know yet
      65             :  *
      66             :  * <h2>Output size:</h2>
      67             :  * not very much
      68             :  *
      69             :  * @ingroup The component has no output data.
      70             :  */
      71             : class AliHLTTRDPreprocessorComponent : public AliHLTProcessor {
      72             : public:
      73             :   AliHLTTRDPreprocessorComponent();
      74             :   virtual ~AliHLTTRDPreprocessorComponent();
      75             : 
      76             :   // AliHLTComponent interface functions
      77             :   const char* GetComponentID();
      78             :   void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
      79             :   AliHLTComponentDataType GetOutputDataType();
      80             :   int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
      81             :   void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
      82             :   void GetOCDBObjectDescription( TMap* const targetMap);
      83             : 
      84             :   // Spawn function, return new class instance
      85             :   AliHLTComponent* Spawn();
      86             : 
      87             :  protected:
      88             :   // AliHLTComponent interface functions
      89             :   int DoInit( int argc, const char** argv );
      90             :   int DoDeinit();
      91             :   int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
      92             :   int ScanConfigurationArgument(int argc, const char** argv);
      93             :   int Reconfigure(const char* cdbEntry, const char* chainId);
      94             :   int ReadPreprocessorValues(const char* modules);
      95             : 
      96             :   using AliHLTProcessor::DoEvent;
      97             : 
      98             : private:
      99             :   /** copy constructor prohibited */
     100             :   AliHLTTRDPreprocessorComponent(const AliHLTTRDPreprocessorComponent&);
     101             :   /** assignment operator prohibited */
     102             :   AliHLTTRDPreprocessorComponent& operator=(const AliHLTTRDPreprocessorComponent&);
     103             : 
     104             :   void DbgLog(const char* prefix, ...);
     105             : 
     106             :   // general
     107             :   static const AliHLTEventID_t fgkInvalidEventId = 18446744073709551615llu;
     108             : 
     109             :   UShort_t fDebugLevel;                              //! set debug checks/output level, 0: debug off
     110             :   AliHLTEventID_t fEventId;                          //! event ID
     111             : 
     112             :   // trd specific data
     113             :   TClonesArray* fTrackletArray;                      //! internal tracklet array
     114             :   TClonesArray *fGtuTrackArray;                      //! internal track array
     115             : 
     116             :   // rawreader instance
     117             :   AliRawReaderMemory* fRawReaderMem;                 //! TRD raw reader memory instance
     118             :   AliTRDdigitsManager *fDigitsManagerTrd;            //! TRD digits manager instance
     119             :   AliTRDrawStream*    fRawReaderTrd;                 //! TRD raw stream instance
     120             : 
     121             :   AliTRDonlineTrackingDataContainer* fTrackingData;  //! internal tracking data container
     122             : 
     123           6 :   ClassDef(AliHLTTRDPreprocessorComponent, 0)
     124             : };
     125             : 
     126             : #endif

Generated by: LCOV version 1.11