]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/EMCAL/AliHLTEMCALClusterizerComponent.h
bugfix: using correct detector string for the setup of the AliHLTCaloMapper class
[u/mrichter/AliRoot.git] / HLT / EMCAL / AliHLTEMCALClusterizerComponent.h
1 //-*- Mode: C++ -*-
2 #ifndef ALIHLTEMCALCLUSTERIZERCOMPONENT_H
3 #define ALIHLTEMCALCLUSTERIZERCOMPONENT_H
4
5 //* This file is property of and copyright by the ALICE HLT Project        * 
6 //* ALICE Experiment at CERN, All rights reserved.                         *
7 //* See cxx source for full Copyright notice                               */
8
9 /** @file   AliHLTEMCALClusterizerComponent.h
10     @author Matthias Richter, Timm Steinbeck
11     @date   
12     @brief  A sample processing component for the HLT.
13 */
14
15 #include "AliHLTProcessor.h"
16
17 /**
18  * @class AliHLTEMCALClusterizerComponent
19  */
20
21 class TFile;
22 class TGeoManager;
23 class AliEMCALClusterizer;
24 class AliCDBManager;
25 class AliRawReaderMemory;  
26
27 class AliHLTEMCALClusterizerComponent : public AliHLTProcessor {
28 public:
29   AliHLTEMCALClusterizerComponent();
30   AliHLTEMCALClusterizerComponent(const AliHLTEMCALClusterizerComponent& c);
31   virtual ~AliHLTEMCALClusterizerComponent();
32
33   AliHLTEMCALClusterizerComponent& operator=(const AliHLTEMCALClusterizerComponent&);
34
35   // AliHLTComponent interface functions
36   const char* GetComponentID();
37   void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
38   AliHLTComponentDataType GetOutputDataType();
39   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
40
41   // Spawn function, return new class instance
42   AliHLTComponent* Spawn() {return new AliHLTEMCALClusterizerComponent;};
43
44  protected:
45   // AliHLTComponent interface functions
46   int DoInit( int argc, const char** argv );
47   int DoDeinit();
48   int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
49                        AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
50                        AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
51   int Reconfigure(const char* cdbEntry, const char* chainId);
52   int ReadPreprocessorValues(const char* modules);
53
54   using AliHLTProcessor::DoEvent;
55
56 private:
57   /**
58    * Configure the component.
59    * Parse a string for the configuration arguments and set the component
60    * properties.
61    *
62    * This function illustrates the scanning of an argument string. The string
63    * was presumably fetched from the CDB.
64    */
65   int Configure(const char* arguments);
66
67   unsigned             fOutputPercentage;    // Output volume in percentage of the input  
68   string               fStorageDBpath;      // Default path for OCDB
69   
70   AliCDBManager       *fCDB;                 //! Pointer to OCDB
71   string               fGeometryFileName;    // Path to geometry file - geom handled by the utils
72   
73   ClassDef(AliHLTEMCALClusterizerComponent, 1)
74 };
75 #endif