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