Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
LArShowerPfo.h
Go to the documentation of this file.
1
8#ifndef LAR_SHOWER_PFO_H
9#define LAR_SHOWER_PFO_H 1
10
12
15
16#include <string>
17
18namespace lar_content
19{
20
36
37//------------------------------------------------------------------------------------------------------------------------------------------
38
118
119//------------------------------------------------------------------------------------------------------------------------------------------
120
124class LArShowerPfoFactory : public pandora::ObjectFactory<object_creation::ParticleFlowObject::Parameters, object_creation::ParticleFlowObject::Object>
125{
126public:
132 Parameters *NewParameters() const;
133
140 pandora::StatusCode Read(Parameters &parameters, pandora::FileReader &fileReader) const;
141
148 pandora::StatusCode Write(const Object *const pObject, pandora::FileWriter &fileWriter) const;
149
156 pandora::StatusCode Create(const Parameters &parameters, const Object *&pObject) const;
157};
158
159//------------------------------------------------------------------------------------------------------------------------------------------
160//------------------------------------------------------------------------------------------------------------------------------------------
161
163 object_creation::ParticleFlowObject::Object(parameters),
164 m_showerLength(parameters.m_showerLength.Get()),
165 m_showerCentroid(parameters.m_showerCentroid.Get()),
166 m_showerOpeningAngle(parameters.m_showerOpeningAngle.Get()),
167 m_showerDirection(parameters.m_showerDirection.Get()),
168 m_showerSecondaryVector(parameters.m_showerSecondaryVector.Get()),
169 m_showerTertiaryVector(parameters.m_showerTertiaryVector.Get()),
170 m_showerEigenValues(parameters.m_showerEigenValues.Get()),
171 m_showerVertex(parameters.m_showerVertex.Get())
172{
173}
174
175//------------------------------------------------------------------------------------------------------------------------------------------
176
181
182//------------------------------------------------------------------------------------------------------------------------------------------
183
188
189//------------------------------------------------------------------------------------------------------------------------------------------
190
192{
194}
195
196//------------------------------------------------------------------------------------------------------------------------------------------
197
202
203//------------------------------------------------------------------------------------------------------------------------------------------
204
209
210//------------------------------------------------------------------------------------------------------------------------------------------
211
216
217//------------------------------------------------------------------------------------------------------------------------------------------
218
223
224//------------------------------------------------------------------------------------------------------------------------------------------
225
230
231//------------------------------------------------------------------------------------------------------------------------------------------
232
237
238//------------------------------------------------------------------------------------------------------------------------------------------
239
240inline pandora::StatusCode LArShowerPfoFactory::Create(const Parameters &parameters, const Object *&pObject) const
241{
242 const LArShowerPfoParameters &larPfoParameters(dynamic_cast<const LArShowerPfoParameters &>(parameters));
243 pObject = new LArShowerPfo(larPfoParameters);
244
245 return pandora::STATUS_CODE_SUCCESS;
246}
247
248//------------------------------------------------------------------------------------------------------------------------------------------
249
251{
252 // TODO: Provide this functionality if necessary
253
254 return pandora::STATUS_CODE_SUCCESS;
255}
256
257//------------------------------------------------------------------------------------------------------------------------------------------
258
260{
261 // TODO: Provide this functionality if necessary
262
263 return pandora::STATUS_CODE_SUCCESS;
264}
265
266} // namespace lar_content
267
268#endif // #ifndef LAR_SHOWER_PFO_H
Header file for pandora object creation classes.
Header file for the object factory class.
Header file for the particle flow object class.
Parameters class.
Definition Validation.h:20
lar pfo object factory responsible for pfo creation
Parameters * NewParameters() const
Create new parameters instance on the heap (memory-management to be controlled by user)
pandora::StatusCode Create(const Parameters &parameters, const Object *&pObject) const
Create an object with the given parameters.
pandora::StatusCode Read(Parameters &parameters, 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.
const pandora::CartesianVector & GetShowerVertex() const
Get the shower starting point from 3d shower fit.
pandora::CartesianVector m_showerSecondaryVector
Shower secondary eigen vector.
const pandora::CartesianVector & GetShowerSecondaryVector() const
Get the shower secondary eigen vector from 3d shower fit.
LArShowerPfo(const LArShowerPfoParameters &parameters)
Constructor.
const pandora::CartesianVector & GetShowerEigenValues() const
Get the shower eigen values from 3d PCA.
const pandora::CartesianVector & GetShowerLength() const
Get the shower length and width from 3d shower fit.
float GetShowerOpeningAngle() const
Get the shower opening angle from 3d shower fit.
const pandora::CartesianVector & GetShowerDirection() const
Get the shower direction, also the primary eigen vector from 3d shower fit.
pandora::CartesianVector m_showerTertiaryVector
Shower tertiary eigen vector.
pandora::CartesianVector m_showerEigenValues
Shower eigenvalues from 3d PCA.
float m_showerOpeningAngle
Shower opening angle.
pandora::CartesianVector m_showerCentroid
Shower centroid from 3d shower fit.
pandora::CartesianVector m_showerVertex
Shower starting point.
const pandora::CartesianVector & GetShowerCentroid() const
Get the shower centroid from the 3d shower fit.
const pandora::CartesianVector & GetShowerTertiaryVector() const
Get the shower tertiary eigen vector from 3d shower fit.
pandora::CartesianVector m_showerDirection
Shower direction, primary eigen vector.
pandora::CartesianVector m_showerLength
Shower length and widths from 3d shower fit.
pandora::InputCartesianVector m_showerTertiaryVector
Shower teriary eigen vector.
pandora::InputCartesianVector m_showerCentroid
Shower centroid from 3d shower fit.
pandora::InputCartesianVector m_showerEigenValues
Shower eigenvalues from 3d PCA.
pandora::InputCartesianVector m_showerLength
Shower length and widths from 3d shower fit.
pandora::InputCartesianVector m_showerVertex
Shower starting point.
pandora::InputCartesianVector m_showerSecondaryVector
Shower secondary eigen vector.
pandora::InputCartesianVector m_showerDirection
Shower direction, also the primary eigen vector.
pandora::InputFloat m_showerOpeningAngle
Shower opening angle.
CartesianVector class.
FileReader class.
Definition FileReader.h:29
FileWriter class.
Definition FileWriter.h:29
ObjectFactory class responsible for extended pandora object creation.
ParticleFlowObject class.
StatusCode
The StatusCode enum.