8 #ifndef LAR_PROTO_SHOWER_H 9 #define LAR_PROTO_SHOWER_H 1 11 #include "Pandora/PandoraInternal.h" 13 #include "Objects/CaloHit.h" 14 #include "Objects/CartesianVector.h" 36 ShowerCore(
const pandora::CartesianVector &startPosition,
const pandora::CartesianVector &startDirection);
59 inline ShowerCore::ShowerCore(
const pandora::CartesianVector &startPosition,
const pandora::CartesianVector &startDirection) :
107 ConnectionPathway(
const pandora::CartesianVector &startPosition,
const pandora::CartesianVector &startDirection);
180 const pandora::CaloHitList &ambiguousHitList,
const pandora::CartesianPointVector &ambiguousDirectionVector,
181 const pandora::CaloHitList &hitsToAdd);
209 const pandora::CaloHitList &GetSpineHitList()
const;
216 const pandora::CaloHitList &GetAmbiguousHitList()
const;
223 void AddAmbiguousHit(
const pandora::CaloHit *
const ambiguousHit);
230 const pandora::CartesianPointVector &GetAmbiguousDirectionVector()
const;
237 void AddAmbiguousDirection(
const pandora::CartesianVector &ambiguousDirection);
244 const pandora::CaloHitList &GetHitsToAddList()
const;
251 void SetHitsToAddList(
const pandora::CaloHitList &hitsToAddList);
258 void AddHitToAdd(
const pandora::CaloHit *
const hitToAdd);
274 const pandora::CaloHitList &spineHitList,
const pandora::CaloHitList &ambiguousHitList,
275 const pandora::CartesianPointVector &ambiguousDirectionVector,
const pandora::CaloHitList &hitsToAdd) :
276 m_showerCore(showerCore),
277 m_connectionPathway(connectionPathway),
278 m_spineHitList(spineHitList),
279 m_ambiguousHitList(ambiguousHitList),
280 m_ambiguousDirectionVector(ambiguousDirectionVector),
281 m_hitsToAdd(hitsToAdd)
455 m_protoShowerU(protoShowerU),
456 m_protoShowerV(protoShowerV),
457 m_protoShowerW(protoShowerW),
458 m_consistencyType(consistencyType)
501 #endif // #ifndef LAR_PROTO_SHOWER_H const ProtoShower & GetProtoShowerU() const
Get the U view ProtoShower.
const ProtoShower & GetProtoShowerV() const
Get the V view ProtoShower.
ProtoShower m_protoShowerU
the U view ProtoShower
const pandora::CartesianPointVector & GetAmbiguousDirectionVector() const
Get the ambiguous direction vector.
pandora::CartesianVector m_startDirection
the initial 2D direction of the shower cascade
const pandora::CaloHitList & GetAmbiguousHitList() const
Get the ambiguous hit list.
const ConnectionPathway m_connectionPathway
the ConnectionPathway object
ProtoShowerMatch()
Default constructor.
Consistency
Consistency enumeration.
ProtoShower m_protoShowerW
the W view ProtoShower
const ConnectionPathway & GetConnectionPathway() const
Get the connection pathway.
pandora::CartesianPointVector m_ambiguousDirectionVector
the initial directions of the ambiguous hit owners
void SetHitsToAddList(const pandora::CaloHitList &hitsToAddList)
Set the hits to add list.
pandora::CaloHitList m_hitsToAdd
the list of hits to add to an electron shower pfo
pandora::CartesianVector m_startPosition
the 2D position at which the cascade looks to begin
const pandora::CaloHitList & GetSpineHitList() const
Get the spine hit list.
const pandora::CartesianVector & GetStartPosition() const
Get the start position of the connection pathway.
void AddAmbiguousHit(const pandora::CaloHit *const ambiguousHit)
Add an ambiguous hit to the ambiguous hit list.
const ShowerCore m_showerCore
the ShowerCore object
std::vector< ConnectionPathway > ConnectionPathwayVector
const pandora::CartesianVector & GetStartPosition() const
Get the start position of the shower core.
pandora::CartesianVector m_startPosition
the start position of the connection pathway
const Consistency & GetConsistencyType() const
Get the consistency type.
const pandora::CartesianVector & GetStartDirection() const
Get the start direction of the shower core.
pandora::CaloHitList m_ambiguousHitList
the list of ambiguous hits (those with shared energy deposits)
Consistency m_consistencyType
the nature of the 2D->3D match
std::vector< ProtoShowerMatch > ProtoShowerMatchVector
ShowerCore()
Default constructor.
std::vector< ProtoShower > ProtoShowerVector
ConnectionPathway()
Default constructor.
void AddHitToAdd(const pandora::CaloHit *const hitToAdd)
Add a hit to the hits to add list.
pandora::CartesianVector m_startDirection
the initial direction of the connection pathway
void AddAmbiguousDirection(const pandora::CartesianVector &ambiguousDirection)
Add an ambiguous direction to the ambiguous direction vector.
const pandora::CaloHitList & GetHitsToAddList() const
Get the hits to add list.
ProtoShower & GetProtoShowerToModify(const pandora::HitType hitType)
Get a modifiable ProtoShower in a given view.
const ShowerCore & GetShowerCore() const
Get the shower core.
ProtoShower m_protoShowerV
the V view ProtoShower
const ProtoShower & GetProtoShowerW() const
Get the W view ProtoShower.
pandora::CaloHitList m_spineHitList
the shower spine hit list
ProtoShower(const ShowerCore &showerCore, const ConnectionPathway &connectionPathway, const pandora::CaloHitList &spineHitList, const pandora::CaloHitList &ambiguousHitList, const pandora::CartesianPointVector &ambiguousDirectionVector, const pandora::CaloHitList &hitsToAdd)
Constructor.
const pandora::CartesianVector & GetStartDirection() const
Get the start direction of the connection pathway.