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