8 #ifndef LAR_SHOWER_PFO_H 9 #define LAR_SHOWER_PFO_H 1 11 #include "Objects/ParticleFlowObject.h" 13 #include "Pandora/ObjectCreation.h" 14 #include "Pandora/ObjectFactory.h" 57 const pandora::CartesianVector &GetShowerLength()
const;
64 const pandora::CartesianVector &GetShowerCentroid()
const;
71 float GetShowerOpeningAngle()
const;
78 const pandora::CartesianVector &GetShowerDirection()
const;
85 const pandora::CartesianVector &GetShowerSecondaryVector()
const;
92 const pandora::CartesianVector &GetShowerTertiaryVector()
const;
99 const pandora::CartesianVector &GetShowerEigenValues()
const;
106 const pandora::CartesianVector &GetShowerVertex()
const;
124 class LArShowerPfoFactory :
public pandora::ObjectFactory<object_creation::ParticleFlowObject::Parameters, object_creation::ParticleFlowObject::Object>
132 Parameters *NewParameters()
const;
140 pandora::StatusCode Read(Parameters ¶meters, pandora::FileReader &fileReader)
const;
148 pandora::StatusCode
Write(
const Object *
const pObject, pandora::FileWriter &fileWriter)
const;
156 pandora::StatusCode Create(
const Parameters ¶meters,
const Object *&pObject)
const;
163 object_creation::ParticleFlowObject::
Object(parameters),
245 return pandora::STATUS_CODE_SUCCESS;
254 return pandora::STATUS_CODE_SUCCESS;
263 return pandora::STATUS_CODE_SUCCESS;
268 #endif // #ifndef LAR_SHOWER_PFO_H pandora::StatusCode Create(const Parameters ¶meters, const Object *&pObject) const
Create an object with the given parameters.
const pandora::CartesianVector & GetShowerSecondaryVector() const
Get the shower secondary eigen vector from 3d shower fit.
pandora::InputFloat m_showerOpeningAngle
Shower opening angle.
const pandora::CartesianVector & GetShowerDirection() const
Get the shower direction, also the primary eigen vector from 3d shower fit.
pandora::InputCartesianVector m_showerCentroid
Shower centroid from 3d shower fit.
pandora::InputCartesianVector m_showerTertiaryVector
Shower teriary eigen vector.
pandora::CartesianVector m_showerDirection
Shower direction, primary eigen vector.
pandora::StatusCode Read(Parameters ¶meters, pandora::FileReader &fileReader) const
Read any additional (derived class only) object parameters from file using the specified file reader...
pandora::StatusCode Write(const Object *const pObject, pandora::FileWriter &fileWriter) const
Persist any additional (derived class only) object parameters using the specified file writer...
pandora::InputCartesianVector m_showerVertex
Shower starting point.
pandora::CartesianVector m_showerEigenValues
Shower eigenvalues from 3d PCA.
pandora::InputCartesianVector m_showerDirection
Shower direction, also the primary eigen vector.
LArShowerPfo(const LArShowerPfoParameters ¶meters)
Constructor.
lar pfo object factory responsible for pfo creation
const pandora::CartesianVector & GetShowerTertiaryVector() const
Get the shower tertiary eigen vector from 3d shower fit.
pandora::CartesianVector m_showerLength
Shower length and widths from 3d shower fit.
pandora::InputCartesianVector m_showerEigenValues
Shower eigenvalues from 3d PCA.
struct Object Object
Object type.
const pandora::CartesianVector & GetShowerLength() const
Get the shower length and width from 3d shower fit.
pandora::InputCartesianVector m_showerLength
Shower length and widths from 3d shower fit.
Parameters * NewParameters() const
Create new parameters instance on the heap (memory-management to be controlled by user) ...
float m_showerOpeningAngle
Shower opening angle.
float GetShowerOpeningAngle() const
Get the shower opening angle from 3d shower fit.
pandora::InputCartesianVector m_showerSecondaryVector
Shower secondary eigen vector.
pandora::CartesianVector m_showerCentroid
Shower centroid from 3d shower fit.
const pandora::CartesianVector & GetShowerCentroid() const
Get the shower centroid from the 3d shower fit.
const pandora::CartesianVector & GetShowerVertex() const
Get the shower starting point from 3d shower fit.
const pandora::CartesianVector & GetShowerEigenValues() const
Get the shower eigen values from 3d PCA.
pandora::CartesianVector m_showerSecondaryVector
Shower secondary eigen vector.
pandora::CartesianVector m_showerVertex
Shower starting point.
pandora::CartesianVector m_showerTertiaryVector
Shower tertiary eigen vector.