]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/PHOS/AliHLTPHOSRawAnalyzerComponent.h
Adding options to control the data output better. Specifically to write to ROOT files...
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponent.h
... / ...
CommitLineData
1#ifndef ALIHLTPHOSRAWANALYZERCOMPONENT_H
2#define ALIHLTPHOSRAWANALYZERCOMPONENT_H
3
4/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6#include "AliHLTPHOSRcuProcessor.h"
7
8class AliHLTPHOSRawAnalyzer;
9class AliHLTPHOSRcuCellEnergyDataStruct;
10class AliHLTPHOSRcuChannelDataStruct;
11class AliHLTPHOSMapper;
12class AliHLTDDLDecoder;
13class AliHLTAltroData;
14class AliHLTAltroBunch;
15
16class AliHLTPHOSRawAnalyzerComponent: public AliHLTPHOSRcuProcessor
17{
18 public:
19 AliHLTPHOSRawAnalyzerComponent();
20 virtual ~AliHLTPHOSRawAnalyzerComponent();
21 virtual int DoInit(int argc =0, const char** argv = 0);
22 virtual int Deinit();
23 virtual const char* GetComponentID() = 0;
24 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
25 virtual AliHLTComponentDataType GetOutputDataType();
26 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
27 virtual AliHLTComponent* Spawn() = 0;
28 protected:
29 AliHLTPHOSRawAnalyzer *fAnalyzerPtr; /**<Pointer to an analyzer object used for raw data anlysis*/
30
31 private:
32 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
33 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
34 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
35 void Reset();
36 void ResetDataPtr(int startindex = 0, int sampleCnt = 0);
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*/
39 Double_t fMaxValues[N_MODULES][N_ZROWS_MOD][N_XCOLUMNS_MOD][N_GAINS]; /**<array to store cell energies*/
40 AliHLTPHOSRcuCellEnergyDataStruct* fOutPtr; /**<Pointer to outputbuffer to write results from the component into shared memory*/
41 AliHLTPHOSMapper *fMapperPtr;
42 AliHLTDDLDecoder *fDecoderPtr;
43 AliHLTAltroData *fAltroDataPtr;
44 AliHLTAltroBunch *fAltroBunchPtr;
45};
46#endif
47