18#include <unordered_set>
26 m_inputListName(
"Input")
45 return STATUS_CODE_FAILURE;
51 return STATUS_CODE_SUCCESS;
58 std::string &temporaryListName)
63 return STATUS_CODE_SUCCESS;
72 return this->AddObjectsToList(listName, objectList);
79 return STATUS_CODE_ALREADY_PRESENT;
85 return STATUS_CODE_SUCCESS;
94 return STATUS_CODE_NOT_ALLOWED;
99 return STATUS_CODE_NOT_FOUND;
101 ObjectList *
const pSavedList = listIter->second;
103 if (pSavedList == &objectList)
104 return STATUS_CODE_INVALID_PARAMETER;
107 std::unordered_set<const T*> savedSet(pSavedList->begin(), pSavedList->end());
109 for (
const T *
const pT : objectList)
111 if (savedSet.count(pT))
112 return STATUS_CODE_ALREADY_PRESENT;
114 pSavedList->push_back(pT);
115 (void) savedSet.insert(pT);
118 return STATUS_CODE_SUCCESS;
129 return STATUS_CODE_NOT_FOUND;
131 ObjectList *
const pSavedList = listIter->second;
133 if (pSavedList == &objectList)
134 return STATUS_CODE_INVALID_PARAMETER;
136 for (
const T *
const pT : objectList)
138 typename ObjectList::iterator savedObjectIter = std::find(pSavedList->begin(), pSavedList->end(), pT);
140 if (pSavedList->end() != savedObjectIter)
141 savedObjectIter = pSavedList->erase(savedObjectIter);
144 return STATUS_CODE_SUCCESS;
152 if (oldListName == m_inputListName)
153 return STATUS_CODE_NOT_ALLOWED;
167 std::cout <<
"InputObjectManager::EraseAllContent cannot retrieve object list " << std::endl;
171 for (
const T *
const pT : *inputIter->second)
187 return STATUS_CODE_SUCCESS;
Header file for the calo hit class.
Header file for the mc particle class.
Header file defining relevant internal typedefs, sort and string conversion functions.
#define PANDORA_RETURN_RESULT_IF(StatusCode1, Operator, Command)
Header file for the track class.
Algorithm class. Algorithm addresses are held only by the algorithm manager. They have a fully define...
virtual StatusCode RenameList(const std::string &oldListName, const std::string &newListName)
Rename a saved list, altering its saved name from a specified old list name to a specified new list n...
virtual StatusCode EraseAllContent()
Erase all manager content.
Enable ordering of pointers based on properties of target objects.
StatusCode
The StatusCode enum.