new classes for cosmic calibration
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterizerComponent.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 /** @file   AliHLTPHOSClusterizerComponent.h
5     @author Ã\98ystein Djuvsland
6     @date   
7     @brief  A clusterizer component for PHOS HLT
8 */
9
10
11 #ifndef ALIHLTPHOSCLUSTERIZERCOMPONENT_H
12 #define ALIHLTPHOSCLUSTERIZERCOMPONENT_H
13
14
15
16 #include "AliHLTPHOSProcessor.h"
17
18 //#include "AliHLTPHOSBase.h"
19 //#include "AliHLTPHOSDefinitions.h"
20 //#include "AliHLTProcessor.h"
21
22 class AliHLTPHOSClusterizer;
23
24 //class Rtypes;
25
26 struct AliHLTPHOSRcuCellEnergyDataStruct;
27 struct AliHLTPHOSClusterDataStruct;
28 struct AliHLTPHOSRecPointDataStruct;
29 struct AliHLTPHOSRecPointListDataStruct;
30
31
32
33 // PTH class AliHLTPHOSClusterizerComponent:  public AliHLTPHOSBase, public AliHLTProcessor
34 class AliHLTPHOSClusterizerComponent: public AliHLTPHOSProcessor
35 //class AliHLTPHOSClusterizerComponent:  public AliHLTPHOSBase, public AliHLTProcessor
36 {
37  public:
38
39   AliHLTPHOSClusterizerComponent();
40   ~AliHLTPHOSClusterizerComponent();
41
42   //  AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &);
43   //  AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent &)
44   //   {
45
46   //     return *this;
47   //   }
48
49
50
51   const char* GetComponentID();
52   void GetInputDataTypes(vector<AliHLTComponentDataType>& list);
53
54   AliHLTComponentDataType GetOutputDataType();
55
56   void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
57
58   int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
59                 AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
60                 std::vector<AliHLTComponentBlockData>&);
61
62   AliHLTComponent* Spawn();
63
64  protected:
65
66
67   int DoInit(int argc, const char** argv);
68   virtual int Deinit(); ////////// PTH WARNING you should Define a class AliHLTPHOSModuleProcessor
69   int DoDeinit();
70
71  private:
72   AliHLTPHOSClusterizer* fClusterizerPtr;                       //Pointer to the clusterizer
73   AliHLTPHOSClusterDataStruct* fOutPtr;                         //Pointer to the struct of output clusters
74   AliHLTPHOSRecPointDataStruct* fRecPointStructArrayPtr;        //Pointer to the struct of output recpoints
75   AliHLTPHOSRecPointListDataStruct* fRecPointListPtr;           //Pointer to the struct of list of output recpoints
76   static const AliHLTComponentDataType fgkInputDataTypes[];     //HLT input data type
77
78 };
79
80 #endif