]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSDDLDecoderComponent.h
documentation
[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 "AliHLTPHOSProcessor.h"
8 #include "AliHLTPHOSDefinitions.h"
9 #include "AliHLTPHOSCommonDefs.h"
10
11
12 class AliHLTPHOSRcuCellEnergyDataStruct;
13 class AliHLTPHOSRcuChannelDataStruct;
14 class AliHLTPHOSPulseGenerator;
15 class AliHLTPHOSDataCorruptor;
16 class AliRawReaderMemory;
17 class AliCaloRawStream;
18
19 class AliHLTPHOSDDLDecoderComponent:public AliHLTPHOSProcessor
20 {
21  public:
22   AliHLTPHOSDDLDecoderComponent();
23   virtual ~AliHLTPHOSDDLDecoderComponent();
24   AliHLTPHOSDDLDecoderComponent(const AliHLTPHOSDDLDecoderComponent & );
25   AliHLTPHOSDDLDecoderComponent & operator = (const AliHLTPHOSDDLDecoderComponent &)
26     {
27       return *this;
28     };
29   virtual int DoInit( int argc, const char** argv );
30   virtual int Deinit();
31   virtual const char* GetComponentID();
32   virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
33   virtual AliHLTComponentDataType GetOutputDataType();
34   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
35   virtual AliHLTComponent* Spawn();
36   
37   virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
38                      AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
39                      AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks ); 
40
41  private:
42   AliHLTPHOSDataCorruptor *fDataCorruptorPtr;                  /**<Pointer to data corruptor*/
43   Double_t fTmpChannelData[ALTRO_MAX_SAMPLES];                 /**<Temporary storage for altro dat from a single channel*/
44   AliCaloRawStream *fPHOSRawStream;                            /**<Streamer for PHOS raw data, used by fPHOSRawMemory reader*/ 
45   AliRawReaderMemory *fRawMemoryReader;                        /**<Decoder to read PHOS raw data on the altro format*/ 
46   AliHLTPHOSRcuChannelDataStruct*  fOutPtr;                    /**<Pointer to outputbuffer to write results from the component into shared memory*/
47 };
48 #endif
49