Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
PandoraApiImpl.h
Go to the documentation of this file.
1
8#ifndef PANDORA_API_IMPL_H
9#define PANDORA_API_IMPL_H 1
10
11#include "Api/PandoraApi.h"
12
13namespace pandora
14{
15
16class Pandora;
17
18//------------------------------------------------------------------------------------------------------------------------------------------
19
24{
25private:
32 template <typename PARAMETERS, typename OBJECT>
33 StatusCode Create(const PARAMETERS &parameters, const ObjectFactory<PARAMETERS, OBJECT> &factory) const;
34
39
45 StatusCode ReadSettings(const std::string &xmlFileName) const;
46
53 StatusCode RegisterAlgorithmFactory(const std::string &algorithmType, AlgorithmFactory *const pAlgorithmFactory) const;
54
61 StatusCode RegisterAlgorithmToolFactory(const std::string &algorithmToolType, AlgorithmToolFactory *const pAlgorithmToolFactory) const;
62
69 StatusCode SetMCParentDaughterRelationship(const void *const pParentAddress, const void *const pDaughterAddress) const;
70
77 StatusCode SetTrackParentDaughterRelationship(const void *const pParentAddress, const void *const pDaughterAddress) const;
78
85 StatusCode SetTrackSiblingRelationship(const void *const pFirstSiblingAddress, const void *const pSecondSiblingAddress) const;
86
94 StatusCode SetCaloHitToMCParticleRelationship(const void *const pCaloHitParentAddress, const void *const pMCParticleParentAddress,
95 const float mcParticleWeight) const;
96
104 StatusCode SetTrackToMCParticleRelationship(const void *const pTrackParentAddress, const void *const pMCParticleParentAddress,
105 const float mcParticleWeight) const;
106
113 StatusCode GetCurrentPfoList(const PfoList *&pPfoList, std::string &pfoListName) const;
114
121 StatusCode GetPfoList(const std::string &pfoListName, const PfoList *&pPfoList) const;
122
129 StatusCode SetHitTypeGranularity(const HitType hitType, const Granularity granularity) const;
130
136 StatusCode SetBFieldPlugin(BFieldPlugin *const pBFieldPlugin) const;
137
143 StatusCode SetLArTransformationPlugin(LArTransformationPlugin *const pLArTransformationPlugin) const;
144
150 StatusCode SetPseudoLayerPlugin(PseudoLayerPlugin *const pPseudoLayerPlugin) const;
151
157 StatusCode SetShowerProfilePlugin(ShowerProfilePlugin *const pShowerProfilePlugin) const;
158
166 StatusCode RegisterEnergyCorrectionPlugin(const std::string &name, const EnergyCorrectionType energyCorrectionType,
167 EnergyCorrectionPlugin *const pEnergyCorrectionPlugin) const;
168
175 StatusCode RegisterParticleIdPlugin(const std::string &name, ParticleIdPlugin *const pParticleIdPlugin) const;
176
180 StatusCode ResetEvent() const;
181
187 PandoraApiImpl(Pandora *const pPandora);
188
190
191 friend class Pandora;
192 friend class PandoraImpl;
193 friend class ::PandoraApi;
194 template<typename PARAMETERS, typename METADATA, typename OBJECT> friend class ::object_creation::ObjectCreationHelper;
195};
196
197} // namespace pandora
198
199#endif // #ifndef PANDORA_API_IMPL_H
Header file for the pandora api class.
Factory class for instantiating algorithms.
Definition Algorithm.h:39
Factory class for instantiating algorithm tools.
BFieldPlugin class.
EnergyCorrectionPlugin class.
LArTransformationPlugin class.
ObjectFactory class responsible for extended pandora object creation.
PandoraApiImpl class.
StatusCode GetCurrentPfoList(const PfoList *&pPfoList, std::string &pfoListName) const
Get the current pfo list.
StatusCode ResetEvent() const
Reset pandora to process another event.
StatusCode RegisterAlgorithmToolFactory(const std::string &algorithmToolType, AlgorithmToolFactory *const pAlgorithmToolFactory) const
Register an algorithm tool factory with pandora.
StatusCode SetShowerProfilePlugin(ShowerProfilePlugin *const pShowerProfilePlugin) const
Set the shower profile plugin used by pandora.
Pandora * m_pPandora
The pandora object to provide an interface to.
StatusCode SetTrackSiblingRelationship(const void *const pFirstSiblingAddress, const void *const pSecondSiblingAddress) const
Set sibling track relationship.
StatusCode SetLArTransformationPlugin(LArTransformationPlugin *const pLArTransformationPlugin) const
Set the lar transformation plugin used by pandora.
StatusCode SetCaloHitToMCParticleRelationship(const void *const pCaloHitParentAddress, const void *const pMCParticleParentAddress, const float mcParticleWeight) const
Set calo hit to mc particle relationship.
StatusCode SetBFieldPlugin(BFieldPlugin *const pBFieldPlugin) const
Set the bfield plugin used by pandora.
StatusCode RegisterParticleIdPlugin(const std::string &name, ParticleIdPlugin *const pParticleIdPlugin) const
Register a particle id plugin.
StatusCode SetHitTypeGranularity(const HitType hitType, const Granularity granularity) const
Set the granularity level to be associated with a specified hit type.
StatusCode RegisterEnergyCorrectionPlugin(const std::string &name, const EnergyCorrectionType energyCorrectionType, EnergyCorrectionPlugin *const pEnergyCorrectionPlugin) const
Register an energy correction plugin.
StatusCode Create(const PARAMETERS &parameters, const ObjectFactory< PARAMETERS, OBJECT > &factory) const
Create an object for pandora.
StatusCode RegisterAlgorithmFactory(const std::string &algorithmType, AlgorithmFactory *const pAlgorithmFactory) const
Register an algorithm factory with pandora.
StatusCode GetPfoList(const std::string &pfoListName, const PfoList *&pPfoList) const
Get a named pfo list.
StatusCode SetPseudoLayerPlugin(PseudoLayerPlugin *const pPseudoLayerPlugin) const
Set the pseudo layer plugin used by pandora.
StatusCode SetTrackToMCParticleRelationship(const void *const pTrackParentAddress, const void *const pMCParticleParentAddress, const float mcParticleWeight) const
Set track to mc particle relationship.
StatusCode ProcessEvent() const
Process event.
StatusCode ReadSettings(const std::string &xmlFileName) const
Read pandora settings.
StatusCode SetTrackParentDaughterRelationship(const void *const pParentAddress, const void *const pDaughterAddress) const
Set parent-daughter track relationship.
StatusCode SetMCParentDaughterRelationship(const void *const pParentAddress, const void *const pDaughterAddress) const
Set parent-daughter mc particle relationship.
Pandora class.
Definition Pandora.h:40
PandoraImpl class.
Definition PandoraImpl.h:18
ParticleIdPlugin class.
PseudoLayerPlugin class.
ShowerProfilePlugin class.
HitType
Calorimeter hit type enum.
Granularity
Granularity enum.
EnergyCorrectionType
Energy correction type enum.
StatusCode
The StatusCode enum.
MANAGED_CONTAINER< const ParticleFlowObject * > PfoList