55 iter->second->push_back(pPfo);
56 return STATUS_CODE_SUCCESS;
60 std::cout <<
"Failed to create particle flow object: " << statusCodeException.
ToString() << std::endl;
71 return this->
Modifiable(pPfo)->AlterMetadata(metadata);
87 return this->
Modifiable(pPfo)->RemoveFromPfo(pT);
94 if (pParentPfo == pDaughterPfo)
95 return STATUS_CODE_INVALID_PARAMETER;
100 return STATUS_CODE_SUCCESS;
110 return STATUS_CODE_SUCCESS;
Header file for the object factory class.
Header file for the particle flow object class.
Header file for the particle flow object manager class.
#define PANDORA_THROW_RESULT_IF(StatusCode1, Operator, Command)
#define PANDORA_RETURN_RESULT_IF(StatusCode1, Operator, Command)
AlgorithmObjectManager class.
bool m_canMakeNewObjects
Whether the manager is allowed to make new objects when requested by algorithms.
virtual StatusCode EraseAllContent()
Erase all manager content.
std::string m_currentListName
The name of the current list.
virtual T * Modifiable(const T *const pT) const
Access a modifiable object, when provided with address to const object.
NameToListMap m_nameToListMap
The name to list map.
virtual StatusCode CreateInitialLists()
Create initial lists.
ObjectFactory class responsible for extended pandora object creation.
virtual StatusCode Create(const Parameters ¶meters, const Object *&pObject) const =0
Create an object with the given parameters.
ParticleFlowObject class.
StatusCode RemoveFromPfo(const ParticleFlowObject *const pPfo, const T *const pT) const
Remove an object from a particle flow object.
StatusCode Create(const object_creation::ParticleFlowObject::Parameters ¶meters, const ParticleFlowObject *&pPfo, const ObjectFactory< object_creation::ParticleFlowObject::Parameters, object_creation::ParticleFlowObject::Object > &factory)
Create a particle flow object.
~ParticleFlowObjectManager()
Destructor.
StatusCode RemoveParentDaughterAssociation(const ParticleFlowObject *const pParentPfo, const ParticleFlowObject *const pDaughterPfo) const
Remove a parent-daughter particle flow object relationship.
StatusCode SetParentDaughterAssociation(const ParticleFlowObject *const pParentPfo, const ParticleFlowObject *const pDaughterPfo) const
Add a parent-daughter particle flow object relationship.
StatusCode AlterMetadata(const ParticleFlowObject *const pPfo, const object_creation::ParticleFlowObject::Metadata &metadata) const
Alter the metadata information stored in a particle flow object.
ParticleFlowObjectManager(const Pandora *const pPandora)
Constructor.
StatusCode AddToPfo(const ParticleFlowObject *const pPfo, const T *const pT) const
Add an object to a particle flow object.
StatusCodeException class.
std::string ToString() const
Get status code as a string.
StatusCode GetStatusCode() const
Get status code.
StatusCode
The StatusCode enum.