3 #ifndef ALIHLTTPCRUNSTATISTICSPRODUCERCOMPONENT_H
4 #define ALIHLTTPCRUNSTATISTICSPRODUCERCOMPONENT_H
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 */
10 /** @file AliHLTTPCRunStatisticsProducerComponent.h
11 * @author Jochen Thaeder
13 * @brief Component for producing the @see AliHLTTPCRunStatistics
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTProcessor.h"
24 #include "AliHLTTPCRunStatistics.h"
25 #include "AliHLTTPCEventStatistics.h"
28 * @class AliHLTTPCRunStatisticsProducerComponent
29 * @brief Component for producing the @see AliHLTTPCRunStatistics
31 * @ingroup alihlt_run_statistics alihlt_trigger
34 class AliHLTTPCRunStatisticsProducerComponent : public AliHLTProcessor {
39 AliHLTTPCRunStatisticsProducerComponent();
41 virtual ~AliHLTTPCRunStatisticsProducerComponent();
43 // Public functions to implement AliHLTComponent's interface.
44 // These functions are required for the registration process
46 const char* GetComponentID();
47 void GetInputDataTypes( AliHLTComponentDataTypeList& list );
49 AliHLTComponentDataType GetOutputDataType();
51 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
52 AliHLTComponent* Spawn();
56 using AliHLTProcessor::DoEvent;
58 // Protected functions to implement AliHLTComponent's interface.
59 // These functions provide initialization as well as the actual processing
60 // capabilities of the component.
62 /** Initialize the trigger component. */
63 Int_t DoInit( int argc, const char** argv );
65 /** DeInitialize the trigger component. */
68 /** Process the data in the trigger component */
69 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
71 // ------------------------------------------------------------------------------------------
73 /** Get Process event statistics coming from @see AliHLTTPCEventStatistics
74 * @param evStat event statistics as @see AliHLTTPCEventStatistics
76 void ProcessEventStatistics( AliHLTTPCEventStatistics* evStat );
78 /** Get ptr to @see AliHLTTPCRunStatistics, is a TObject */
79 AliHLTTPCRunStatistics* GetRunStatistics() { return fRunStat; }
83 /** copy constructor prohibited */
84 AliHLTTPCRunStatisticsProducerComponent (const AliHLTTPCRunStatisticsProducerComponent&);
86 /** assignment operator prohibited */
87 AliHLTTPCRunStatisticsProducerComponent& operator= (const AliHLTTPCRunStatisticsProducerComponent&);
89 /** Event Statistics class*/
90 AliHLTTPCRunStatistics* fRunStat; //! transient
92 /** If run header is set */
93 Bool_t fIsHeader; // see above
95 ClassDef(AliHLTTPCRunStatisticsProducerComponent, 0);