]>
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 */ | |
b60bd496 | 6 | #include "AliHLTPHOSRcuProcessor.h" |
cbab66dd | 7 | |
2b7cf4fb | 8 | class AliHLTPHOSRawAnalyzer; |
2bcb5a06 | 9 | class AliHLTPHOSRcuCellEnergyDataStruct; |
2b7cf4fb | 10 | class AliHLTPHOSRcuChannelDataStruct; |
e0c124c5 | 11 | class AliHLTPHOSMapper; |
12 | class AliHLTDDLDecoder; | |
13 | class AliHLTAltroData; | |
2bcb5a06 | 14 | |
b60bd496 | 15 | class AliHLTPHOSRawAnalyzerComponent: public AliHLTPHOSRcuProcessor |
cbab66dd | 16 | { |
17 | public: | |
18 | AliHLTPHOSRawAnalyzerComponent(); | |
146c463a | 19 | virtual ~AliHLTPHOSRawAnalyzerComponent(); |
2b7cf4fb | 20 | virtual int DoInit(int argc =0, const char** argv = 0); |
cbab66dd | 21 | virtual int Deinit(); |
ee7849e6 | 22 | virtual const char* GetComponentID() = 0; |
9be2600f | 23 | virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list); |
cbab66dd | 24 | virtual AliHLTComponentDataType GetOutputDataType(); |
eccb54e8 | 25 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); |
eae02153 | 26 | virtual AliHLTComponent* Spawn() = 0; |
cbab66dd | 27 | protected: |
2b7cf4fb | 28 | AliHLTPHOSRawAnalyzer *fAnalyzerPtr; /**<Pointer to an analyzer object used for raw data anlysis*/ |
d2a0b488 | 29 | |
ee7849e6 | 30 | private: |
d504c864 | 31 | virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, |
32 | AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, | |
33 | AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks ); | |
432edd34 | 34 | void Reset(); |
2b7cf4fb | 35 | void ResetDataPtr(int startindex = 0, int sampleCnt = 0); |
2b7cf4fb | 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*/ | |
b60bd496 | 38 | Double_t fMaxValues[N_MODULES][N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; /**<array to store cell energies*/ |
2b7cf4fb | 39 | AliHLTPHOSRcuCellEnergyDataStruct* fOutPtr; /**<Pointer to outputbuffer to write results from the component into shared memory*/ |
e0c124c5 | 40 | AliHLTPHOSMapper *fMapperPtr; |
e0c124c5 | 41 | AliHLTDDLDecoder *fDecoderPtr; |
42 | AliHLTAltroData *fAltroDataPtr; | |
cbab66dd | 43 | }; |
44 | #endif | |
05be0766 | 45 |