8#ifndef PANDORA_PARTICLE_FLOW_OBJECT_H
9#define PANDORA_PARTICLE_FLOW_OBJECT_H 1
17template<
typename T>
class AlgorithmObjectManager;
18template<
typename T,
typename S>
class PandoraObjectFactory;
172 template <
typename T>
180 template <
typename T>
Header file for pandora object creation classes.
Header file defining status codes and relevant preprocessor macros.
AlgorithmObjectManager class.
PandoraObjectFactory class.
ParticleFlowObject class.
float GetEnergy() const
Get the particle flow object energy.
virtual ~ParticleFlowObject()
Destructor.
int m_charge
The particle flow object charge.
StatusCode RemoveDaughter(const ParticleFlowObject *const pPfo)
Remove a daughter pfo from the daughter pfo list.
const PropertiesMap & GetPropertiesMap() const
Get the map from registered property name to floating point property value.
StatusCode RemoveParent(const ParticleFlowObject *const pPfo)
Remove a parent pfo from the parent pfo list.
const PfoList & GetDaughterPfoList() const
Get the daughter pfo list.
StatusCode UpdatePropertiesMap(const object_creation::ParticleFlowObject::Metadata &metadata)
Update the properties map.
ClusterList m_clusterList
The cluster list.
const ClusterList & GetClusterList() const
Get the cluster list.
unsigned int GetNParentPfos() const
Get the number of parent pfos.
StatusCode AddDaughter(const ParticleFlowObject *const pPfo)
Add a daughter pfo to the daughter pfo list.
const PfoList & GetParentPfoList() const
Get the parent pfo list.
const VertexList & GetVertexList() const
Get the vertex list.
StatusCode RemoveFromPfo(const T *const pT)
Remove an object from the particle flow object.
StatusCode AlterMetadata(const object_creation::ParticleFlowObject::Metadata &metadata)
Alter particle flow object metadata parameters.
TrackAddressList GetTrackAddressList() const
Get track address list.
PfoList m_daughterPfoList
The list of daughter pfos.
float GetMass() const
Get particle flow object mass.
float m_mass
The particle flow object mass.
TrackList m_trackList
The track list.
StatusCode AddToPfo(const T *const pT)
Add an object to the particle flow object.
int GetCharge() const
Get particle flow object charge.
int GetParticleId() const
Get the particle flow object id (PDG code)
float m_energy
The particle flow object energy.
CartesianVector m_momentum
The particle flow object momentum.
StatusCode AddParent(const ParticleFlowObject *const pPfo)
Add a parent pfo to the parent pfo list.
unsigned int GetNDaughterPfos() const
Get the number of daughter pfos.
const TrackList & GetTrackList() const
Get the track list.
int m_particleId
The particle flow object id (PDG code)
VertexList m_vertexList
The vertex list.
PropertiesMap m_propertiesMap
The map from registered property name to floating point property value.
const CartesianVector & GetMomentum() const
Get particle flow object momentum vector.
ClusterAddressList GetClusterAddressList() const
Get the cluster address list.
PfoList m_parentPfoList
The list of parent pfos.
unsigned int GetNClusters() const
Get the number of clusters in the particle flow object.
unsigned int GetNTracks() const
Get the number of tracks in the particle flow object.
ParticleFlowObjectManager class.
MANAGED_CONTAINER< const Cluster * > ClusterList
std::vector< const void * > TrackAddressList
std::vector< CaloHitAddressList > ClusterAddressList
MANAGED_CONTAINER< const Track * > TrackList
MANAGED_CONTAINER< const Vertex * > VertexList
std::map< std::string, float > PropertiesMap
StatusCode
The StatusCode enum.
MANAGED_CONTAINER< const ParticleFlowObject * > PfoList