]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSHistogramProducerComponent.h
- Bug fix: in the creation/reading of the trigger DCS values, the HV and currents...
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSHistogramProducerComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4
5 /**************************************************************************
6  * This file is property of and copyright by the ALICE HLT Project        * 
7  * All rights reserved.                                                   *
8  *                                                                        *
9  * Primary Authors: Oystein Djuvsland                                     *
10  *                                                                        *
11  * Permission to use, copy, modify and distribute this software and its   *
12  * documentation strictly for non-commercial purposes is hereby granted   *
13  * without fee, provided that the above copyright notice appears in all   *
14  * copies and that both the copyright notice and this permission notice   *
15  * appear in the supporting documentation. The authors make no claims     *
16  * about the suitability of this software for any purpose. It is          * 
17  * provided "as is" without express or implied warranty.                  *
18  **************************************************************************/
19
20 #ifndef ALIHLTPHOSHISTOGRAMPRODUCERCOMPONENT_H
21 #define ALIHLTPHOSHISTOGRAMPRODUCERCOMPONENT_H
22
23
24
25 /**
26  * 
27  *
28  * @file   AliHLTPHOSHistogramProducerComponent.cxx
29  * @author Oystein Djuvsland
30  * @date   
31  * @brief  
32 */
33
34 // see below for class documentation
35 // or
36 // refer to README to build package
37 // or
38 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
39
40 #include "AliHLTPHOSProcessor.h"
41
42 class AliHLTPHOSPhysicsHistogramProducer;
43 /**
44  * @class AliHLTPHOSHistogramProducerComponent
45  *
46  * 
47  * @ingroup alihlt_phos
48  */
49 class AliHLTPHOSHistogramProducerComponent: public AliHLTPHOSProcessor
50 {
51  public:
52
53   /** Constructor */
54   AliHLTPHOSHistogramProducerComponent();
55
56   /** Destructor */
57   virtual ~AliHLTPHOSHistogramProducerComponent();
58
59   /** Copy constructor */  
60   AliHLTPHOSHistogramProducerComponent(const AliHLTPHOSHistogramProducerComponent & ) : 
61     AliHLTPHOSProcessor(),
62     fPhysicsHistogramProducerPtr(0),
63     fPushModulo(0)
64   {
65     //Copy constructor not implemented
66   }
67   
68   /** Assignment */
69   AliHLTPHOSHistogramProducerComponent & operator = (const AliHLTPHOSHistogramProducerComponent)
70   {
71     //Assignment
72     return *this; 
73   }
74
75   /** interface function, see @ref AliHLTComponent for description */
76   const char* GetComponentID();
77
78   /** interface function, see @ref AliHLTComponent for description */
79   void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
80
81   /** interface function, see @ref AliHLTComponent for description */
82   AliHLTComponentDataType GetOutputDataType();
83
84   /** interface function, see @ref AliHLTComponent for description */
85   void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
86
87   /** interface function, see @ref AliHLTComponent for description */
88   
89   using  AliHLTPHOSProcessor::DoEvent;
90
91   int DoEvent(const AliHLTComponentEventData& evtData, 
92               AliHLTComponentTriggerData& trigData);
93     
94   // Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
95   /** interface function, see @ref AliHLTComponent for description */
96   AliHLTComponent* Spawn();
97   
98 protected:
99
100   /** interface function, see @ref AliHLTComponent for description */
101   int DoInit(int argc, const char** argv);
102
103   /** interface function, see @ref AliHLTComponent for description */
104   int Deinit();
105
106  private:
107
108   AliHLTPHOSPhysicsHistogramProducer* fPhysicsHistogramProducerPtr;
109   UInt_t fPushModulo;
110
111 };
112
113 #endif