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 Ã
\98ystein Djuvsland
7 @brief A clusterizer component for PHOS HLT
11 #ifndef ALIHLTPHOSCLUSTERIZERCOMPONENT_H
12 #define ALIHLTPHOSCLUSTERIZERCOMPONENT_H
16 #include "AliHLTPHOSProcessor.h"
18 //#include "AliHLTPHOSBase.h"
19 //#include "AliHLTPHOSDefinitions.h"
20 //#include "AliHLTProcessor.h"
22 class AliHLTPHOSClusterizer;
26 class AliHLTPHOSRcuCellEnergyDataStruct;
27 class AliHLTPHOSClusterDataStruct;
28 class AliHLTPHOSRecPointDataStruct;
29 class AliHLTPHOSRecPointContainerStruct;
30 class AliHLTPHOSRecPointListDataStruct;
31 class AliHLTPHOSDigitContainerDataStruct;
35 // PTH class AliHLTPHOSClusterizerComponent: public AliHLTPHOSBase, public AliHLTProcessor
36 class AliHLTPHOSClusterizerComponent: public AliHLTPHOSProcessor
37 //class AliHLTPHOSClusterizerComponent: public AliHLTPHOSBase, public AliHLTProcessor
41 AliHLTPHOSClusterizerComponent();
42 virtual ~AliHLTPHOSClusterizerComponent();
44 // AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &);
45 // AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent &)
53 const char* GetComponentID();
54 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
56 AliHLTComponentDataType GetOutputDataType();
58 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
60 int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
61 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
62 std::vector<AliHLTComponentBlockData>& outputBlocks);
64 AliHLTComponent* Spawn();
66 // void SetNoCrazyness(Bool_t val);
70 using AliHLTPHOSProcessor::DoEvent;
72 int DoInit(int argc, const char** argv);
73 virtual int Deinit(); ////////// PTH WARNING you should Define a class AliHLTPHOSModuleProcessor
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
85 static const AliHLTComponentDataType fgkInputDataTypes[]; //HLT input data type