55 iter->second->push_back(pVertex);
56 return STATUS_CODE_SUCCESS;
60 std::cout <<
"Failed to create vertex: " << statusCodeException.
ToString() << std::endl;
71 return this->
Modifiable(pVertex)->AlterMetadata(metadata);
85 bool isAvailable(
true);
87 for (
const Vertex *
const pVertex : *pVertexList)
98 this->
Modifiable(pVertex)->SetAvailability(isAvailable);
104 for (
const Vertex *
const pVertex : *pVertexList)
Header file for the object factory class.
#define PANDORA_THROW_RESULT_IF(StatusCode1, Operator, Command)
Header file for the vertex class.
Header file for the vertex manager class.
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.
StatusCodeException class.
std::string ToString() const
Get status code as a string.
StatusCode GetStatusCode() const
Get status code.
bool IsAvailable() const
Whether the vertex is available to be added to a particle flow object.
StatusCode AlterMetadata(const Vertex *const pVertex, const object_creation::Vertex::Metadata &metadata) const
Alter the metadata information stored in a vertex.
VertexManager(const Pandora *const pPandora)
Constructor.
~VertexManager()
Destructor.
bool IsAvailable(const T *const pT) const
Is a vertex, or a list of vertices, available to add to a particle flow object.
StatusCode Create(const object_creation::Vertex::Parameters ¶meters, const Vertex *&pVertex, const ObjectFactory< object_creation::Vertex::Parameters, object_creation::Vertex::Object > &factory)
Create a vertex.
void SetAvailability(const T *const pT, bool isAvailable) const
Set availability of a vertex, or a list of vertices, to be added to a particle flow object.
MANAGED_CONTAINER< const Vertex * > VertexList
StatusCode
The StatusCode enum.