rivet is hosted by Hepforge, IPPP Durham
Rivet  2.7.0
Rivet::AxesDefinition Class Referenceabstract

Base class for projections which define a spatial basis. More...

#include <AxesDefinition.hh>

Inheritance diagram for Rivet::AxesDefinition:
Rivet::Projection Rivet::ProjectionApplier Rivet::Sphericity Rivet::Spherocity Rivet::Thrust

Public Member Functions

virtual ~AxesDefinition ()
 Virtual destructor.
 
virtual unique_ptr< Projectionclone () const =0
 Clone on the heap.
 
virtual const Vector3axis1 () const =0
 
virtual const Vector3axis2 () const =0
 The 2nd most significant ("major") axis.
 
virtual const Vector3axis3 () const =0
 The least significant ("minor") axis.
 
- Public Member Functions inherited from Rivet::Projection
virtual std::string name () const
 Get the name of the projection.
 
 Projection ()
 The default constructor.
 
virtual ~Projection ()
 The destructor.
 
virtual void project (const Event &e)=0
 
virtual int compare (const Projection &p) const =0
 
bool before (const Projection &p) const
 
virtual const std::set< PdgIdPair > beamPairs () const
 
ProjectionaddPdgIdPair (PdgId beam1, PdgId beam2)
 
- Public Member Functions inherited from Rivet::ProjectionApplier
 ProjectionApplier ()
 Constructor.
 
void markAsOwned () const
 Mark this object as owned by a proj-handler.
 
std::set< ConstProjectionPtr > getProjections () const
 Get the contained projections, including recursion.
 
bool hasProjection (const std::string &name) const
 Does this applier have a projection registered under the name name?
 
template<typename PROJ >
const PROJ & getProjection (const std::string &name) const
 
template<typename PROJ >
const PROJ & get (const std::string &name) const
 
const ProjectiongetProjection (const std::string &name) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const Projection &proj) const
 Apply the supplied projection on event evt. More...
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const Projection &proj) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const PROJ &proj) const
 Apply the supplied projection on event evt. More...
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const PROJ &proj) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const std::string &name) const
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const std::string &name) const
 
template<typename PROJ >
const PROJ & apply (const std::string &name, const Event &evt) const
 

Additional Inherited Members

- Protected Member Functions inherited from Rivet::Projection
LoggetLog () const
 Get a Log object based on the getName() property of the calling projection object.
 
void setName (const std::string &name)
 Used by derived classes to set their name.
 
Cmp< ProjectionmkNamedPCmp (const Projection &otherparent, const std::string &pname) const
 
Cmp< ProjectionmkPCmp (const Projection &otherparent, const std::string &pname) const
 
virtual Projectionoperator= (const Projection &)
 Block Projection copying.
 
- Protected Member Functions inherited from Rivet::ProjectionApplier
LoggetLog () const
 
ProjectionHandlergetProjHandler () const
 Get a reference to the ProjectionHandler for this thread.
 
template<typename PROJ >
const PROJ & declareProjection (const PROJ &proj, const std::string &name)
 Register a contained projection. More...
 
template<typename PROJ >
const PROJ & declare (const PROJ &proj, const std::string &name)
 Register a contained projection (user-facing version) More...
 
template<typename PROJ >
const PROJ & declare (const std::string &name, const PROJ &proj)
 Register a contained projection (user-facing, arg-reordered version) More...
 
template<typename PROJ >
const PROJ & addProjection (const PROJ &proj, const std::string &name)
 Register a contained projection (user-facing version) More...
 

Detailed Description

Base class for projections which define a spatial basis.

A pure virtual interface for projections which define a set of 3 basis vectors. This allows e.g. Thrust and Sphericity to be used interchangeably as defining bases for e.g. hemisphere mass and broadening calculations.

Author
Andy Buckley

Member Function Documentation

◆ axis1()

virtual const Vector3& Rivet::AxesDefinition::axis1 ( ) const
pure virtual

Axis accessors, in decreasing order of significance. The main axis.

Implemented in Rivet::Sphericity, Rivet::Thrust, and Rivet::Spherocity.

Referenced by Rivet::Hemispheres::project(), and ~AxesDefinition().


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