]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSModuleMergerComponent.h
Added new files to build system
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSModuleMergerComponent.h
1 #ifndef ALIHLTPHOSMODULEMERGERCOMPONENT_H
2 #define ALIHLTPHOSMODULEMERGERCOMPONENT_H
3
4 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice  */ 
6
7 //#include "AliHLTProcessor.h"
8 #include "AliHLTPHOSProcessor.h"
9 #include "AliHLTPHOSDefinitions.h"
10 #include "AliHLTPHOSCommonDefs.h"
11
12 class AliHLTPHOSModuleMergerComponent:public AliHLTPHOSProcessor
13 {
14  public:
15   AliHLTPHOSModuleMergerComponent();
16   virtual ~AliHLTPHOSModuleMergerComponent();
17   AliHLTPHOSModuleMergerComponent(const AliHLTPHOSModuleMergerComponent & );
18   AliHLTPHOSModuleMergerComponent & operator = (const AliHLTPHOSModuleMergerComponent &)
19     {
20       return *this;
21    };
22   virtual int DoInit(int argc =0, const char** argv = 0);
23   virtual int Deinit();
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 );
28
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();
37
38  protected:
39   void Reset();
40   void ResetDataPtr();
41
42  private:
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 */
49 };
50
51 #endif