First working implementation of the online cell energy/time evaluation. The
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponent.h
1
2
3 #ifndef ALIHLTPHOSRAWANALYZERCOMPONENT_H
4 #define ALIHLTPHOSRAWANALYZERCOMPONENT_H
5
6 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
7  * See cxx source for full Copyright notice                          */
8
9 #include "AliHLTProcessor.h"
10 #include "AliHLTPHOSRawAnalyzer.h"
11 #include "AliRawReaderMemory.h"
12 #include "AliCaloRawStream.h"
13 #include "AliHLTPHOSDefinitions.h"
14 #include "TH2.h"
15
16
17 /*
18 #include "AliHLTTPCRawDataUnpackerComponent.h"
19 #include "AliTPCRawStream.h"
20 #include "AliRawDataHeader.h"
21 #include "AliRawReaderMemory.h"
22 #include "AliHLTTPCRawDataFormat.h"
23 #include "AliHLTTPCDigitData.h"
24 #include "AliHLTTPCTransform.h"
25 #include <stdlib.h>
26 #include <errno.h>
27 */
28
29 class AliHLTPHOSRawAnalyzerComponent: public AliHLTProcessor
30 {
31  public:
32   AliHLTPHOSRawAnalyzerComponent();
33   ~AliHLTPHOSRawAnalyzerComponent();
34   AliHLTPHOSRawAnalyzerComponent(const AliHLTPHOSRawAnalyzerComponent & );
35   AliHLTPHOSRawAnalyzerComponent & operator = (const AliHLTPHOSRawAnalyzerComponent &)
36    {
37       return *this;
38    };
39
40
41
42   virtual int DoInit( int argc, const char** argv );
43   virtual int Deinit();
44   virtual int DoDeinit();
45   void DumpData();
46
47   virtual const char* GetComponentID() = 0;
48
49   virtual void GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&);
50   virtual AliHLTComponentDataType GetOutputDataType();
51   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
52   virtual AliHLTComponent* Spawn() = 0;
53
54   virtual int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*, AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&, std::vector<AliHLTComponentBlockData, std::allocator<AliHLTComponentBlockData> >&);
55
56   // private:
57  protected:
58  AliHLTPHOSRawAnalyzer *analyzerPtr; 
59  void Reset();
60  void ResetDataPtr();
61
62  private:
63  
64
65  int eventCount;
66
67
68  //     AliRawReaderMemory *fRawMemoryReader;
69  //     AliTPCRawStream *fTPCRawStream;
70  Double_t fTmpChannelData[1008];
71  // Int_t fMaxValues[5][64][56][2];
72  Double_t fMaxValues[5][64][56][2];
73
74   //  Int_t fMaxValuesLG[5][64][56][2];
75   TH2S *legoPlotPtr;
76   //  TH2S *legoPlotLgPtr;
77  AliCaloRawStream *fPHOSRawStream;
78  AliRawReaderMemory *fRawMemoryReader;
79  static const AliHLTComponentDataType inputDataTypes[];
80  static const AliHLTComponentDataType outputDataType;
81
82 };
83 #endif