]>
Commit | Line | Data |
---|---|---|
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 | ||
34 | class AliHLTJETAnalysisComponent : public AliHLTProcessor { | |
35 | public: | |
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 | ||
71 | protected: | |
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 | ||
110 | private: | |
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 |