]>
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; |
46f4d4e0 | 10 | //class AliHLTPHOSRcuChannelDataStruct; |
e0c124c5 | 11 | class AliHLTPHOSMapper; |
dbd79fad | 12 | class AliHLTPHOSSanityInspector; |
939c67e7 | 13 | class AliAltroDecoder; // decoder for altro payload |
14 | class AliAltroData; // container for altro payload | |
15 | class AliAltroBunch; // container for altro bunches | |
16 | ||
2bcb5a06 | 17 | |
b60bd496 | 18 | class AliHLTPHOSRawAnalyzerComponent: public AliHLTPHOSRcuProcessor |
cbab66dd | 19 | { |
20 | public: | |
21 | AliHLTPHOSRawAnalyzerComponent(); | |
146c463a | 22 | virtual ~AliHLTPHOSRawAnalyzerComponent(); |
2b7cf4fb | 23 | virtual int DoInit(int argc =0, const char** argv = 0); |
cbab66dd | 24 | virtual int Deinit(); |
ee7849e6 | 25 | virtual const char* GetComponentID() = 0; |
9be2600f | 26 | virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list); |
cbab66dd | 27 | virtual AliHLTComponentDataType GetOutputDataType(); |
eccb54e8 | 28 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); |
eae02153 | 29 | virtual AliHLTComponent* Spawn() = 0; |
cbab66dd | 30 | protected: |
2b7cf4fb | 31 | AliHLTPHOSRawAnalyzer *fAnalyzerPtr; /**<Pointer to an analyzer object used for raw data anlysis*/ |
d2a0b488 | 32 | |
ee7849e6 | 33 | private: |
d504c864 | 34 | virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, |
35 | AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, | |
36 | AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks ); | |
1804b020 | 37 | using AliHLTPHOSRcuProcessor::DoEvent; |
38 | ||
432edd34 | 39 | void Reset(); |
2b7cf4fb | 40 | void ResetDataPtr(int startindex = 0, int sampleCnt = 0); |
dbd79fad | 41 | void SetBaselines(const char* baselineFile); |
2b7cf4fb | 42 | Bool_t fSendChannelData; /**<wether or not to send raw data from the component into shared memory*/ |
43 | Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/ | |
b60bd496 | 44 | Double_t fMaxValues[N_MODULES][N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; /**<array to store cell energies*/ |
dbd79fad | 45 | |
ab38011b | 46 | AliHLTPHOSRcuCellEnergyDataStruct* fOutPtr; //comment |
939c67e7 | 47 | AliHLTPHOSMapper *fMapperPtr; //Mapping from harware address to geometrical address |
ab38011b | 48 | AliHLTPHOSSanityInspector *fSanityInspectorPtr; //comment |
49 | Bool_t fUseBaselineSubtraction; //comment | |
50 | Float_t fBaselines[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; //comment | |
939c67e7 | 51 | // int fDebugCnt; //comment |
52 | AliAltroDecoder *fDecoderPtr; // decoder for altro payload | |
53 | AliAltroData *fAltroDataPtr; // container for altro payload | |
54 | AliAltroBunch *fAltroBunchPtr; // container for altro bunches | |
cbab66dd | 55 | }; |
56 | #endif | |
05be0766 | 57 |