]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRawAnalyzerComponentv2.h
To be updated?
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponentv2.h
1 #ifndef ALIHLTPHOSRAWANALYZERCOMPONENTV2_H
2 #define ALIHLTPHOSRAWANALYZERCOMPONENTV2_H
3
4 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                          */
6 #include "AliHLTPHOSRcuProcessor.h"
7
8
9 class AliHLTPHOSRawAnalyzer;
10 class AliHLTPHOSRcuCellEnergyDataStruct;
11 class AliHLTPHOSMapper;
12 class AliHLTPHOSSanityInspector;
13 class AliAltroDecoder;      // decoder for altro payload
14 class AliAltroData;         // container for altro payload
15 class AliAltroBunch;        // container for altro bunches
16 class AliHLTPHOSDigitMaker;
17 class AliHLTPHOSDigitContainerDataStruct;
18
19
20 class AliHLTPHOSRawAnalyzerComponentv2 : public AliHLTPHOSRcuProcessor
21 {
22  public:
23   AliHLTPHOSRawAnalyzerComponentv2();
24   virtual ~AliHLTPHOSRawAnalyzerComponentv2();
25   virtual int DoInit(int argc =0, const char** argv  = 0);
26   virtual int Deinit();
27   virtual const char* GetComponentID() = 0;
28   virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
29   virtual AliHLTComponentDataType GetOutputDataType();
30   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
31   virtual AliHLTComponent* Spawn() = 0; 
32
33  protected:
34   AliHLTPHOSRawAnalyzer *fAnalyzerPtr;  /**<Pointer to an analyzer object used for raw data anlysis*/ 
35
36   using AliHLTPHOSRcuProcessor::DoEvent;
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   virtual Int_t DoIt(const AliHLTComponentBlockData* iter, AliHLTUInt8_t* outputPtr, const AliHLTUInt32_t size, UInt_t& totSize);
42
43  private:
44   AliHLTPHOSRawAnalyzerComponentv2(const AliHLTPHOSRawAnalyzerComponentv2 & );
45   AliHLTPHOSRawAnalyzerComponentv2 & operator = (const AliHLTPHOSRawAnalyzerComponentv2 &);
46
47   AliHLTPHOSMapper *fMapperPtr; //Mapping from harware address to geometrical address
48   AliHLTPHOSSanityInspector *fSanityInspectorPtr; //comment
49
50   AliAltroDecoder *fDecoderPtr;           // decoder for altro payload
51   AliAltroData    *fAltroDataPtr;         // container for altro payload
52   AliAltroBunch   *fAltroBunchPtr;        // container for altro bunches
53
54   unsigned long fNCorruptedBlocks;
55   unsigned long fNOKBlocks;
56
57   Short_t fAlgorithm;
58
59   Int_t fOffset;
60
61 };
62 #endif
63