LCOV - code coverage report
Current view: top level - HLT/TPCLib - AliHLTTPCCFComparisonComponent.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             : // XEmacs -*-C++-*-
       2             : // $Id$
       3             : 
       4             : #ifndef ALIHLTTPCCFCOMPARISONCOMPONENT_H
       5             : #define ALIHLTTPCCFCOMPARISONCOMPONENT_H
       6             : //* This file is property of and copyright by the ALICE HLT Project        * 
       7             : //* ALICE Experiment at CERN, All rights reserved.                         *
       8             : //* See cxx source for full Copyright notice                               *
       9             : 
      10             : /// @file   AliHLTTPCCFComparisonComponent.h
      11             : /// @author Kalliopi Kanaki
      12             : /// @date   
      13             : /// @brief  Comparison component for FCF and SCF
      14             : ///
      15             : 
      16             : #include "AliHLTProcessor.h"
      17             : #include "AliHLTTPCSpacePointData.h"
      18             : 
      19             : class TNtuple;
      20             : class TH1F;
      21             : 
      22             : /**
      23             :  * @class AliHLTTPCCFComparisonComponent
      24             :  * Component for plotting proparties of Tracks. 
      25             :  * The component gives out 2 NTuples. One for cluster and one for track properties
      26             :  * 
      27             :  * <h2>General properties:</h2> 
      28             :  *
      29             :  * Component ID: \b TPCCFComparison <br>
      30             :  * Library: \b libAliHLTTPC.so <br>
      31             :  * Input Data Types: AliHLTTPCDefinitions::fgkClustersDataType,
      32             :  *                   AliHLTTPCDefinitions::fgkTracksDataType <br>
      33             :  * Output Data Types: ::kAliHLTDataTypeTNtuple <br> 
      34             :  *
      35             :  * <h2> Mandatory arguments: </h2>
      36             :  * \li No mandaroty arguments. 
      37             :  * 
      38             :  * <h2> Optional arguments: </h2>
      39             :  * 
      40             :  * <h2>Configuration:</h2>
      41             :  * 
      42             :  *
      43             :  * <h2>Default CDB entries:</h2>
      44             :  * The component has for now no CDB entry
      45             :  *
      46             :  * <h2>Performance:</h2>
      47             :  * Not Tested 
      48             :  *
      49             :  * <h2>Memory consumption:</h2>
      50             :  * Not Tested
      51             :  *
      52             :  * <h2>Output size:</h2>
      53             :  * Size variables in Ntuple
      54             :  *
      55             :  * @ingroup alihlt_tpc_components
      56             :  */
      57             : class AliHLTTPCCFComparisonComponent : public AliHLTProcessor
      58             : {
      59             : public:
      60             :   /** default constructor */
      61             :   AliHLTTPCCFComparisonComponent();
      62             :   /** destructor */
      63             :   virtual ~AliHLTTPCCFComparisonComponent();
      64             : 
      65             :   // Public functions to implement AliHLTComponent's interface.
      66             :   // These functions are required for the registration process
      67             : 
      68             :   /** interface function, see AliHLTComponent for description */
      69             :   const char* GetComponentID();
      70             :   /** interface function, see AliHLTComponent for description */
      71             :   void GetInputDataTypes(AliHLTComponentDataTypeList& list);
      72             :   /** interface function, see AliHLTComponent for description */
      73             :   AliHLTComponentDataType GetOutputDataType();
      74             :   /** interface function, see AliHLTComponent for description */
      75             :   int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
      76             :   /** interface function, see AliHLTComponent for description */
      77             :   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
      78             :   /** interface function, see AliHLTComponent for description */
      79             :   AliHLTComponent* Spawn();
      80             :   /** interface function, see @ref AliHLTComponent for description */
      81             :   void GetOCDBObjectDescription( TMap* const targetMap);
      82             : 
      83             : protected:
      84             : 
      85             :   // Protected functions to implement AliHLTComponent's interface.
      86             :   // These functions provide initialization as well as the actual processing
      87             :   // capabilities of the component. 
      88             : 
      89             :   /** interface function, see AliHLTComponent for description */
      90             :   int DoInit( int argc, const char** argv );
      91             :   /** interface function, see AliHLTComponent for description */
      92             :   int DoDeinit();
      93             :   /** interface function, see AliHLTComponent for description */
      94             :   int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
      95             :   /** inherited from AliHLTComponent: handle re-configuration event */
      96             :   int Reconfigure(const char* cdbEntry, const char* chainId);
      97             :   /** inherited from AliHLTComponent, scan one argument and its parameters */
      98             :   int ScanConfigurationArgument(int argc, const char** argv);
      99             : 
     100             :   using AliHLTProcessor::DoEvent;
     101             :   
     102             : private:
     103             :   /** copy constructor prohibited */
     104             :   AliHLTTPCCFComparisonComponent(const AliHLTTPCCFComparisonComponent&);
     105             :   /** assignment operator prohibited */
     106             :   AliHLTTPCCFComparisonComponent& operator=(const AliHLTTPCCFComparisonComponent&);
     107             :   /**
     108             :    * Configure the component.
     109             :    * Parse a string for the configuration arguments and set the component
     110             :    * properties.
     111             :    */ 
     112             :   
     113             :   void ReadTracks(const AliHLTComponentBlockData* iter,Int_t &tt);
     114             : 
     115             :   void PushHisto();
     116             :  
     117             :   Int_t fEvtMod;     //! number of events reached to reset the counter
     118             :   Int_t fBufferSize; //! size of circular buffer (number of entries) for the ntuples
     119             :  
     120             :   TH1F *fMultiplicity;     //! transient (track multiplicity by Z.Y.)
     121             : 
     122             :   TNtuple *fClusters;                             //! transient  
     123             :   TNtuple *fTracks;                               //! transient
     124             : 
     125             :   AliHLTTPCSpacePointData *fFCFClustersArray[36][6]; //! transient
     126             :   UInt_t                   fFCFNSpacePoints[36][6];  //! transient
     127             : 
     128             :   AliHLTTPCSpacePointData *fSCFClustersArray[36][6]; //! transient
     129             :   UInt_t                   fSCFNSpacePoints[36][6];  //! transient
     130             :   
     131             :   /** the default configuration entry for this component */
     132             :   static const char* fgkOCDBEntry; //!transient
     133             : 
     134           6 :   ClassDef(AliHLTTPCCFComparisonComponent, 0);
     135             : 
     136             : };
     137             : #endif

Generated by: LCOV version 1.11