]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSRawAnalyzerComponent.h
added missing header files for commit 29821
[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 */
b60bd496 6#include "AliHLTPHOSRcuProcessor.h"
cbab66dd 7
04751caa 8
2b7cf4fb 9class AliHLTPHOSRawAnalyzer;
2bcb5a06 10class AliHLTPHOSRcuCellEnergyDataStruct;
e0c124c5 11class AliHLTPHOSMapper;
dbd79fad 12class AliHLTPHOSSanityInspector;
14ff16ed 13class AliAltroDecoder; // decoder for altro payload
14class AliAltroData; // container for altro payload
15class AliAltroBunch; // container for altro bunches
25b7f84c 16class AliHLTPHOSDigitMaker;
17class AliHLTPHOSDigitContainerDataStruct;
2bcb5a06 18
8efbf5fe 19
b60bd496 20class AliHLTPHOSRawAnalyzerComponent: public AliHLTPHOSRcuProcessor
cbab66dd 21{
22 public:
23 AliHLTPHOSRawAnalyzerComponent();
146c463a 24 virtual ~AliHLTPHOSRawAnalyzerComponent();
2b7cf4fb 25 virtual int DoInit(int argc =0, const char** argv = 0);
cbab66dd 26 virtual int Deinit();
ee7849e6 27 virtual const char* GetComponentID() = 0;
9be2600f 28 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
cbab66dd 29 virtual AliHLTComponentDataType GetOutputDataType();
25b7f84c 30 virtual int GetOutputDataTypes(AliHLTComponentDataTypeList& list);
eccb54e8 31 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
eae02153 32 virtual AliHLTComponent* Spawn() = 0;
cbab66dd 33 protected:
2b7cf4fb 34 AliHLTPHOSRawAnalyzer *fAnalyzerPtr; /**<Pointer to an analyzer object used for raw data anlysis*/
d2a0b488 35
14ff16ed 36 using AliHLTPHOSRcuProcessor::DoEvent;
d504c864 37 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
38 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
39 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
1804b020 40
14ff16ed 41 private:
b444d727 42 AliHLTPHOSRawAnalyzerComponent(const AliHLTPHOSRawAnalyzerComponent & );
43 AliHLTPHOSRawAnalyzerComponent & operator = (const AliHLTPHOSRawAnalyzerComponent &);
94594220 44
45 //AliAltroBunch* GetFirstBunch();
46 void GetFirstBunch(AliAltroData *altrodata, AliAltroBunch *altrobunch);
47 void FillDataArray(UInt_t *data, const AliAltroData *altrodataptr, const int channel = -1);
48 // bool CheckBuffer();
b444d727 49
d949e02e 50 void Reset(AliHLTPHOSRcuCellEnergyDataStruct* cellDataPtr);
2b7cf4fb 51 void ResetDataPtr(int startindex = 0, int sampleCnt = 0);
25b7f84c 52 void SetBaselines(const char* baselineFile);
53 void SetSelectiveReadOutThresholds(const char* filepath, Int_t nSignams);
94594220 54
2b7cf4fb 55 Bool_t fSendChannelData; /**<wether or not to send raw data from the component into shared memory*/
94594220 56
57
58 // Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/
59 UInt_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/
60
b60bd496 61 Double_t fMaxValues[N_MODULES][N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; /**<array to store cell energies*/
dbd79fad 62
ab38011b 63 AliHLTPHOSRcuCellEnergyDataStruct* fOutPtr; //comment
939c67e7 64 AliHLTPHOSMapper *fMapperPtr; //Mapping from harware address to geometrical address
ab38011b 65 AliHLTPHOSSanityInspector *fSanityInspectorPtr; //comment
66 Bool_t fUseBaselineSubtraction; //comment
67 Float_t fBaselines[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; //comment
14ff16ed 68
939c67e7 69 AliAltroDecoder *fDecoderPtr; // decoder for altro payload
70 AliAltroData *fAltroDataPtr; // container for altro payload
71 AliAltroBunch *fAltroBunchPtr; // container for altro bunches
25b7f84c 72
6f66f946 73 /** Are we pushing the raw data */
74 Bool_t fDoPushRawData; //Added by OD
25b7f84c 75
76 /** Are we making digits? */
77 Bool_t fDoMakeDigits; //Added by OD
78
79 /** The digit maker */
80 AliHLTPHOSDigitMaker *fDigitMakerPtr; //! transient Added by OD
81
82 /** The digit containerto use for digit making */
83 AliHLTPHOSDigitContainerDataStruct *fDigitContainerPtr; //! transient Added by OD
84
85 /** Are we doing selective read out? */
86 Bool_t fDoSelectiveReadOut; //Added by OD
87
88 /** Threshold for selective readout ( zero suppression threshold) */
89 Float_t fSelectiveReadOutThresholds[N_XCOLUMNS_MOD][N_ZROWS_MOD][N_GAINS]; //Added by OD
90
91 /** The selected HW addresses */
92 AliHLTUInt16_t *fSelectedChannelsList; //! transient Added by OD
93
94 /** Should we check data size? */
95 Bool_t fDoCheckDataSize; //Added by OD
04751caa 96
97 unsigned long fNCorruptedBlocks;
98 unsigned long fNOKBlocks;
99
cbab66dd 100};
101#endif
05be0766 102