3 // $Id: AliHLTJETFastJetComponent.h $
5 #ifndef ALIHLTJETFASTJETCOMPONENT_H
6 #define ALIHLTJETFASTJETCOMPONENT_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 AliHLTJETFastJetComponent.h
13 @author Jochen Thaeder <thaeder@kip.uni-heidelberg.de>
15 @brief Component to run the FastJet jetfinder
18 #include "AliHLTProcessor.h"
20 #include "AliFastJetFinder.h"
21 #include "AliFastJetHeader.h"
23 #include "AliJetKineReader.h"
24 #include "AliJetKineReaderHeader.h"
27 * @class AliHLTJETFastJetComponent
28 * Component to run the FastJet jetfinder
33 class AliHLTJETFastJetComponent : public AliHLTProcessor {
37 * ---------------------------------------------------------------------------------
38 * Constructor / Destructor
39 * ---------------------------------------------------------------------------------
43 AliHLTJETFastJetComponent();
46 virtual ~AliHLTJETFastJetComponent();
49 * ---------------------------------------------------------------------------------
50 * Public functions to implement AliHLTComponent's interface.
51 * These functions are required for the registration process
52 * ---------------------------------------------------------------------------------
55 /** interface function, see @ref AliHLTComponent for description */
56 const Char_t* GetComponentID();
58 /** interface function, see @ref AliHLTComponent for description */
59 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
61 /** interface function, see @ref AliHLTComponent for description */
62 AliHLTComponentDataType GetOutputDataType();
64 /** interface function, see @ref AliHLTComponent for description */
65 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
67 /** interface function, see @ref AliHLTComponent for description */
68 AliHLTComponent* Spawn();
73 * ---------------------------------------------------------------------------------
74 * Protected functions to implement AliHLTComponent's interface.
75 * These functions provide initialization as well as the actual processing
76 * capabilities of the component.
77 * ---------------------------------------------------------------------------------
81 * Overwrites the AliHLTProcessor::DoInit() method.
82 * @param argc size of the argument array
83 * @param argv agument array for component initialization
84 * @return number of processed members of the argv <br>
85 * -EINVAL unknown argument <br>
86 * -EPROTO parameter for argument missing
88 Int_t DoInit( Int_t argc, const Char_t** argv );
91 * Calls also the one of AliHLTProcessor.
96 * Data processing method for the component.
97 * The component uses the @ref alihltcomponent-high-level-interface
98 * to retrieve and put serialized Root object into the output stream.
99 * @param evtData event data structure
100 * @param trigData trigger data structure
103 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
105 using AliHLTProcessor::DoEvent;
107 ///////////////////////////////////////////////////////////////////////////////////
111 * ---------------------------------------------------------------------------------
112 * Private functions to implement AliHLTComponent's interface.
113 * These functions provide initialization as well as the actual processing
114 * capabilities of the component.
115 * ---------------------------------------------------------------------------------
118 /** copy constructor prohibited */
119 AliHLTJETFastJetComponent(const AliHLTJETFastJetComponent&);
121 /** assignment operator prohibited */
122 AliHLTJETFastJetComponent& operator=(const AliHLTJETFastJetComponent&);
125 * ---------------------------------------------------------------------------------
127 * ---------------------------------------------------------------------------------
130 /** pointer to the jet finder object*/
131 AliFastJetFinder* fJetFinder; //!transient
133 AliFastJetHeader* fJetHeader; //!transient
135 AliJetKineReader* fJetReader; //!transient
137 AliJetKineReaderHeader* fJetReaderHeader; //!transient
139 ClassDef(AliHLTJETFastJetComponent, 0)