24 m_pBFieldPlugin(nullptr),
25 m_pLArTransformationPlugin(nullptr),
26 m_pPseudoLayerPlugin(nullptr),
27 m_pShowerProfilePlugin(nullptr),
28 m_pEnergyCorrections(nullptr),
29 m_pParticleId(nullptr),
39 std::cout <<
"Failed to create pandora plugin manager instance " << statusCodeException.
ToString() << std::endl;
41 throw statusCodeException;
45 std::cout <<
"Failed to create pandora plugin manager instance " << std::endl;
157 return STATUS_CODE_ALREADY_INITIALIZED;
160 return STATUS_CODE_SUCCESS;
168 return STATUS_CODE_ALREADY_INITIALIZED;
171 return STATUS_CODE_SUCCESS;
179 return STATUS_CODE_ALREADY_INITIALIZED;
182 return STATUS_CODE_SUCCESS;
190 return STATUS_CODE_ALREADY_INITIALIZED;
193 return STATUS_CODE_SUCCESS;
205 if (
nullptr != pBFieldXmlElement)
216 if (
nullptr != pLArTransformationXmlElement)
227 if (
nullptr != pPseudoLayerXmlElement)
238 if (
nullptr != pShowerProfileXmlElement)
247 return STATUS_CODE_SUCCESS;
269 return STATUS_CODE_SUCCESS;
Header file for the bfield plugin interface class.
Header file for the calo hit plugin class.
Header file for the particle id plugin class.
Header file for the pandora plugin manager class.
#define PANDORA_RETURN_RESULT_IF(StatusCode1, Operator, Command)
Header file for the xml helper class.
StatusCode ResetForNextEvent()
Call the reset callback in all managed plugins.
StatusCode InitializePlugins(const TiXmlHandle *const pXmlHandle)
Initialize plugins.
StatusCode ResetForNextEvent()
Call the reset callback in all managed plugins.
StatusCode InitializePlugins(const TiXmlHandle *const pXmlHandle)
Initialize plugins.
const LArTransformationPlugin * GetLArTransformationPlugin() const
Get the address of the lar transformation plugin.
const EnergyCorrections * GetEnergyCorrections() const
Get the pandora energy corrections instance.
StatusCode ResetForNextEvent()
Call the reset callback in all managed plugins.
bool HasBFieldPlugin() const
Whether the b field plugin is available.
BFieldPlugin * m_pBFieldPlugin
Address of the bfield plugin.
const PseudoLayerPlugin * GetPseudoLayerPlugin() const
Get the address of the pseudo layer plugin.
LArTransformationPlugin * m_pLArTransformationPlugin
Address of the lar transformation plugin.
const BFieldPlugin * GetBFieldPlugin() const
Get the address of the b field plugin.
~PluginManager()
Destructor.
ShowerProfilePlugin * m_pShowerProfilePlugin
The shower profile plugin.
const Pandora *const m_pPandora
The associated pandora object.
StatusCode SetShowerProfilePlugin(ShowerProfilePlugin *const pShowerProfilePlugin)
Set the shower profile plugin.
StatusCode SetPseudoLayerPlugin(PseudoLayerPlugin *const pPseudoLayerPlugin)
Set the pseudo layer plugin.
EnergyCorrections * m_pEnergyCorrections
The energy corrections.
const ParticleId * GetParticleId() const
Get the address of the pandora particle id instance.
bool HasPseudoLayerPlugin() const
Whether the pseudo layer plugin is available.
bool HasShowerProfilePlugin() const
Whether the shower profile plugin is available.
StatusCode SetLArTransformationPlugin(LArTransformationPlugin *const pLArTransformationPlugin)
Set the lar transformation plugin.
bool HasLArTransformationPlugin() const
Whether the lar transformation plugin is available.
PseudoLayerPlugin * m_pPseudoLayerPlugin
Address of the pseudolayer plugin.
const ShowerProfilePlugin * GetShowerProfilePlugin() const
Get the shower profile plugin.
PluginManager(const Pandora *const pPandora)
Constructor.
StatusCode InitializePlugins(const TiXmlHandle *const pXmlHandle)
Initialize plugins.
ParticleId * m_pParticleId
The particle id.
StatusCode SetBFieldPlugin(BFieldPlugin *const pBFieldPlugin)
Set the bfield plugin.
virtual StatusCode Initialize()
Perform any operations that must occur after reading settings, but before running the process.
virtual StatusCode Reset()
Perform any operations when pandora is reset, typically at the end of each event.
virtual StatusCode ReadSettings(const TiXmlHandle xmlHandle)=0
Read the algorithm settings.
StatusCode RegisterDetails(const Pandora *const pPandora, const std::string &type, const std::string &instanceName)
Register i) the pandora instance that will run the process and ii) the process type.
ShowerProfilePlugin class.
StatusCodeException class.
std::string ToString() const
Get status code as a string.
TiXmlElement * Element() const
TiXmlHandle FirstChild() const
Return a handle to the first child node.
StatusCode
The StatusCode enum.