]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSRawAnalyzerComponent.h
Included AliHLTPHOSConstnts.h where needed
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponent.h
CommitLineData
ee7849e6 1#ifndef ALIHLTPHOSRAWANALYZERCOMPONENT_H
2#define ALIHLTPHOSRAWANALYZERCOMPONENT_H
3
cbab66dd 4/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
2b7cf4fb 7//
8//Base class for PHOS HLT raw data analysis components
9// see cxx file for more details
2b7cf4fb 10
2ef3c547 11//#include "AliHLTPHOSDefinitions.h"
12//#include "AliHLTPHOSCommonDefs.h"
13
d2a0b488 14#include "AliHLTPHOSProcessor.h"
839e4c5a 15
cbab66dd 16
2ef3c547 17//class AliRawReaderMemory;
18//class AliCaloRawStream;
2b7cf4fb 19class AliHLTPHOSRawAnalyzer;
2bcb5a06 20class AliHLTPHOSRcuCellEnergyDataStruct;
2b7cf4fb 21class AliHLTPHOSRcuChannelDataStruct;
e0c124c5 22class AliHLTPHOSMapper;
23class AliHLTDDLDecoder;
24class AliHLTAltroData;
2bcb5a06 25
d2a0b488 26class AliHLTPHOSRawAnalyzerComponent: public AliHLTPHOSProcessor
cbab66dd 27{
28 public:
29 AliHLTPHOSRawAnalyzerComponent();
146c463a 30 virtual ~AliHLTPHOSRawAnalyzerComponent();
cbab66dd 31 AliHLTPHOSRawAnalyzerComponent(const AliHLTPHOSRawAnalyzerComponent & );
ef7b66ed 32 AliHLTPHOSRawAnalyzerComponent & operator = (const AliHLTPHOSRawAnalyzerComponent &)
cbab66dd 33 {
34 return *this;
35 };
d2a0b488 36
2b7cf4fb 37 virtual int DoInit(int argc =0, const char** argv = 0);
cbab66dd 38 virtual int Deinit();
6e709a0d 39
40 // void DumpData(int gain =0) const;
41 // void DumpChannelData(Double_t *data =0) const;
42
ee7849e6 43 virtual const char* GetComponentID() = 0;
9be2600f 44 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
cbab66dd 45 virtual AliHLTComponentDataType GetOutputDataType();
eccb54e8 46 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
eae02153 47 virtual AliHLTComponent* Spawn() = 0;
cbab66dd 48 protected:
2b7cf4fb 49 AliHLTPHOSRawAnalyzer *fAnalyzerPtr; /**<Pointer to an analyzer object used for raw data anlysis*/
d2a0b488 50
ee7849e6 51 private:
d504c864 52 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
53 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
54 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
432edd34 55 void Reset();
2b7cf4fb 56 void ResetDataPtr(int startindex = 0, int sampleCnt = 0);
2b7cf4fb 57 Bool_t fSendChannelData; /**<wether or not to send raw data from the component into shared memory*/
58 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/
59 Double_t fMaxValues[N_MODULES][N_ROWS_MOD][N_COLUMNS_MOD][N_GAINS]; /**<array to store cell energies*/
2ef3c547 60
61 // AliCaloRawStream *fPHOSRawStream; /**<Streamer for PHOS raw data, used by fPHOSRawMemory reader*/
62 // AliRawReaderMemory *fRawMemoryReader; /**<Decoder to read PHOS raw data on the altro format*/
63
2b7cf4fb 64 AliHLTPHOSRcuCellEnergyDataStruct* fOutPtr; /**<Pointer to outputbuffer to write results from the component into shared memory*/
e0c124c5 65
66 AliHLTPHOSMapper *fMapperPtr;
67
68 AliHLTDDLDecoder *fDecoderPtr;
69 AliHLTAltroData *fAltroDataPtr;
cbab66dd 70};
71#endif
05be0766 72