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 "AliHLTPHOSProcessor.h"
9 #include "AliHLTPHOSDefinitions.h"
10 #include "AliHLTPHOSCommonDefs.h"
12 class AliHLTPHOSModuleMergerComponent:public AliHLTPHOSProcessor
15 AliHLTPHOSModuleMergerComponent();
16 virtual ~AliHLTPHOSModuleMergerComponent();
17 AliHLTPHOSModuleMergerComponent(const AliHLTPHOSModuleMergerComponent & );
18 AliHLTPHOSModuleMergerComponent & operator = (const AliHLTPHOSModuleMergerComponent &)
22 virtual int DoInit(int argc =0, const char** argv = 0);
24 virtual int DoDeinit();
25 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
26 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
27 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
29 void DumpData(int gain =0);
30 const int GetEquippmentId() const;
31 virtual const char* GetComponentID();
32 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
33 virtual AliHLTComponentDataType GetOutputDataType();
34 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
35 void SetEquippmentId(int id = 0);
36 virtual AliHLTComponent* Spawn();
43 int fPhosEventCount; /**<event counter*/
44 AliHLTUInt32_t fEquippmentID; /**<Eguippment ID as given by ALICE*/
45 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<Array to tmporarily store samples from a single ALTRO*/
46 Double_t fMaxValues[N_MODULES][N_ROWS_MOD][N_COLUMNS_MOD][N_GAINS]; /**<Tower/Crystal energies*/
47 static const AliHLTComponentDataType fgkInputDataTypes[]; /**<The input datatypes the component can recieve (obsolete ?)*/
48 static const AliHLTComponentDataType fgkOutputDataType; /**<The type of date the compnent writes to shared memory */