1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 /** @file AliHLTPHOSClusterizerComponent.h
5 @author Øystein Djuvsland
7 @brief A clusterizer component for PHOS HLT
11 #ifndef ALIHLTPHOSCLUSTERIZERCOMPONENT_H
12 #define ALIHLTPHOSCLUSTERIZERCOMPONENT_H
14 #include "AliHLTProcessor.h"
17 class AliHLTPHOSClusterizer;
19 struct AliHLTPHOSRcuCellEnergyDataStruct;
20 struct AliHLTPHOSClusterDataStruct;
21 struct AliHLTPHOSRecPointDataStruct;
22 struct AliHLTPHOSRecPointListDataStruct;
25 class AliHLTPHOSClusterizerComponent: public AliHLTProcessor
29 AliHLTPHOSClusterizerComponent();
30 ~AliHLTPHOSClusterizerComponent();
31 AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &);
32 AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent &)
36 const char* GetComponentID();
37 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
39 AliHLTComponentDataType GetOutputDataType();
41 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
43 int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
44 AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
45 std::vector<AliHLTComponentBlockData>&);
47 AliHLTComponent* Spawn();
51 int DoInit(int argc, const char** argv);
56 AliHLTPHOSClusterizer* fClusterizerPtr; //Pointer to the clusterizer
57 AliHLTPHOSClusterDataStruct* fOutPtr; //Pointer to the struct of output clusters
58 AliHLTPHOSRecPointDataStruct* fRecPointStructArrayPtr; //Pointer to the struct of output recpoints
59 AliHLTPHOSRecPointListDataStruct* fRecPointListPtr; //Pointer to the struct of list of output recpoints
60 static const AliHLTComponentDataType fgkInputDataTypes[]; //HLT input data type