]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/trigger/AliHLTRunSummaryProducerComponent.h
including the CTPData to the input objects of the HLTGlobalTriggerDecision
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTRunSummaryProducerComponent.h
CommitLineData
2ff24e4c 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTRUNSUMMARYPRODUCERCOMPONENT_H
4#define ALIHLTRUNSUMMARYPRODUCERCOMPONENT_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 AliHLTRunSummaryProducerComponent.h
11 @author Jochen Thaeder
12 @date
13 @brief Produces a run summary
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#include "AliHLTRunSummary.h"
24#include "AliHLTEventSummary.h"
25
26/**
27 * @class AliHLTRunSummaryProducerComponent
28 * @brief Produces a run summary
29 *
30 * This class produces a run summary, updating informations for whole run
31 * and sends it out for every event, in order to have it displayed with AliEve
32 *
33 * @ingroup alihlt_run_statistics alihlt_trigger
34 */
35
36class AliHLTRunSummaryProducerComponent : public AliHLTProcessor {
37
38public:
39
40 /** constructor */
41 AliHLTRunSummaryProducerComponent();
42 /** destructor */
43 virtual ~AliHLTRunSummaryProducerComponent();
44
45 // Public functions to implement AliHLTComponent's interface.
46 // These functions are required for the registration process
47
48 const char* GetComponentID();
49 void GetInputDataTypes( AliHLTComponentDataTypeList& list );
50
51 AliHLTComponentDataType GetOutputDataType();
2ff24e4c 52
53 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
54 AliHLTComponent* Spawn();
55
56 protected:
57
58 using AliHLTProcessor::DoEvent;
59
60 // Protected functions to implement AliHLTComponent's interface.
61 // These functions provide initialization as well as the actual processing
62 // capabilities of the component.
63
64 /** Initialize the component. */
65 Int_t DoInit( int argc, const char** argv );
66
67 /** DeInitialize the component. */
68 Int_t DoDeinit();
69
70 /** Process the data in the component */
71 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
72
73 // ------------------------------------------------------------------------------------------
74 /** Process event summary data block
6291d256 75 * @param eventSummary to @see AliHLTEventSummary
2ff24e4c 76 */
77 void ProcessEventSummary( AliHLTEventSummary* eventSummary );
78
79 /** Process trigger data block
6291d256 80 * @param trigData to @see AliHLTComponentTriggerData
2ff24e4c 81 */
82 void ProcessTriggerData( AliHLTComponentTriggerData& trigData );
83
84private:
85
86 /** copy constructor prohibited */
87 AliHLTRunSummaryProducerComponent (const AliHLTRunSummaryProducerComponent&);
88
89 /** assignment operator prohibited */
90 AliHLTRunSummaryProducerComponent& operator= (const AliHLTRunSummaryProducerComponent&);
91
92 /** Run summary class*/
93 AliHLTRunSummary* fRunSummary; //! transient
94
95 ClassDef(AliHLTRunSummaryProducerComponent, 0);
96
97};
98#endif
99