Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

fastjet::JetDefinition Class Reference

class that is intended to hold a full definition of the jet clusterer More...

#include <JetDefinition.hh>

Collaboration diagram for fastjet::JetDefinition:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 JetDefinition (JetFinder jet_finder, double R, Strategy strategy, RecombinationScheme recomb_scheme=E_scheme)
 constructor to fully specify a jet-definition (together with information about how algorithically to run it).
 JetDefinition (JetFinder jet_finder=kt_algorithm, double R=1.0, RecombinationScheme recomb_scheme=E_scheme, Strategy strategy=Best)
 constructor with alternative ordering or arguments -- note that we have not provided a default jet finder, to avoid ambiguous JetDefinition() constructor.
 JetDefinition (JetFinder jet_finder, double R, const Recombiner *recombiner, Strategy strategy=Best)
 constructor in a form that allows the user to provide a pointer to an external recombiner class (which must remain valid for the life of the JetDefinition object).
 JetDefinition (const Plugin *plugin)
 constructor based on a pointer to a user's plugin; the object pointed to must remain valid for the whole duration of existence of the JetDefinition and any related ClusterSequences
void set_recombination_scheme (RecombinationScheme)
 set the recombination scheme to the one provided
void set_recombiner (const Recombiner *recomb)
 set the recombiner class to the one provided
const Pluginplugin () const
 return a pointer to the plugin
JetFinder jet_finder () const
double R () const
Strategy strategy () const
RecombinationScheme recombination_scheme () const
const Recombinerrecombiner () const
 return a pointer to the currently defined recombiner (it may be the internal one)
std::string description () const
 return a textual description of the current jet definition

Private Attributes

JetFinder _jet_finder
double _Rparam
Strategy _strategy
const Plugin_plugin
DefaultRecombiner _default_recombiner
const Recombiner_recombiner

Classes

class  DefaultRecombiner
 A class that will provide the recombination scheme facilities and/or allow a user to extend these facilities. More...
class  Plugin
 a class that allows a user to introduce their own "plugin" jet finder More...
class  Recombiner
 An abstract base class that will provide the recombination scheme facilities and/or allow a user to extend these facilities. More...

Detailed Description

class that is intended to hold a full definition of the jet clusterer

Definition at line 121 of file JetDefinition.hh.


Constructor & Destructor Documentation

fastjet::JetDefinition::JetDefinition JetFinder  jet_finder,
double  R,
Strategy  strategy,
RecombinationScheme  recomb_scheme = E_scheme
[inline]
 

constructor to fully specify a jet-definition (together with information about how algorithically to run it).

Definition at line 137 of file JetDefinition.hh.

References fastjet::pi, fastjet::plugin_algorithm, and fastjet::plugin_strategy.

00140                                                               :
00141     _jet_finder(jet_finder), _Rparam(R), _strategy(strategy) {
00142     // the largest sensible value for R
00143     assert(_Rparam <= 0.5*pi);
00144     assert(_jet_finder != plugin_algorithm &&
00145            _strategy   != plugin_strategy);
00146     _plugin = 0;
00147     set_recombination_scheme(recomb_scheme);
00148   };
  

fastjet::JetDefinition::JetDefinition JetFinder  jet_finder = kt_algorithm,
double  R = 1.0,
RecombinationScheme  recomb_scheme = E_scheme,
Strategy  strategy = Best
[inline]
 

constructor with alternative ordering or arguments -- note that we have not provided a default jet finder, to avoid ambiguous JetDefinition() constructor.

Definition at line 154 of file JetDefinition.hh.

00157                                           {
00158     *this = JetDefinition(jet_finder, R, strategy, recomb_scheme);
00159   };

fastjet::JetDefinition::JetDefinition JetFinder  jet_finder,
double  R,
const Recombiner recombiner,
Strategy  strategy = Best
[inline]
 

constructor in a form that allows the user to provide a pointer to an external recombiner class (which must remain valid for the life of the JetDefinition object).

Definition at line 165 of file JetDefinition.hh.

References fastjet::external_scheme.

00168                                           {
00169     *this = JetDefinition(jet_finder, R, strategy, external_scheme);
00170     _recombiner = recombiner;
00171   };

fastjet::JetDefinition::JetDefinition const Plugin plugin  )  [inline]
 

constructor based on a pointer to a user's plugin; the object pointed to must remain valid for the whole duration of existence of the JetDefinition and any related ClusterSequences

Definition at line 176 of file JetDefinition.hh.

References fastjet::E_scheme, fastjet::plugin_algorithm, and fastjet::plugin_strategy.

00176                                        {
00177     _plugin = plugin;
00178     _strategy = plugin_strategy;
00179     _Rparam = -1.0;
00180     _jet_finder = plugin_algorithm;
00181     set_recombination_scheme(E_scheme);
00182   };


Member Function Documentation

string fastjet::JetDefinition::description  )  const
 

return a textual description of the current jet definition

Definition at line 9 of file JetDefinition.cc.

References fastjet::cambridge_algorithm, jet_finder(), fastjet::kt_algorithm, plugin(), fastjet::plugin_algorithm, R(), and recombiner().

Referenced by main(), and run_jet_finder().

00009                                         {
00010   ostringstream name;
00011   if (jet_finder() == plugin_algorithm) {
00012     return plugin()->description();
00013   } else if (jet_finder() == kt_algorithm) {
00014     name << "Longitudinally invariant kt algorithm with R = " << R();
00015     name << " and " << recombiner()->description();
00016   } else if (jet_finder() == cambridge_algorithm) {
00017     name << "Longitudinally invariant Cambridge/Aachen algorithm with R = " 
00018          << R() ;
00019     name << " and " << recombiner()->description();
00020   } else {
00021     throw Error("Unrecognized jet_finder");
00022   }
00023   return name.str();
00024 }

JetFinder fastjet::JetDefinition::jet_finder  )  const [inline]
 

Definition at line 197 of file JetDefinition.hh.

Referenced by fastjet::ClusterSequence::_initialise_and_run(), description(), and fastjet::ClusterSequence::exclusive_jets().

00197 {return _jet_finder  ;}; 

const Plugin* fastjet::JetDefinition::plugin  )  const [inline]
 

return a pointer to the plugin

Definition at line 194 of file JetDefinition.hh.

Referenced by fastjet::ClusterSequence::_initialise_and_run(), and description().

00194 {return _plugin;};

double fastjet::JetDefinition::R  )  const [inline]
 

Definition at line 198 of file JetDefinition.hh.

Referenced by fastjet::ClusterSequenceActiveArea::_initialise_and_run_AA(), and description().

00198 {return _Rparam      ;};

RecombinationScheme fastjet::JetDefinition::recombination_scheme  )  const [inline]
 

Definition at line 200 of file JetDefinition.hh.

00200                                                    {
00201     return _default_recombiner.scheme();};

const Recombiner* fastjet::JetDefinition::recombiner  )  const [inline]
 

return a pointer to the currently defined recombiner (it may be the internal one)

Definition at line 205 of file JetDefinition.hh.

Referenced by fastjet::ClusterSequence::_do_ij_recombination_step(), fastjet::ClusterSequence::_fill_initial_history(), fastjet::ClusterSequenceActiveAreaExplicitGhosts::_post_process(), fastjet::ClusterSequenceActiveArea::_transfer_areas(), and description().

00205                                         {
00206     return _recombiner == 0 ? & _default_recombiner : _recombiner;};

void fastjet::JetDefinition::set_recombination_scheme RecombinationScheme   ) 
 

set the recombination scheme to the one provided

Definition at line 27 of file JetDefinition.cc.

References _default_recombiner, and _recombiner.

00028                                                                   {
00029   _default_recombiner = JetDefinition::DefaultRecombiner(recomb_scheme);
00030   _recombiner = 0;
00031 }

void fastjet::JetDefinition::set_recombiner const Recombiner recomb  )  [inline]
 

set the recombiner class to the one provided

Definition at line 188 of file JetDefinition.hh.

References fastjet::external_scheme.

00188                                                  {
00189     _recombiner = recomb;
00190     _default_recombiner = DefaultRecombiner(external_scheme);
00191   };

Strategy fastjet::JetDefinition::strategy  )  const [inline]
 

Definition at line 199 of file JetDefinition.hh.

00199 {return _strategy    ;};


Member Data Documentation

DefaultRecombiner fastjet::JetDefinition::_default_recombiner [private]
 

Definition at line 282 of file JetDefinition.hh.

Referenced by set_recombination_scheme().

JetFinder fastjet::JetDefinition::_jet_finder [private]
 

Definition at line 274 of file JetDefinition.hh.

const Plugin* fastjet::JetDefinition::_plugin [private]
 

Definition at line 278 of file JetDefinition.hh.

const Recombiner* fastjet::JetDefinition::_recombiner [private]
 

Definition at line 283 of file JetDefinition.hh.

Referenced by set_recombination_scheme().

double fastjet::JetDefinition::_Rparam [private]
 

Definition at line 275 of file JetDefinition.hh.

Strategy fastjet::JetDefinition::_strategy [private]
 

Definition at line 276 of file JetDefinition.hh.


The documentation for this class was generated from the following files:
Generated on Mon Apr 2 20:58:19 2007 for fastjet by  doxygen 1.4.2