3 // $Id: AliHLTJETConeJetComponent.h $
5 #ifndef ALIHLTJETCONEJETCOMPONENT_H
6 #define ALIHLTJETCONEJETCOMPONENT_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 AliHLTJETConeJetComponent.h
13 @author Jochen Thaeder <thaeder@kip.uni-heidelberg.de>
15 @brief Component to run the ConeJet jetfinder
18 #include "AliHLTProcessor.h"
20 #include "AliHLTJETReader.h"
21 #include "AliHLTJETReaderHeader.h"
23 #include "AliHLTJETTrackCuts.h"
26 * @class AliHLTJETConeJetComponent
27 * Component to run the ConeJet jetfinder
32 class AliHLTJETConeJetComponent : public AliHLTProcessor {
36 * ---------------------------------------------------------------------------------
37 * Constructor / Destructor
38 * ---------------------------------------------------------------------------------
42 AliHLTJETConeJetComponent();
45 virtual ~AliHLTJETConeJetComponent();
48 * ---------------------------------------------------------------------------------
49 * Public functions to implement AliHLTComponent's interface.
50 * These functions are required for the registration process
51 * ---------------------------------------------------------------------------------
54 /** interface function, see @ref AliHLTComponent for description */
55 const Char_t* GetComponentID();
57 /** interface function, see @ref AliHLTComponent for description */
58 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
60 /** interface function, see @ref AliHLTComponent for description */
61 AliHLTComponentDataType GetOutputDataType();
63 /** interface function, see @ref AliHLTComponent for description */
64 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
66 /** interface function, see @ref AliHLTComponent for description */
67 AliHLTComponent* Spawn();
72 * ---------------------------------------------------------------------------------
73 * Protected functions to implement AliHLTComponent's interface.
74 * These functions provide initialization as well as the actual processing
75 * capabilities of the component.
76 * ---------------------------------------------------------------------------------
80 * Overwrites the AliHLTProcessor::DoInit() method.
81 * @param argc size of the argument array
82 * @param argv agument array for component initialization
83 * @return number of processed members of the argv <br>
84 * -EINVAL unknown argument <br>
85 * -EPROTO parameter for argument missing
87 Int_t DoInit( Int_t argc, const Char_t** argv );
90 * Calls also the one of AliHLTProcessor.
95 * Data processing method for the component.
96 * The component uses the @ref alihltcomponent-high-level-interface
97 * to retrieve and put serialized Root object into the output stream.
98 * @param evtData event data structure
99 * @param trigData trigger data structure
102 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
104 using AliHLTProcessor::DoEvent;
106 ///////////////////////////////////////////////////////////////////////////////////
110 * ---------------------------------------------------------------------------------
111 * Private functions to implement AliHLTComponent's interface.
112 * These functions provide initialization as well as the actual processing
113 * capabilities of the component.
114 * ---------------------------------------------------------------------------------
117 /** copy constructor prohibited */
118 AliHLTJETConeJetComponent(const AliHLTJETConeJetComponent&);
120 /** assignment operator prohibited */
121 AliHLTJETConeJetComponent& operator=(const AliHLTJETConeJetComponent&);
124 * ---------------------------------------------------------------------------------
126 * ---------------------------------------------------------------------------------
129 /** Ptr to the jet finder */
130 AliHLTJETConeJetFinder *fJetFinder; //!transient
132 /** Ptr to the jet finder header */
133 AliHLTJETConeJetHeader *fJetHeader; //!transient
135 /** Ptr to jet reader */
136 AliHLTJETReader *fJetReader; //!transient
138 /** Ptr to jet reader header */
139 AliHLTJETReaderHeader *fJetReaderHeader; //!transient
141 /** Ptr to track cuts */
142 AliHLTJETTrackCuts *fJetTrackCuts; //!transient
144 ClassDef(AliHLTJETConeJetComponent, 0)