]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSDDLDecoderComponent.h
New class structure
[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 "AliHLTProcessor.h"
8 #include "AliHLTPHOSRawAnalyzer.h"
9 #include "AliRawReaderMemory.h"
10 #include "AliCaloRawStream.h"
11 #include "AliHLTPHOSDefinitions.h"
12 #include "AliHLTPHOSCommonDefs.h"
13 #include "AliHLTPHOSRcuChannelDataStruct.h"
14 #include <cstdlib>
15
16 class AliHLTPHOSRcuCellEnergyDataStruct;
17 class AliHLTPHOSRcuChannelDataStruct;
18
19 class AliHLTPHOSDDLDecoderComponent:public AliHLTProcessor
20
21 {
22  public:
23   AliHLTPHOSDDLDecoderComponent();
24   virtual ~AliHLTPHOSDDLDecoderComponent();
25   AliHLTPHOSDDLDecoderComponent(const AliHLTPHOSDDLDecoderComponent & );
26   AliHLTPHOSDDLDecoderComponent & operator = (const AliHLTPHOSDDLDecoderComponent &)
27     {
28       return *this;
29     };
30
31   virtual int DoInit( int argc, const char** argv );
32   virtual int Deinit();
33   virtual int DoDeinit();
34   void SetEquippmentID(AliHLTUInt16_t id);
35   AliHLTUInt16_t  GetEquippmentID();
36   void SetCoordinates(AliHLTUInt16_t equippmentID);
37   virtual const char* GetComponentID();
38   virtual void GetInputDataTypes( std::vector <AliHLTComponentDataType>&);
39   virtual AliHLTComponentDataType GetOutputDataType();
40   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
41   virtual AliHLTComponent* Spawn();
42   
43   virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
44                      AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
45                      AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks ); 
46  
47  private:
48   static int fgEventCount;
49   AliHLTUInt16_t fEquippmentID;
50   AliHLTUInt8_t  fRcuX;
51   AliHLTUInt8_t  fRcuZ;
52   AliHLTUInt8_t  fRcuZOffset;
53   AliHLTUInt8_t  fRcuXOffset;
54   AliHLTUInt8_t  fModuleID;
55   Bool_t fSendChannelData;
56   Bool_t fPrintInfo;
57   Double_t fTmpChannelData[ALTRO_MAX_SAMPLES];
58   int fPrintInfoFrequncy;
59   AliCaloRawStream *fPHOSRawStream;
60   AliRawReaderMemory *fRawMemoryReader;
61   AliHLTPHOSRcuChannelDataStruct*  fOutPtr;
62   static const AliHLTComponentDataType fgkInputDataTypes[];
63 };
64 #endif
65