]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSDDLDecoderComponent.h
Effective C++ & documentation, bug fix in Online display
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSDDLDecoderComponent.h
1 #ifndef ALIHLTPHOSDDLDECODERCOMPONENT_H
2 #define ALIHLTPHOSDDLDECODERCOMPONENT_H
3
4 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                          */
6
7 #include "AliHLTPHOSRcuProcessor.h"
8
9
10
11 class AliHLTPHOSRcuCellEnergyDataStruct;
12 class AliHLTPHOSRcuChannelDataStruct;
13 class AliHLTPHOSPulseGenerator;
14 class AliHLTPHOSDataCorruptor;
15 class AliHLTDDLDecoder;
16 class AliHLTAltroData;
17 class AliHLTPHOSMapper;
18
19
20
21 class AliHLTPHOSDDLDecoderComponent:public AliHLTPHOSRcuProcessor
22 {
23  public:
24   AliHLTPHOSDDLDecoderComponent();
25   virtual ~AliHLTPHOSDDLDecoderComponent();
26   virtual int DoInit( int argc, const char** argv );
27   virtual int Deinit();
28   virtual const char* GetComponentID();
29   virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
30   virtual AliHLTComponentDataType GetOutputDataType();
31   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
32   virtual AliHLTComponent* Spawn();
33   
34   virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
35                      AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
36                      AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks ); 
37
38
39  private:
40   AliHLTPHOSDataCorruptor *fDataCorruptorPtr;                  /**<Pointer to data corruptor*/
41   Double_t fTmpChannelData[ALTRO_MAX_SAMPLES];                 /**<Temporary storage for altro dat from a single channel*/
42   AliHLTPHOSRcuChannelDataStruct*  fOutPtr;                    /**<Pointer to outputbuffer to write results from the component into shared memory*/
43   AliHLTDDLDecoder *fDecoderPtr;
44   AliHLTAltroData *fAltroDataPtr;
45   AliHLTPHOSMapper   *fMapperPtr;
46 };
47 #endif
48