]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCRunStatisticsProducerComponent.h
fixing warnings
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCRunStatisticsProducerComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 #ifndef ALIHLTTPCRUNSTATISTICSPRODUCERCOMPONENT_H
4 #define ALIHLTTPCRUNSTATISTICSPRODUCERCOMPONENT_H
5
6 /* This file is property of and copyright by the ALICE HLT Project        * 
7  * ALICE Experiment at CERN, All rights reserved.                         *
8  * See cxx source for full Copyright notice                               */
9
10 /** @file   AliHLTTPCRunStatisticsProducerComponent.h
11  *  @author Jochen Thaeder
12  *  @date   
13  *  @brief  Component for producing the @see AliHLTTPCRunStatistics
14  */
15
16 // see below for class documentation
17 // or
18 // refer to README to build package
19 // or
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
21
22 #include "AliHLTProcessor.h"
23
24 #include "AliHLTTPCRunStatistics.h"
25 #include "AliHLTTPCEventStatistics.h"
26
27 /**
28  * @class  AliHLTTPCRunStatisticsProducerComponent
29  * @brief  Component for producing the @see AliHLTTPCRunStatistics
30  *
31  * @ingroup alihlt_run_statistics alihlt_trigger
32  */
33
34 class AliHLTTPCRunStatisticsProducerComponent : public AliHLTProcessor {
35   
36 public:
37   
38   /** constructor */
39   AliHLTTPCRunStatisticsProducerComponent();
40   /** destructor */
41   virtual ~AliHLTTPCRunStatisticsProducerComponent();
42
43   // Public functions to implement AliHLTComponent's interface.
44   // These functions are required for the registration process
45   
46   const char* GetComponentID();
47   void GetInputDataTypes( AliHLTComponentDataTypeList& list );
48
49   AliHLTComponentDataType GetOutputDataType();
50
51   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
52   AliHLTComponent* Spawn();
53
54  protected:
55
56   using AliHLTProcessor::DoEvent;
57
58   // Protected functions to implement AliHLTComponent's interface.
59   // These functions provide initialization as well as the actual processing
60   // capabilities of the component. 
61   
62   /** Initialize the trigger component. */
63   Int_t DoInit( int argc, const char** argv );
64
65   /** DeInitialize the trigger component. */
66   Int_t DoDeinit();
67   
68   /** Process the data in the trigger component */
69   Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
70
71   // ------------------------------------------------------------------------------------------
72
73   /** Get Process event statistics coming from @see AliHLTTPCEventStatistics
74    *  @param evStat  event statistics as @see AliHLTTPCEventStatistics
75    */
76   void ProcessEventStatistics( AliHLTTPCEventStatistics* evStat );
77
78   /** Get ptr to @see AliHLTTPCRunStatistics, is a TObject */
79   AliHLTTPCRunStatistics* GetRunStatistics() { return fRunStat; }  
80
81 private:
82  
83   /** copy constructor prohibited */
84   AliHLTTPCRunStatisticsProducerComponent (const AliHLTTPCRunStatisticsProducerComponent&);
85
86   /** assignment operator prohibited */
87   AliHLTTPCRunStatisticsProducerComponent& operator= (const AliHLTTPCRunStatisticsProducerComponent&);
88
89   /** Event Statistics class*/
90   AliHLTTPCRunStatistics* fRunStat;                                                                  //! transient
91
92   /** If run header is set */
93   Bool_t fIsHeader;                                                                                  // see above
94   
95   ClassDef(AliHLTTPCRunStatisticsProducerComponent, 0);
96
97 };
98 #endif
99