FastJet 3.4.1
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. More...
 

Public Member Functions

 Transformer ()
 default ctor More...
 
virtual ~Transformer ()
 default dtor More...
 
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. More...
 
- Public Member Functions inherited from fastjet::FunctionOfPseudoJet< PseudoJet >
 FunctionOfPseudoJet ()
 default ctor More...
 
virtual ~FunctionOfPseudoJet ()
 default dtor (virtual to allow safe polymorphism) More...
 
virtual std::string description () const
 returns a description of the function (an empty string by default) More...
 
virtual PseudoJet result (const PseudoJet &pj) const=0
 the action of the function this has to be overloaded in derived classes More...
 
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);
Class to contain pseudojets, including minimal information of use to jet-clustering routines.
Definition: PseudoJet.hh:68

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

transformed_jet.structure_of<SomeTransformer>().transformer_specific_info();
const TransformerType::StructureType & structure_of() const
this is a helper to access any structure created by a Transformer (that is, of type Transformer::Stru...
Definition: PseudoJet.hh:1146

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 Typedef Documentation

◆ StructureType

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

Definition at line 93 of file Transformer.hh.

Constructor & Destructor Documentation

◆ Transformer()

fastjet::Transformer::Transformer ( )
inline

default ctor

Definition at line 74 of file Transformer.hh.

◆ ~Transformer()

virtual fastjet::Transformer::~Transformer ( )
inlinevirtual

default dtor

Definition at line 77 of file Transformer.hh.

Member Function Documentation

◆ result()

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::CASubJetTagger, fastjet::Filter, fastjet::JHTopTagger, fastjet::MassDropTagger, fastjet::Pruner, fastjet::RestFrameNSubjettinessTagger, and fastjet::Subtractor.

◆ description()

virtual std::string fastjet::Transformer::description ( ) const
pure virtual

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