LCOV - code coverage report
Current view: top level - HLT/TRD - AliHLTTRDTrackerV1Component.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 2 50.0 %
Date: 2016-06-14 17:26:59 Functions: 1 10 10.0 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : #ifndef ALIHLTTRDTRACKERV1COMPONENT_H
       4             : #define ALIHLTTRDTRACKERV1COMPONENT_H
       5             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       6             :  * See cxx source for full Copyright notice                               */
       7             : 
       8             : /** @file   AliHLTTRDTrackerV1Component.h
       9             :     @author Theodor Rascanu
      10             :     @date   
      11             :     @brief  Declaration of a TRDTracker component. */
      12             : 
      13             : #include "AliHLTProcessor.h"
      14             : #include "AliESDEvent.h"
      15             : 
      16             : class TFile;
      17             : class TGeoManager;
      18             : class AliCDBManager;
      19             : class AliMagF;
      20             : class AliTRDtrackerV1;
      21             : class AliTRDrecoParam;
      22             : class AliTRDReconstructor;
      23             : class TClonesArray;
      24             : class TBuffer;
      25             : 
      26             : /**
      27             :  * @class AliHLTTRDTrackerV1Component
      28             :  * @brief A TRDTrackerV1 HLT processing component. 
      29             :  *
      30             :  * Uses the second generation TRD tracker AliTRDtrackerV1
      31             :  */
      32             : 
      33             : class AliHLTTRDTrackerV1Component : public AliHLTProcessor
      34             : {
      35             : protected:
      36             : 
      37           0 :   class AliHLTTRDESDEvent : public AliESDEvent
      38             :   {
      39             :     // Here we use our own slim version of AliESDEvent 
      40             :     // by overwriting AliESDEvent::CreateStdContent
      41             :   public:
      42             :     void CreateStdContent();
      43             : 
      44             :     // streamer function is prohibited, class for internal use only
      45             :     void Streamer(TBuffer &R__b);
      46             :   };
      47             : 
      48             : public:
      49             :   AliHLTTRDTrackerV1Component();
      50             :   virtual ~AliHLTTRDTrackerV1Component();
      51             : 
      52             :   // Public functions to implement AliHLTComponent's interface.
      53             :   // These functions are required for the registration process
      54             : 
      55             :   const char* GetComponentID();
      56             :   void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
      57             :   AliHLTComponentDataType GetOutputDataType();
      58             :   int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
      59             :   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
      60             :   AliHLTComponent* Spawn();
      61             :   void GetOCDBObjectDescription(TMap* const targetMap);
      62             : 
      63             : protected:
      64             :   // Protected functions to implement AliHLTComponent's interface.
      65             :   // These functions provide initialization as well as the actual processing
      66             :   // capabilities of the component. 
      67             : 
      68             :   int DoInit( int argc, const char** argv );
      69             :   int DoDeinit();
      70             :   int DoEvent( const AliHLTComponentEventData& evtData, 
      71             :                const AliHLTComponentBlockData* blocks, 
      72             :                AliHLTComponent_TriggerData& /*trigData*/, 
      73             :                AliHLTUInt8_t* outputPtr, 
      74             :                AliHLTUInt32_t& size, 
      75             :                vector<AliHLTComponent_BlockData>& outputBlocks );
      76             :   int Reconfigure(const char* cdbEntry, const char* chainId);
      77             :   int ReadPreprocessorValues(const char* modules);
      78             : 
      79             :   using AliHLTProcessor::DoEvent;
      80             :   
      81             :   int Configure(const char* arguments);
      82             :   virtual int SetParams();
      83             : 
      84             : protected:
      85             :   /** copy constructor prohibited */
      86             :   AliHLTTRDTrackerV1Component(const AliHLTTRDTrackerV1Component&);
      87             :   /** assignment operator prohibited */
      88             :   AliHLTTRDTrackerV1Component& operator=(const AliHLTTRDTrackerV1Component&);
      89             : 
      90             :   // The size of the output data produced, as a percentage of the input data's size.
      91             :   // Can be greater than 100 (%)
      92             :   unsigned fOutputPercentage; // Output volume in percentage of the input
      93             :         
      94             :   AliTRDtrackerV1 *fTracker;//! Offline-pure/HLT tracker V1
      95             :   AliTRDrecoParam *fRecoParam; //! Offline reco params
      96             :   AliTRDReconstructor* fReconstructor;
      97             :   AliHLTTRDESDEvent* fESD;
      98             : 
      99             :   TClonesArray* fClusterArray;
     100             : 
     101             :   Int_t fRecoParamType;       // default will be the low flux
     102             :   Int_t fNtimeBins;           // number of time bins for the tracker to use
     103             :   Int_t fPIDmethod;           // 0=LikelyHood(LH) 1=NeuronalNetwork(NN) 2=TruncatedMean(TM)
     104             :   TString fgeometryFileName;
     105             :   Bool_t fHLTflag;            // use HLT flag in reconstructor
     106             :   Bool_t fOutputV1Tracks;     // output TRD tracks, needed for calibration and ESDfriends
     107             :   Bool_t fHighLevelOutput;    // do we what to have high level output (only for debuging)
     108             :   Bool_t fEmulateHLTTracks;   // for debugging data containers
     109             :   Bool_t fImproveTracklets;   // improve tracklets?
     110             : 
     111           6 :   ClassDef(AliHLTTRDTrackerV1Component, 4)
     112             : 
     113             : };
     114             : #endif

Generated by: LCOV version 1.11