]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSFourierComponent.h
Updating CMake files
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSFourierComponent.h
1 #ifndef ALIHLTPHOSFOURIERCOMPONENT_H
2 #define ALIHLTPHOSFOURIERCOMPONENT_H
3
4 /**************************************************************************
5  * This file is property of and copyright by the Experimental Nuclear     *
6  * Physics Group, Dep. of Physics                                         *
7  * University of Oslo, Norway, 2007                                       *
8  *                                                                        *
9  * Author: Per Thomas Hille <perthi@fys.uio.no> for the ALICE HLT Project.*
10  * Contributors are mentioned in the code where appropriate.              *
11  * Please report bugs to perthi@fys.uio.no                                *
12  *                                                                        *
13  * Permission to use, copy, modify and distribute this software and its   *
14  * documentation strictly for non-commercial purposes is hereby granted   *
15  * without fee, provided that the above copyright notice appears in all   *
16  * copies and that both the copyright notice and this permission notice   *
17  * appear in the supporting documentation. The authors make no claims     *
18  * about the suitability of this software for any purpose. It is          *
19  * provided "as is" without express or implied warranty.                  *
20  **************************************************************************/
21
22
23 #include "AliHLTPHOSRcuProcessor.h"
24
25 class  AliHLTPHOSFourier;
26 class  AliHLTPHOSSharedMemoryInterface;
27 class AliHLTPHOSRcuFFTDataStruct;
28
29 class  AliHLTPHOSFourierComponent :  public AliHLTPHOSRcuProcessor
30 {
31  public:
32   AliHLTPHOSFourierComponent();
33   virtual ~AliHLTPHOSFourierComponent();
34   int DoInit(int argc, const char** argv);
35   virtual int Deinit();
36   int DoEvent(const AliHLTComponentEventData& evtData,
37               const AliHLTComponentBlockData* blocks, 
38               AliHLTComponentTriggerData& trigData,
39               AliHLTUInt8_t* outputPtr, 
40               AliHLTUInt32_t& size,
41               AliHLTComponentBlockDataList& outputBlocks );
42
43   virtual const char* GetComponentID();
44   virtual AliHLTComponent* Spawn();
45   virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
46   virtual AliHLTComponentDataType GetOutputDataType();
47   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
48  
49   //virtual int GetOutputDataTypes(AliHLTComponentDataTypeList& list);
50
51 protected:
52   //  int DoInit(int argc, const char** argv);
53   //  int DoDeinit();
54  
55 private:
56   AliHLTPHOSFourierComponent  (const  AliHLTPHOSFourierComponent  & ): AliHLTPHOSRcuProcessor(),
57     fFourierPtr(0),
58     fShmPtr(0),
59     fOutPtr(0)
60       {
61       };
62
63   AliHLTPHOSFourierComponent  & operator = (const AliHLTPHOSFourierComponent)
64   {
65     return *this;
66   };
67
68   AliHLTPHOSFourier *fFourierPtr;
69   AliHLTPHOSSharedMemoryInterface *fShmPtr; // Interface to read altro channel data from shared memory
70   AliHLTPHOSRcuFFTDataStruct* fOutPtr;  //comment
71 };
72
73 #endif