1 #ifndef LCFIDECAYCHAIN_H
2 #define LCFIDECAYCHAIN_H
5 #include "../util/inc/vector3.h"
36 DecayChain(
Jet* MyJet,
const std::vector<Track*> & Tracks,
const std::vector<Vertex*> & Vertices);
51 const std::vector<Track*> &
allTracks()
const;
65 const std::vector<Vertex*> &
vertices()
const;
136 std::vector<vertex_lcfi::Track*> _AttachedTracks;
137 std::vector<vertex_lcfi::Vertex*> _Vertices;
140 mutable bool _MomValid;
142 mutable bool _ChargeValid;
143 mutable double _Charge;
144 mutable bool _AllTracksValid;
145 mutable std::vector<Track*> _AllTracks;
148 void _invalidateCache()
const;
152 #endif //LCFICLASSNAME_H
bool removeVertex(Vertex *Vertex)
Remove Vertex.
bool removeTrack(Track *Track)
Remove Track.
const std::vector< Track * > & allTracks() const
All tracks contained in DecayChain.
void addVertex(Vertex *Vertex)
Add Vertex.
DecayChain()
Default Constructor.
bool hasVertex(Vertex *Vertex) const
Does the DecayChain have this Vertex?
void addTrack(Track *Track)
Add Track.
bool hasTrack(Track *Track) const
Does the DecayChain have this Track?
const std::vector< Vertex * > & vertices() const
Vertices contained in DecayChain.
Jet * jet() const
Owner Jet.
double charge() const
Charge sum of all tracks in the DecayChain.
Unique Track representation.
const util::Vector3 & momentum() const
Perigee momentum sum of all tracks in the DecayChain.
const std::vector< Track * > & attachedTracks() const
Attached tracks contained in DecayChain.