]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSClusterizerComponent.h
New component for writing calibration data to fxs (Oystein)
[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 class AliHLTPHOSRcuCellEnergyDataStruct;
27 class AliHLTPHOSClusterDataStruct;
28 class AliHLTPHOSRecPointDataStruct;
29 class AliHLTPHOSRecPointContainerStruct;
30 class AliHLTPHOSRecPointListDataStruct;
31 class AliHLTPHOSDigitContainerDataStruct;
32
33
34
35 // PTH class AliHLTPHOSClusterizerComponent:  public AliHLTPHOSBase, public AliHLTProcessor
36 class AliHLTPHOSClusterizerComponent: public AliHLTPHOSProcessor
37 //class AliHLTPHOSClusterizerComponent:  public AliHLTPHOSBase, public AliHLTProcessor
38 {
39  public:
40
41   AliHLTPHOSClusterizerComponent();
42   virtual ~AliHLTPHOSClusterizerComponent();
43
44   //  AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &);
45   //  AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent &)
46   //   {
47
48   //     return *this;
49   //   }
50
51
52
53   const char* GetComponentID();
54   void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
55
56   AliHLTComponentDataType GetOutputDataType();
57
58   void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
59
60   int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
61                 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
62                 std::vector<AliHLTComponentBlockData>& outputBlocks);
63
64   AliHLTComponent* Spawn();
65   
66  // void SetNoCrazyness(Bool_t val);
67
68  protected:
69
70   using AliHLTPHOSProcessor::DoEvent;
71
72   int DoInit(int argc, const char** argv);
73   virtual int Deinit(); ////////// PTH WARNING you should Define a class AliHLTPHOSModuleProcessor
74   int DoDeinit();
75
76  private:
77   AliHLTPHOSDigitContainerDataStruct *fAllDigitsPtr;            //comment
78   AliHLTPHOSClusterizer* fClusterizerPtr;                       //Pointer to the clusterizer
79   AliHLTPHOSRecPointContainerStruct* fOutPtr;                         //Pointer to the struct of output clusters
80   AliHLTPHOSRecPointDataStruct* fRecPointStructArrayPtr;        //Pointer to the struct of output recpoints
81   AliHLTPHOSRecPointListDataStruct* fRecPointListPtr;           //Pointer to the struct of list of output recpoints
82   Int_t fDigitCount;                                            //comment
83   Bool_t fNoCrazyness;                                          //comment
84   
85   static const AliHLTComponentDataType fgkInputDataTypes[];     //HLT input data type
86 };
87
88 #endif