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