1 #ifndef ALIHLTPHOSHISTOGRAMPRODUCERCOMPONENT_H
2 #define ALIHLTPHOSHISTOGRAMPRODUCERCOMPONENT_H
5 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 #include "AliHLTPHOSProcessor.h"
9 #include "AliHLTPHOSDefinitions.h"
10 #include "AliHLTPHOSCommonDefs.h"
13 class AliHLTPHOSModuleCellAccumulatedEnergyDataStruct;
15 class AliHLTPHOSHistogramProducerComponent:public AliHLTPHOSProcessor
18 AliHLTPHOSHistogramProducerComponent();
19 virtual ~AliHLTPHOSHistogramProducerComponent();
20 AliHLTPHOSHistogramProducerComponent(const AliHLTPHOSHistogramProducerComponent & );
21 AliHLTPHOSHistogramProducerComponent & operator = (const AliHLTPHOSHistogramProducerComponent &)
25 virtual int DoInit( int argc = 0, const char** argv = 0);
27 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
28 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
29 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
31 void DumpData(int gain = 0);
32 virtual const char* GetComponentID();
33 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
34 virtual AliHLTComponentDataType GetOutputDataType();
35 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
36 virtual AliHLTComponent* Spawn();
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*/
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*/