]>
Commit | Line | Data |
---|---|---|
ee740112 | 1 | #ifndef ALIHLTPHOSHISTOGRAMPRODUCERCOMPONENT_H |
2 | #define ALIHLTPHOSHISTOGRAMPRODUCERCOMPONENT_H | |
3 | ||
753a19c1 | 4 | |
5 | /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. * | |
6 | * See cxx source for full Copyright notice */ | |
7 | ||
b76c4876 | 8 | #include "AliHLTPHOSProcessor.h" |
753a19c1 | 9 | #include "AliHLTPHOSDefinitions.h" |
10 | #include "AliHLTPHOSCommonDefs.h" | |
753a19c1 | 11 | |
839e4c5a | 12 | |
d3254363 | 13 | class AliHLTPHOSModuleCellAccumulatedEnergyDataStruct; |
753a19c1 | 14 | |
b76c4876 | 15 | class AliHLTPHOSHistogramProducerComponent:public AliHLTPHOSProcessor |
753a19c1 | 16 | { |
17 | public: | |
18 | AliHLTPHOSHistogramProducerComponent(); | |
a0e0bc78 | 19 | virtual ~AliHLTPHOSHistogramProducerComponent(); |
753a19c1 | 20 | AliHLTPHOSHistogramProducerComponent(const AliHLTPHOSHistogramProducerComponent & ); |
21 | AliHLTPHOSHistogramProducerComponent & operator = (const AliHLTPHOSHistogramProducerComponent &) | |
22 | { | |
23 | return *this; | |
24 | }; | |
d3254363 | 25 | virtual int DoInit( int argc = 0, const char** argv = 0); |
753a19c1 | 26 | virtual int Deinit(); |
d504c864 | 27 | virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, |
28 | AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, | |
29 | AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks ); | |
30 | ||
d3254363 | 31 | void DumpData(int gain = 0); |
955f6ca8 | 32 | virtual const char* GetComponentID(); |
9be2600f | 33 | virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list); |
753a19c1 | 34 | virtual AliHLTComponentDataType GetOutputDataType(); |
35 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); | |
753a19c1 | 36 | virtual AliHLTComponent* Spawn(); |
753a19c1 | 37 | protected: |
38 | void Reset(); | |
39 | void ResetDataPtr(); | |
40 | ||
41 | private: | |
839e4c5a | 42 | Double_t fEnergyAverageValues[N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; /**<Accumulated energy divided by the number of hits for each readout channel*/ |
43 | Double_t fAccumulatedValues[N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; /**<Accumulated energy for each readout channel of one RCU*/ | |
44 | // Double_t fTimingAverageValues[N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; | |
45 | AliHLTUInt32_t fHits[N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; /**<Total number of hits for each cell of one RCU*/ | |
839e4c5a | 46 | Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<Array to temporarily store dat fro a single altro channel*/ |
47 | AliHLTPHOSModuleCellAccumulatedEnergyDataStruct* fOutPtr; /**<Pointer to outputbuffer to write results from the component into shared memory*/ | |
48 | static const AliHLTComponentDataType fgkInputDataTypes[]; /**<List of datatypes that can be given to this component*/ | |
49 | static const AliHLTComponentDataType fgkOutputDataType; /**<Output datatype produced by this component*/ | |
753a19c1 | 50 | }; |
51 | ||
52 | #endif |