bugfix: not implemented functions removed from class definition (Jochen); more fighti...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCRunStatisticsProducerComponent.h
CommitLineData
2ff24e4c 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
34class AliHLTTPCRunStatisticsProducerComponent : public AliHLTProcessor {
35
36public:
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();
2ff24e4c 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
81private:
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