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