1 #ifndef ALIHLTPHOSMODULEMERGERCOMPONENT_H
2 #define ALIHLTPHOSMODULEMERGERCOMPONENT_H
4 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 #include "AliHLTProcessor.h"
8 #include "AliHLTPHOSDefinitions.h"
9 #include "AliHLTPHOSCommonDefs.h"
11 class AliHLTPHOSModuleMergerComponent:public AliHLTProcessor
14 AliHLTPHOSModuleMergerComponent();
15 virtual ~AliHLTPHOSModuleMergerComponent();
16 AliHLTPHOSModuleMergerComponent(const AliHLTPHOSModuleMergerComponent & );
17 AliHLTPHOSModuleMergerComponent & operator = (const AliHLTPHOSModuleMergerComponent &)
21 virtual int DoInit(int argc =0, const char** argv = 0);
23 virtual int DoDeinit();
24 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
25 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
26 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
28 void DumpData(int gain =0);
29 const int GetEquippmentId() const;
30 virtual const char* GetComponentID();
31 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
32 virtual AliHLTComponentDataType GetOutputDataType();
33 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
34 void SetEquippmentId(int id = 0);
35 virtual AliHLTComponent* Spawn();
42 int fPhosEventCount; /**<event counter*/
43 AliHLTUInt32_t fEquippmentID; /**<Eguippment ID as given by ALICE*/
44 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<Array to tmporarily store samples from a single ALTRO*/
45 Double_t fMaxValues[N_MODULES][N_ROWS_MOD][N_COLUMNS_MOD][N_GAINS]; /**<Tower/Crystal energies*/
46 static const AliHLTComponentDataType fgkInputDataTypes[]; /**<The input datatypes the component can recieve (obsolete ?)*/
47 static const AliHLTComponentDataType fgkOutputDataType; /**<The type of date the compnent writes to shared memory */