]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/JET/analysis/AliHLTJETAnalysisComponent.h
correcting placement of 'using' statements (Thorsten)
[u/mrichter/AliRoot.git] / HLT / JET / analysis / AliHLTJETAnalysisComponent.h
CommitLineData
4f9ef8d0 1//-*- Mode: C++ -*-
2
3// $Id: AliHLTJETAnalysisComponent.h $
4
5#ifndef ALIHLTJETANALYSISCOMPONENT_H
6#define ALIHLTJETANALYSISCOMPONENT_H
7
8//* This file is property of and copyright by the ALICE HLT Project *
9//* ALICE Experiment at CERN, All rights reserved. *
10//* See cxx source for full Copyright notice *
11
12/** @file AliHLTJETAnalysisComponent.h
54644e74 13 @author Jochen Thaeder <jochen@thaeder.de>
14 @brief Component to run the analysis for the jetfinder
4f9ef8d0 15*/
16
17// see below for class documentation
18// or
19// refer to README to build package
20// or
21// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22
23#include "AliHLTProcessor.h"
24
25#include "AliHLTJETAnalysisJets.h"
26
27/**
28 * @class AliHLTJETAnalysisComponent
29 * Component to analyse jets produced by the HLT
30 *
31 * @ingroup alihlt_jet
32 */
33
34class AliHLTJETAnalysisComponent : public AliHLTProcessor {
35public:
36
37 /*
38 * ---------------------------------------------------------------------------------
39 * Constructor / Destructor
40 * ---------------------------------------------------------------------------------
41 */
42
43 /** constructor */
44 AliHLTJETAnalysisComponent();
45
46 /** destructor */
47 virtual ~AliHLTJETAnalysisComponent();
48
49 /*
50 * ---------------------------------------------------------------------------------
51 * Public functions to implement AliHLTComponent's interface.
52 * These functions are required for the registration process
53 * ---------------------------------------------------------------------------------
54 */
55
56 /** interface function, see @ref AliHLTComponent for description */
57 const Char_t* GetComponentID();
58
59 /** interface function, see @ref AliHLTComponent for description */
60 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
61
62 /** interface function, see @ref AliHLTComponent for description */
63 AliHLTComponentDataType GetOutputDataType();
64
65 /** interface function, see @ref AliHLTComponent for description */
66 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
67
68 /** interface function, see @ref AliHLTComponent for description */
69 AliHLTComponent* Spawn();
70
71protected:
72
73 /*
74 * ---------------------------------------------------------------------------------
75 * Protected functions to implement AliHLTComponent's interface.
76 * These functions provide initialization as well as the actual processing
77 * capabilities of the component.
78 * ---------------------------------------------------------------------------------
79 */
80
81 /** Initialization
82 * Overwrites the AliHLTProcessor::DoInit() method.
83 * @param argc size of the argument array
84 * @param argv agument array for component initialization
85 * @return number of processed members of the argv <br>
86 * -EINVAL unknown argument <br>
87 * -EPROTO parameter for argument missing
88 */
89 Int_t DoInit( Int_t argc, const Char_t** argv );
90
91 /** DeInitialization
92 * Calls also the one of AliHLTProcessor.
93 */
94 Int_t DoDeinit();
95
96 /** EventLoop
97 * Data processing method for the component.
98 * The component uses the @ref alihltcomponent-high-level-interface
99 * to retrieve and put serialized Root object into the output stream.
100 * @param evtData event data structure
101 * @param trigData trigger data structure
102 * @return
103 */
104 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
105
106 using AliHLTProcessor::DoEvent;
107
108 ///////////////////////////////////////////////////////////////////////////////////
109
110private:
111 /*
112 * ---------------------------------------------------------------------------------
113 * Private functions to implement AliHLTComponent's interface.
114 * These functions provide initialization as well as the actual processing
115 * capabilities of the component.
116 * ---------------------------------------------------------------------------------
117 */
118
119 /** copy constructor prohibited */
120 AliHLTJETAnalysisComponent(const AliHLTJETAnalysisComponent&);
121
122 /** assignment operator prohibited */
123 AliHLTJETAnalysisComponent& operator=(const AliHLTJETAnalysisComponent&);
124
125 /*
126 * ---------------------------------------------------------------------------------
127 * Members - private
128 * ---------------------------------------------------------------------------------
129 */
130
131 AliHLTJETAnalysisJets *fAnalysisJets; //! transient
132
133 ClassDef(AliHLTJETAnalysisComponent, 0)
134
135};
136#endif