12#include "GaudiKernel/MsgStream.h"
28 #ifdef DEBUG_CTOR_DTOR
29 std::cout<<
"TrackParticleBase blank ctr :"<<
this<<std::endl;
38 std::vector<const TrackParameters*>& parameters,
49 #ifdef DEBUG_CTOR_DTOR
50 std::cout<<
"TrackParticleBase ctr :"<<
this<<std::endl;
54 assert ((vxCandidate!=
nullptr)||(trkPrtOrigin==
NoVtx));
72 std::unique_ptr<Trk::TrackSummary> trkSummary,
73 std::vector<const Trk::TrackParameters*>&& parameters,
103 #ifdef DEBUG_CTOR_DTOR
104 std::cout<<
"TrackParticleBase copy ctr :"<<
this<<std::endl;
107 std::vector<const TrackParameters*>::const_iterator it = rhs.
m_trackParameters.begin();
108 std::vector<const TrackParameters*>::const_iterator itEnd = rhs.
m_trackParameters.end();
124 std::vector<const TrackParameters*>::const_iterator it =
m_trackParameters.begin();
125 std::vector<const TrackParameters*>::const_iterator itEnd =
m_trackParameters.end();
126 for (; it!=itEnd; ++it) {
delete (*it);
152 rhs.m_trackSummary =
nullptr;
156 rhs.m_fitQuality =
nullptr;
177 #ifdef DEBUG_CTOR_DTOR
178 std::cout<<
"TrackParticleBase dtor :"<<
this<<std::endl;
180 std::vector<const TrackParameters*>::const_iterator it =
m_trackParameters.begin();
181 std::vector<const TrackParameters*>::const_iterator itEnd =
m_trackParameters.end();
182 for (; it!=itEnd; ++it) {
delete (*it);
196 sl <<
"The ElementLink<TrackCollection> is valid." <<
endmsg;
199 sl <<
"The ElementLink<TrackCollection> is NOT valid." <<
endmsg;
209 sl <<
"TrackParticle has " <<
trackParameters.size() <<
" track parameters. Printing them:" <<
endmsg;
212 sl << (*trackParameter) <<
endmsg;
214 sl<<
"TrackInfo inherited from original Track comes below:"<<
endmsg;
221 sl <<
"Printing TrackParticle. OriginType: " << this->
particleOriginType() << std::endl;
224 sl <<
"The ElementLink<TrackCollection> is valid." << std::endl;
227 sl <<
"The ElementLink<TrackCollection> is NOT valid." << std::endl;
237 sl <<
"TrackParticle has " <<
trackParameters.size() <<
" track parameters. Printing them:" << std::endl;
240 sl << (*trackParameter) << std::endl;
242 sl<<
"TrackInfo inherited from original Track comes below:"<<std::endl;
249 trackParticleBase.
dump(sl);
255 trackParticleBase.
dump(sl);
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
ElementLink implementation for ROOT usage.
bool isDefault() const
Test to see if this link is in the default state.
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Contains information about the 'fitter' of this track.
TrackParticleBase & operator=(const TrackParticleBase &)
Assignement operator.
const TrackSummary * m_trackSummary
the summary of this TrackParticle.
const ElementLink< TrackCollection > * trackElementLink() const
Return the ElementLink to the Track.
const FitQuality * m_fitQuality
the fit quality of this TrackParticle.
const FitQuality * fitQuality() const
accessor function for FitQuality.
ElementLink< TrackCollection > m_originalTrack
ElementLink to the Track used to create this TrackParticleBase object Before writing to disk,...
virtual MsgStream & dump(MsgStream &out) const
Dump methods to be used by the overloaded stream operator (inheritance!)
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
TrackParticleBase()
Constructor 0 standard constructor which sets everything to 0, needed for persistency.
TrackInfo m_trackInfo
This is a class which stores the identity of where the track was created, fitted,...
virtual ~TrackParticleBase()
Destructor.
const std::vector< const TrackParameters * > & trackParameters() const
Returns the track parameters.
TrackParticleOrigin m_trackParticleOrigin
specifies the origin type of the particle (prim.vertex, ...)
const VxCandidate * reconstructedVertex() const
Get a pointer to the primary vertex.
TrackParticleOrigin particleOriginType() const
Get the particle origin type.
std::vector< const TrackParameters * > m_trackParameters
DataVector of TrackParameters stored inside this TrackParticle.
const TrackInfo & info() const
returns the info of the track.
ElementLink< VxContainer > m_elVxCandidate
ElementLink to a VxCandidate.
A summary of the information contained by a track.
const TrackInfo & info() const
Returns a const ref to info of a const tracks.
const Trk::RecVertex & recVertex(void) const
Returns a reference to reconstructed vertex.
static std::string release
Ensure that the ATLAS eigen extensions are properly loaded.
@ NoVtx
Dummy vertex, TrackParticle was not used in vertex fit.
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
VertexType TrackParticleOrigin
ParametersBase< TrackParametersDim, Charged > TrackParameters