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

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id: AliHLTCaloClusterizerComponent.h 36636 2009-11-11 02:16:41Z odjuvsla $
       3             : 
       4             : 
       5             : /**************************************************************************
       6             :  * This file is property of and copyright by the ALICE HLT Project        *
       7             :  * All rights reserved.                                                   *
       8             :  *                                                                        *
       9             :  * Primary Authors: Oystein Djuvsland                                     *
      10             :  *                                                                        *
      11             :  * Permission to use, copy, modify and distribute this software and its   *
      12             :  * documentation strictly for non-commercial purposes is hereby granted   *
      13             :  * without fee, provided that the above copyright notice appears in all   *
      14             :  * copies and that both the copyright notice and this permission notice   *
      15             :  * appear in the supporting documentation. The authors make no claims     *
      16             :  * about the suitability of this software for any purpose. It is          *
      17             :  * provided "as is" without express or implied warranty.                  *
      18             :  **************************************************************************/
      19             : 
      20             : #ifndef ALIHLTCALOCLUSTERIZERCOMPONENT_H
      21             : #define ALIHLTCALOCLUSTERIZERCOMPONENT_H
      22             : 
      23             : 
      24             : 
      25             : /**
      26             :  * Clusterizer component for PHOS HLT
      27             :  *
      28             :  * @file   AliHLTCaloClusterizerComponent.h
      29             :  * @author Oystein Djuvsland
      30             :  * @date
      31             :  * @brief  A clusterizer component for PHOS HLT
      32             : */
      33             : 
      34             : // see below for class documentation
      35             : // or
      36             : // refer to README to build package
      37             : // or
      38             : // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
      39             : 
      40             : #include "AliHLTCaloConstantsHandler.h"
      41             : #include "AliHLTCaloProcessor.h"
      42             : 
      43             : class AliHLTCaloRecoParamHandler;
      44             : class AliHLTCaloDigitDataStruct;
      45             : class AliHLTCaloDigitContainerDataStruct;
      46             : class AliHLTCaloClusterizer;
      47             : class AliHLTCaloClusterAnalyser;
      48             : class AliHLTCaloRecPointDataStruct;
      49             : class AliHLTPHOSHistoProdClusterEnergy;
      50             : 
      51             : /**
      52             :  * @class AliHLTCaloClusterizerComponent
      53             :  *
      54             :  * Class for running clusterization for PHOS in HLT. It takes digits as input and
      55             :  * gives reconstruction points as output.
      56             :  *
      57             :  * The component has the following component arguments:
      58             :  * -clusterthreshold       The energy threshold for starting a new rec point
      59             :  * -energythreshold        The energy threshold for including a digit in a
      60             :  *                         rec point
      61             :  * @ingroup alihlt_phos
      62             :  */
      63             : 
      64             : /**
      65             :  * @class AliHLTCaloClusterizerComponent
      66             :  *
      67             :  * Class for running clusterization for PHOS in HLT.
      68             :  *
      69             :  * <h2>General properties:</h2>
      70             :  *
      71             :  * Component ID: \b PhosClusterizer <br>
      72             :  * Library: \b libAliHLTPHOS.so     <br>
      73             :  * Input Data Types: @ref AliHLTPHOSDefinitions::fgkDigitDataType<br>
      74             :  * Output Data Types: @ref AliHLTPHOSDefinitions::fgkRecPointDataType<br>
      75             :  *
      76             :  * <h2>Mandatory arguments:</h2>
      77             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      78             :  * \li No mandatory arguments for component                           <br>
      79             :  *
      80             :  * <h2>Optional arguments:</h2>
      81             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      82             :  * \li -digitthreshold      <i> value </i> <br>
      83             :  *      threshold for a digit to be added to a rec point in GeV (default value: 0.03)
      84             :  * \li -recpointthreshold <i> value </i> <br>
      85             :  *      threshold for starting a new rec point  (default value: 0.2)
      86             :  * \li -partitionmode
      87             :  *      if we want to do clusterisation on the partition level (not available...) (defaul value: false)
      88             :  *
      89             :  * <h2>Configuration:</h2>
      90             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      91             :  * \li No configuration arguments
      92             :  *
      93             :  * <h2>Default CDB entries:</h2>
      94             :  * \li No CDB entry yet, will come.
      95             :  *
      96             :  * <h2>Performance:</h2>
      97             :  * Pretty good (~ 3 kHz), depends on amount of data...
      98             :  *
      99             :  * <h2>Memory consumption:</h2>
     100             :  * Depends on the amount of data, but pretty godd
     101             :  *
     102             :  * <h2>Output size:</h2>
     103             :  * Depends on the amount of data...
     104             :  *
     105             :  * More detailed description. (At some point...)
     106             :  *
     107             :  * @ingroup alihlt_phos
     108             :  */
     109             : 
     110             : //class AliHLTCaloClusterizerComponent : public AliHLTCaloConstantsHandler, public AliHLTCaloProcessor
     111             : class AliHLTCaloClusterizerComponent : public AliHLTCaloProcessor, public AliHLTCaloConstantsHandler
     112             :   {
     113             :   public:
     114             : 
     115             :     /** Constructor */
     116             :     AliHLTCaloClusterizerComponent(TString det);
     117             : 
     118             :     /** Destructor */
     119             :     virtual ~AliHLTCaloClusterizerComponent();
     120             : 
     121             :     /** interface function, see @ref AliHLTComponent for description */
     122             : 
     123             :     using  AliHLTCaloProcessor::DoEvent;
     124             : 
     125             :     int DoEvent ( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
     126             :                   AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
     127             :                   std::vector<AliHLTComponentBlockData>& outputBlocks );
     128             : 
     129             :     /** 
     130             :      * Compare two digits, used during the sorting
     131             :      */
     132             :     static Int_t CompareDigits(const void *dig0, const void *dig);
     133             :     
     134             :   protected:
     135             : 
     136             :     /** interface function, see @ref AliHLTComponent for
     137             :         description */
     138             :     virtual int DoInit ( int argc, const char** argv );
     139             : 
     140             :     /** interface function, see @ref AliHLTComponent for description */
     141             :     virtual int DoDeinit();
     142             : 
     143             :     /** Initialise geometry objects */
     144             :     virtual Int_t InitialiseGeometry() = 0;
     145             : 
     146             :     /** interface function, see @ref AliHLTComponent for description */
     147             :     int Reconfigure ( const char* cdbEntry, const char* chainId );
     148             : 
     149             :     /** interface function, see @ref AliHLTComponent for description */
     150             :     int ScanConfigurationArgument ( int argc, const char** argv );
     151             :     
     152             :      /** The data origin */
     153             :     char* fDataOrigin;                           //COMMENT
     154             : 
     155             :     /** Pointer to the cluster analyser */
     156             :     AliHLTCaloClusterAnalyser *fAnalyserPtr;                         //! transient
     157             :     
     158             :     /** Pointer to reconstruction parameters handler */
     159             :     AliHLTCaloRecoParamHandler *fRecoParamsPtr; //! transient
     160             :     
     161             :     /** Pointer to the clusterizer it self */
     162             :     AliHLTCaloClusterizer* fClusterizerPtr;                       //! transient
     163             :     
     164             :   private:
     165             : 
     166             :     /** Array of pointers to our digits */
     167             :     AliHLTCaloDigitDataStruct **fDigitsPointerArray;              //! transient
     168             :     
     169             :     /** Array of pointers to our digits */
     170             :     AliHLTCaloDigitDataStruct *fOutputDigitsArray;              //! transient
     171             :     
     172             :     /** Number of digits in event */
     173             :     Int_t fDigitCount;                                            //COMMENT
     174             :     
     175             :     /** Copy digits to output? */
     176             :     Bool_t fCopyDigitsToOuput; //COMMENT
     177             : 
     178             :     /** Use input specification as output specification */
     179             :     Bool_t fUseInputSpec;
     180             :   
     181             :     
     182             :     /** Default constructor, not implemented */
     183             :     AliHLTCaloClusterizerComponent();                             //COMMENT
     184             : 
     185             :     /** Copy constructor  not implemented */
     186             :     AliHLTCaloClusterizerComponent ( const AliHLTCaloClusterizerComponent &); // not implemented
     187             :     
     188             :     /** Assignment */
     189             :     AliHLTCaloClusterizerComponent & operator = ( const AliHLTCaloClusterizerComponent &); // not implemented
     190             :     
     191           6 :     ClassDef(AliHLTCaloClusterizerComponent, 0);
     192             :    
     193             :   };
     194             : 
     195             : #endif

Generated by: LCOV version 1.11