]>
Commit | Line | Data |
---|---|---|
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 | 19 | class AliHLTPHOSRawAnalyzer; |
2bcb5a06 | 20 | class AliHLTPHOSRcuCellEnergyDataStruct; |
2b7cf4fb | 21 | class AliHLTPHOSRcuChannelDataStruct; |
e0c124c5 | 22 | class AliHLTPHOSMapper; |
23 | class AliHLTDDLDecoder; | |
24 | class AliHLTAltroData; | |
2bcb5a06 | 25 | |
d2a0b488 | 26 | class 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 |