]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRawAnalyzerComponent.h
Refactoring of classes + cleanup + documentaion.
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponent.h
1 #ifndef ALIHLTPHOSRAWANALYZERCOMPONENT_H
2 #define ALIHLTPHOSRAWANALYZERCOMPONENT_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 class AliHLTPHOSRawAnalyzer;
9 class AliHLTPHOSRcuCellEnergyDataStruct;
10 class AliHLTPHOSRcuChannelDataStruct;
11 class AliHLTPHOSMapper;
12 class AliHLTDDLDecoder;
13 class AliHLTAltroData;
14
15 class AliHLTPHOSRawAnalyzerComponent: public AliHLTPHOSRcuProcessor
16 {
17  public:
18   AliHLTPHOSRawAnalyzerComponent();
19   virtual ~AliHLTPHOSRawAnalyzerComponent();
20   virtual int DoInit(int argc =0, const char** argv  = 0);
21   virtual int Deinit();
22   virtual const char* GetComponentID() = 0;
23   virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
24   virtual AliHLTComponentDataType GetOutputDataType();
25   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
26   virtual AliHLTComponent* Spawn() = 0; 
27  protected:
28   AliHLTPHOSRawAnalyzer *fAnalyzerPtr;  /**<Pointer to an analyzer object used for raw data anlysis*/ 
29
30  private:
31   virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
32                      AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
33                      AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks ); 
34   void Reset();
35   void ResetDataPtr(int startindex = 0, int sampleCnt = 0);
36   Bool_t fSendChannelData;       /**<wether or not to send raw data from the component into shared memory*/
37   Double_t fTmpChannelData[ALTRO_MAX_SAMPLES];                        /**<temporary variable to store raw samples from a single altro channel*/
38   Double_t fMaxValues[N_MODULES][N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; /**<array to store cell energies*/
39   AliHLTPHOSRcuCellEnergyDataStruct* fOutPtr;         /**<Pointer to outputbuffer to write results from the component into shared memory*/
40   AliHLTPHOSMapper *fMapperPtr;
41   AliHLTDDLDecoder *fDecoderPtr;
42   AliHLTAltroData  *fAltroDataPtr;
43 };
44 #endif
45