4 #ifndef ALIHLTPHOSRCUHISTOGRAMPRODUCERCOMPONENT_H
5 #define ALIHLTPHOSRCUHISTOGRAMPRODUCERCOMPONENT_H
7 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
8 * See cxx source for full Copyright notice */
10 #include "AliHLTCaloProcessor.h"
11 #include "AliHLTCalotilities.h"
14 // Class tp produce calibration data
15 // too be sendt to the HLT file exhange server
16 // and to the PHOS HLT monitoring GUI
20 class AliHLTPHOSRcuHistogramProducer;
21 class AliHLTPHOSRcuCellAccumulatedEnergyDataStruct;
22 class AliHLTPHOSSharedMemoryInterfacev2;
23 class AliHLTPHOSChannelDataHeaderStruct;
25 class AliHLTPHOSRcuHistogramProducerComponent:public AliHLTCaloProcessor
28 AliHLTPHOSRcuHistogramProducerComponent();
29 virtual ~AliHLTPHOSRcuHistogramProducerComponent();
30 virtual int DoInit( int argc, const char** argv );
32 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
33 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
34 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
36 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>&);
37 virtual AliHLTComponentDataType GetOutputDataType();
38 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
39 virtual AliHLTComponent* Spawn();
40 virtual const char* GetComponentID();
43 // using AliHLTPHOSRcuProcessor::DoEvent;
46 AliHLTPHOSRcuHistogramProducerComponent(const AliHLTPHOSRcuHistogramProducerComponent &);
47 AliHLTPHOSRcuHistogramProducerComponent & operator = (const AliHLTPHOSRcuHistogramProducerComponent &);
48 int fHistoWriteFrequency;
49 AliHLTPHOSRcuHistogramProducer* fRcuHistoProducerPtr; /**<Pointer to a phos histoproducer object*/
50 AliHLTPHOSRcuCellAccumulatedEnergyDataStruct* fOutPtr; /**<Pointer to outputbuffer to write results from the component into shared memory*/
51 AliHLTPHOSSharedMemoryInterfacev2 *fShmPtr; // Interface to read altro channel data from shared memory