]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRcuDAComponent.h
Coverity 17737 solved by non-implemented private copy constructor and assignment...
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRcuDAComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 /**************************************************************************
5  * This file is property of and copyright by the ALICE HLT Project        * 
6  * All rights reserved.                                                   *
7  *                                                                        *
8  * Primary Authors: Oystein Djuvsland                                     *
9  *                                                                        *
10  * Permission to use, copy, modify and distribute this software and its   *
11  * documentation strictly for non-commercial purposes is hereby granted   *
12  * without fee, provided that the above copyright notice appears in all   *
13  * copies and that both the copyright notice and this permission notice   *
14  * appear in the supporting documentation. The authors make no claims     *
15  * about the suitability of this software for any purpose. It is          * 
16  * provided "as is" without express or implied warranty.                  *
17  **************************************************************************/
18
19
20 #ifndef ALIHLTPHOSRCUDACOMPONENT_H
21 #define ALIHLTPHOSRCUDACOMPONENT_H
22
23 /**
24  * Module calibration processor component for PHOS HLT
25  *
26  * @file   AliHLTPHOSRcuDAComponent.h
27  * @author Oystein Djuvsland
28  * @date   
29  * @brief  Module calibration processor component for PHOS HLT
30 */
31
32 // see below for class documentation
33 // or
34 // refer to README to build package
35 // or
36 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
37
38 #include "AliHLTCalibrationProcessor.h"
39
40 // #include "AliHLTPHOSConstant.h"
41 //#include "AliHLTPHOSRcuProperties.h"
42
43 using namespace PhosHLTConst;
44
45 class AliPHOSRcuDA1;
46 class AliHLTPHOSSharedMemoryInterfacev2;
47 class TObjArray;
48
49 //class AliHLTPHOSRcuDAComponent: public AliHLTCalibrationProcessor,  public AliHLTPHOSRcuProcessor
50 //class AliHLTPHOSRcuDAComponent:  public AliHLTPHOSRcuProperties, public AliHLTCalibrationProcessor
51
52
53 class AliHLTPHOSRcuDAComponent:  public AliHLTCalibrationProcessor
54 {
55 public:
56   /** constructor */
57   AliHLTPHOSRcuDAComponent();
58   /** destructor */
59   virtual ~AliHLTPHOSRcuDAComponent();
60  /*  virtual int Deinit(); */
61 /*   virtual int DoInit(int, const char**); */
62
63   // Public functions to implement AliHLTComponent's interface.
64   // These functions are required for the registration process
65
66   const char* GetComponentID();
67   void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
68   AliHLTComponentDataType GetOutputDataType();
69   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
70   AliHLTComponent* Spawn();
71
72 protected:
73   // Protected functions to implement AliHLTComponent's interface.
74   // These functions provide initialization as well as the actual processing
75   // capabilities of the component. 
76       
77   /** Initialize the calibration component. */
78   Int_t InitCalibration();
79
80   /** Scan commandline arguments of the calibration component. */
81   Int_t ScanArgument( Int_t argc, const char** argv );
82
83   /** DeInitialize the calibration component. */
84   Int_t DeinitCalibration();
85
86   /** Process the data in the calibration component. */
87   using  AliHLTCalibrationProcessor::ProcessCalibration;
88   Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
89
90   /** Ship the data to the FXS at end of run or eventmodulo. */
91   using AliHLTCalibrationProcessor::ShipDataToFXS; 
92   Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
93
94   /** Reset the energy and timing arrays */
95   //   void ResetArrays(Float_t e[NXCOLUMNSMOD][NZROWSMOD][NGAINS], Float_t t[NXCOLUMNSMOD][NZROWSMOD][NGAINS]);
96
97   //  int fCnt; ///TODO, remove this
98
99 private:
100     /** not a valid copy constructor, defined according to effective C++ style */
101   AliHLTPHOSRcuDAComponent(const AliHLTPHOSRcuDAComponent&);
102   /** not a valid assignment op, but defined according to effective C++ style */
103   AliHLTPHOSRcuDAComponent& operator=(const AliHLTPHOSRcuDAComponent&);
104   int fPhosEventCount;  ///TODO, remove this
105
106   /** Pointer to the DA */
107   AliPHOSRcuDA1* fPHOSDAPtr;   //! transient
108
109   /** Interface to read altro channel data from shared memory */
110   AliHLTPHOSSharedMemoryInterfacev2 *fShmPtr;   //! transient
111
112 };
113
114 #endif
115