FastJet  3.1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Types | Public Member Functions | List of all members
fastjet::Transformer Class Referenceabstract

Base (abstract) class for a jet transformer. More...

#include <fastjet/tools/Transformer.hh>

Inheritance diagram for fastjet::Transformer:
Inheritance graph
[legend]
Collaboration diagram for fastjet::Transformer:
Collaboration graph
[legend]

Public Types

typedef PseudoJetStructureBase StructureType
 A typedef that is needed to ensure that the PseudoJet::structure_of() template function works.
 

Public Member Functions

 Transformer ()
 default ctor
 
virtual ~Transformer ()
 default dtor
 
virtual PseudoJet result (const PseudoJet &original) const =0
 the result of the Transformer acting on the PseudoJet. More...
 
virtual std::string description () const =0
 This should be overloaded to return a description of the Transformer.
 
- Public Member Functions inherited from fastjet::FunctionOfPseudoJet< PseudoJet >
 FunctionOfPseudoJet ()
 default ctor
 
virtual ~FunctionOfPseudoJet ()
 default dtor (virtual to allow safe polymorphism)
 
PseudoJet operator() (const PseudoJet &pj) const
 apply the function using the "traditional" () operator. More...
 
std::vector< PseudoJetoperator() (const std::vector< PseudoJet > &pjs) const
 apply the function on a vector of PseudoJet, returning a vector of the results. More...
 

Detailed Description

Base (abstract) class for a jet transformer.

A transformer, when it acts on a jet, returns a modified version of that jet, one that may have a different momentum and/or different internal structure.

The typical usage of a class derived from Transformer is

SomeTransformer transformer(...);
PseudoJet transformed_jet = transformer(original_jet);
// or
vector<PseudoJet> transformed_jets = transformer(original_jets);

For many transformers, the transformed jets have transformer-specific information that can be accessed through the

transformed_jet.structure_of<SomeTransformer>().transformer_specific_info();

See the description of the Filter class for a more detailed usage example. See the FastJet manual to find out how to implement new transformers.

Definition at line 71 of file Transformer.hh.

Member Function Documentation

virtual PseudoJet fastjet::Transformer::result ( const PseudoJet original) const
pure virtual

the result of the Transformer acting on the PseudoJet.

this has to be overloaded in derived classes

Parameters
originalthe PseudoJet input to the Transformer

Implements fastjet::FunctionOfPseudoJet< PseudoJet >.

Implemented in fastjet::Subtractor, fastjet::CASubJetTagger, fastjet::Filter, fastjet::Pruner, fastjet::JHTopTagger, fastjet::RestFrameNSubjettinessTagger, and fastjet::MassDropTagger.


The documentation for this class was generated from the following file: