#include <IParticle.h>
Public Member Functions | |
virtual | ~IParticle () |
Virtual destructor, to make vtable happy... | |
virtual Type::ObjectType | type () const =0 |
The type of the object as a simple enumeration. | |
Functions for getting and setting user properties | |
template<class T > | |
T & | auxdata (const std::string &name, const std::string &clsname="") |
template<class T > | |
const T & | auxdata (const std::string &name, const std::string &clsname="") const |
template<class T > | |
bool | isAvailable (const std::string &name, const std::string &clsname="") const |
template<class T > | |
bool | isAvailableWritable (const std::string &name, const std::string &clsname="") const |
Functions describing the 4-momentum of the object | |
| |
typedef TLorentzVector | FourMom_t |
Definition of the 4-momentum type. | |
virtual double | pt () const =0 |
The transverse momentum () of the particle. | |
virtual double | eta () const =0 |
The pseudorapidity () of the particle. | |
virtual double | phi () const =0 |
The azimuthal angle () of the particle. | |
virtual double | m () const =0 |
The invariant mass of the particle. | |
virtual double | e () const =0 |
The total energy of the particle. | |
virtual double | rapidity () const =0 |
The true rapidity (y) of the particle. | |
virtual const FourMom_t & | p4 () const =0 |
The full 4-momentum of the particle. |
Class providing the definition of the 4-vector interface
All particle-like classes in the xAOD EDM inherit from this simple interface class to make it simple to write generic analysis code for the objects.
template const uint8_t & xAOD::IParticle::auxdata< uint8_t > | ( | const std::string & | name, | |
const std::string & | clsname = "" | |||
) | const [inline] |
Fetch an aux data variable, as a const reference
This function provides an easy way for users to retrieve auxiliary decorations from an object.
Take note that this function is slow. Should not be used inside time-critical code.
name | Name of the aux variable | |
clsname | The name of the associated class. May be blank |
Reimplemented from SG::AuxElement.
template uint8_t & xAOD::IParticle::auxdata< uint8_t > | ( | const std::string & | name, | |
const std::string & | clsname = "" | |||
) | [inline] |
Fetch an aux data variable, as a non-const reference
This function provides an easy way for users to decorate objects with auxiliary data.
Take note that this function is slow. Should not be used inside time-critical code.
name | Name of the aux variable | |
clsname | The name of the associated class. May be blank |
Reimplemented from SG::AuxElement.
template bool xAOD::IParticle::isAvailable< uint8_t > | ( | const std::string & | name, | |
const std::string & | clsname = "" | |||
) | const [inline] |
Check if a user property is available for reading or not
This function should be used to check if a user property which may or may not exist, is set on the object.
name | Name of the auxiliary variable | |
clsname | The name of the associated class. May be blank |
Reimplemented from SG::AuxElement.
bool xAOD::IParticle::isAvailableWritable | ( | const std::string & | name, | |
const std::string & | clsname = "" | |||
) | const [inline] |
Check if a user property is available for writing or not
This function can be used to check whether it will be possible to set a user property on the object.
name | Name of the auxiliary variable | |
clsname | The name of the associated class. May be blank |
Reimplemented from SG::AuxElement.