3 // $Id: AliHLTJETAnalysisComponent.h $
5 #ifndef ALIHLTJETANALYSISCOMPONENT_H
6 #define ALIHLTJETANALYSISCOMPONENT_H
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 *
12 /** @file AliHLTJETAnalysisComponent.h
13 @author Jochen Thaeder <jochen@thaeder.de>
14 @brief Component to run the analysis for the jetfinder
17 // see below for class documentation
19 // refer to README to build package
21 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
23 #include "AliHLTProcessor.h"
25 #include "AliHLTJETAnalysisJets.h"
28 * @class AliHLTJETAnalysisComponent
29 * Component to analyse jets produced by the HLT
34 class AliHLTJETAnalysisComponent : public AliHLTProcessor {
38 * ---------------------------------------------------------------------------------
39 * Constructor / Destructor
40 * ---------------------------------------------------------------------------------
44 AliHLTJETAnalysisComponent();
47 virtual ~AliHLTJETAnalysisComponent();
50 * ---------------------------------------------------------------------------------
51 * Public functions to implement AliHLTComponent's interface.
52 * These functions are required for the registration process
53 * ---------------------------------------------------------------------------------
56 /** interface function, see @ref AliHLTComponent for description */
57 const Char_t* GetComponentID();
59 /** interface function, see @ref AliHLTComponent for description */
60 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
62 /** interface function, see @ref AliHLTComponent for description */
63 AliHLTComponentDataType GetOutputDataType();
65 /** interface function, see @ref AliHLTComponent for description */
66 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
68 /** interface function, see @ref AliHLTComponent for description */
69 AliHLTComponent* Spawn();
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 * ---------------------------------------------------------------------------------
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
89 Int_t DoInit( Int_t argc, const Char_t** argv );
92 * Calls also the one of AliHLTProcessor.
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
104 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
106 using AliHLTProcessor::DoEvent;
108 ///////////////////////////////////////////////////////////////////////////////////
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 * ---------------------------------------------------------------------------------
119 /** copy constructor prohibited */
120 AliHLTJETAnalysisComponent(const AliHLTJETAnalysisComponent&);
122 /** assignment operator prohibited */
123 AliHLTJETAnalysisComponent& operator=(const AliHLTJETAnalysisComponent&);
126 * ---------------------------------------------------------------------------------
128 * ---------------------------------------------------------------------------------
131 AliHLTJETAnalysisJets *fAnalysisJets; //! transient
133 ClassDef(AliHLTJETAnalysisComponent, 0)