Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
PluginManager.h
Go to the documentation of this file.
1
8#ifndef PANDORA_PLUGIN_MANAGER_H
9#define PANDORA_PLUGIN_MANAGER_H 1
10
11#include "Pandora/StatusCodes.h"
12
13namespace pandora
14{
15
16class BFieldPlugin;
17class LArTransformationPlugin;
18class PseudoLayerPlugin;
19class ShowerProfilePlugin;
20
21class EnergyCorrections;
22class ParticleId;
23
24class Pandora;
25class TiXmlHandle;
26
27//------------------------------------------------------------------------------------------------------------------------------------------
28
33{
34public:
40 PluginManager(const Pandora *const pPandora);
41
46
52 bool HasBFieldPlugin() const;
53
59 bool HasLArTransformationPlugin() const;
60
66 bool HasPseudoLayerPlugin() const;
67
73 bool HasShowerProfilePlugin() const;
74
80 const BFieldPlugin *GetBFieldPlugin() const;
81
88
95
102
109
115 const ParticleId *GetParticleId() const;
116
117private:
123 StatusCode SetBFieldPlugin(BFieldPlugin *const pBFieldPlugin);
124
130 StatusCode SetLArTransformationPlugin(LArTransformationPlugin *const pLArTransformationPlugin);
131
137 StatusCode SetPseudoLayerPlugin(PseudoLayerPlugin *const pPseudoLayerPlugin);
138
144 StatusCode SetShowerProfilePlugin(ShowerProfilePlugin *const pShowerProfilePlugin);
145
151 StatusCode InitializePlugins(const TiXmlHandle *const pXmlHandle);
152
157
162
165
166 const Pandora *const m_pPandora;
167
168 friend class PandoraApiImpl;
169 friend class PandoraImpl;
170};
171
172} // namespace pandora
173
174#endif // #ifndef PANDORA_PLUGIN_MANAGER_H
Header file defining status codes and relevant preprocessor macros.
BFieldPlugin class.
LArTransformationPlugin class.
PandoraApiImpl class.
Pandora class.
Definition Pandora.h:40
PandoraImpl class.
Definition PandoraImpl.h:18
ParticleId class.
PluginManager class.
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.
StatusCode InitializePlugins(const TiXmlHandle *const pXmlHandle)
Initialize plugins.
ParticleId * m_pParticleId
The particle id.
StatusCode SetBFieldPlugin(BFieldPlugin *const pBFieldPlugin)
Set the bfield plugin.
PseudoLayerPlugin class.
ShowerProfilePlugin class.
StatusCode
The StatusCode enum.