QwAnalysis
|
Contains the complete track as a concatenation of partial tracks. More...
#include <QwTrack.h>
Public Member Functions | |
QwTrack () | |
Default constructor. More... | |
QwTrack (const QwPartialTrack *front, const QwPartialTrack *back) | |
Constructor with front and back partial track. More... | |
QwTrack (const QwTrack &that) | |
Copy constructor by reference. More... | |
QwTrack (const QwTrack *that) | |
Copy constructor from pointer. More... | |
virtual | ~QwTrack () |
Virtual destructor. More... | |
QwTrack & | operator= (const QwTrack &that) |
Assignment operator. More... | |
void | Initialize () |
Initialization. More... | |
Int_t | GetNumberOfPartialTracks () const |
const QwPartialTrack * | GetPartialTrack (const int pt) const |
Get the specified partial track. More... | |
void | PrintPartialTracks (Option_t *option="") const |
void | SetMagneticFieldIntegral (double bdl, double bdlx, double bdly, double bdlz) |
Set magnetic field integral. More... | |
const TVector3 & | GetMagneticFieldIntegral () const |
Get magnetic field integral. More... | |
ClassDef (QwTrack, 3) | |
QwPartialTrack * | CreateNewPartialTrack () |
void | AddPartialTrack (const QwPartialTrack *partialtrack) |
void | AddPartialTrackList (const std::vector< QwPartialTrack * > &partialtracklist) |
void | ClearPartialTracks (Option_t *option="") |
void | ResetPartialTracks (Option_t *option="") |
Public Member Functions inherited from VQwTrackingElement | |
VQwTrackingElement () | |
Default constructor. More... | |
VQwTrackingElement (const VQwTrackingElement &that) | |
virtual | ~VQwTrackingElement () |
Virtual destructor. More... | |
VQwTrackingElement & | operator= (const VQwTrackingElement &that) |
Assignment operator. More... | |
const QwDetectorInfo * | GetDetectorInfo () const |
Get the detector info pointer. More... | |
void | SetDetectorInfo (const QwDetectorInfo *detectorinfo) |
Set the detector info pointer. More... | |
EQwRegionID | GetRegion () const |
Get the region. More... | |
void | SetRegion (EQwRegionID region) |
Set the region. More... | |
EQwDetectorPackage | GetPackage () const |
Get the package. More... | |
void | SetPackage (EQwDetectorPackage package) |
Set the package. More... | |
int | GetOctant () const |
Get the octant number. More... | |
void | SetOctant (int octant) |
Set the octant number. More... | |
EQwDirectionID | GetDirection () const |
Get the direction. More... | |
void | SetDirection (EQwDirectionID direction) |
Set the direction. More... | |
int | GetPlane () const |
Get the plane number. More... | |
void | SetPlane (int plane) |
Set the plane number. More... | |
int | GetElement () const |
Get the element number. More... | |
void | SetElement (int element) |
Set the element number. More... | |
void | SetGeometryTo (const VQwTrackingElement &e) |
Copy the geometry info from another object. More... | |
Public Member Functions inherited from QwObjectCounter< QwTrack > | |
QwObjectCounter () | |
Default constructor. More... | |
QwObjectCounter (const QwObjectCounter &) | |
Copy constructor. More... | |
virtual | ~QwObjectCounter () |
Destructor. More... | |
Data Fields | |
double | fChi |
Combined chi, i.e. the sum of the chi for front and back partial track. More... | |
double | fMomentum |
Spectrometer momentum. More... | |
int | fIterationsNewton |
Number of iterations in Newton's method. More... | |
int | fIterationsRungeKutta |
Number of iterations in Runge-Kutta method. More... | |
QwPartialTrack * | fFront |
Front partial track. More... | |
QwPartialTrack * | fBack |
Back partial track. More... | |
double | fPhi |
Quantities determined from front partial track. More... | |
double | fTheta |
Polar angle theta of track at primary vertex. More... | |
double | fVertexZ |
Primary vertex position in longitudinal direction. More... | |
double | fVertexR |
Primary vertex position in transverse direction. More... | |
TVector3 | fPositionDiff |
Matching of front and back track position and direction at matching plane. More... | |
double | fPositionXoff |
Difference in X position at matching plane. More... | |
double | fPositionYoff |
Difference in Y position at matching plane. More... | |
double | fPositionRoff |
Difference in radial position at matching plane. More... | |
double | fPositionPhioff |
Difference in azimuthal angle phi at matching plane. More... | |
double | fPositionThetaoff |
Difference in polar angle theta at matching plane. More... | |
TVector3 | fDirectionDiff |
Difference in momentum at matching plane. More... | |
double | fDirectionXoff |
Difference in X momentum at matching plane. More... | |
double | fDirectionYoff |
Difference in Y momentum at matching plane. More... | |
double | fDirectionZoff |
Difference in Z momentum at matching plane. More... | |
double | fDirectionPhioff |
Difference in momentum azimuthal angle at matching plane. More... | |
double | fDirectionThetaoff |
Difference in momentum polar angle at matching plane. More... | |
TVector3 | fStartPosition |
Position and direction before and after swimming. More... | |
TVector3 | fStartDirection |
Start direction of front track. More... | |
TVector3 | fEndPositionGoal |
Goal position of back track. More... | |
TVector3 | fEndDirectionGoal |
Goal direction of back track. More... | |
TVector3 | fEndPositionActual |
Actual position of track at back plane. More... | |
TVector3 | fEndDirectionActual |
Actual direction of track at back plane. More... | |
int | fIterationsRK4 |
Number of iterations using Runge-Kutta 4th order. More... | |
TVector3 | fEndPositionActualRK4 |
Actual position of track at back plane using Runge-Kutta 4th order. More... | |
TVector3 | fEndDirectionActualRK4 |
Actual direction of track at back plane using Runge-Kutta 4th order. More... | |
int | fIterationsRKF45 |
Number of iterations using Runge-Kutta-Fehlberg. More... | |
TVector3 | fEndPositionActualRKF45 |
Actual position of track at back plane using Runge-Kutta-Fehlberg. More... | |
TVector3 | fEndDirectionActualRKF45 |
Actual direction of track at back plane using Runge-Kutta-Fehlberg. More... | |
double | fBdl |
Magnetic field integrals. More... | |
TVector3 | fBdlXYZ |
Magnetic field integral along track. More... | |
Private Attributes | |
Int_t | fNQwPartialTracks |
Number of partial tracks in this track. More... | |
std::vector< QwPartialTrack * > | fQwPartialTracks |
List of partial tracks in this track. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &stream, const QwTrack &t) |
Output stream operator for tracks. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from QwObjectCounter< QwTrack > | |
static size_t | GetObjectsCreated () |
Get number of objects ever created. More... | |
static size_t | GetObjectsAlive () |
Get number of objects still alive. More... | |
Protected Member Functions inherited from VQwTrackingElement | |
ClassDef (VQwTrackingElement, 1) | |
Protected Attributes inherited from VQwTrackingElement | |
const QwDetectorInfo * | fDetectorInfo |
EQwRegionID | fRegion |
///< Detector info pointer More... | |
EQwDetectorPackage | fPackage |
Package. More... | |
int | fOctant |
Octant number. More... | |
EQwDirectionID | fDirection |
Direction. More... | |
int | fPlane |
Plane number. More... | |
int | fElement |
Element number. More... | |
Contains the complete track as a concatenation of partial tracks.
A QwTrack contains the complete description of the track as a concatenation of multiple partial tracks. Associated with the track is the kinematical information, for use in the final Q^2 determination.
Several vectors of QwPartialTracks are stored in the QwTrack object. This allows for combining different QwPartialTracks with each other, and selecting the optimal fit.
QwTrack::QwTrack | ( | ) |
Default constructor.
Default constructor
Definition at line 7 of file QwTrack.cc.
References Initialize().
QwTrack::QwTrack | ( | const QwPartialTrack * | front, |
const QwPartialTrack * | back | ||
) |
Constructor with front and back partial track.
Constructor with front and back partial track
front | Front partial track |
back | Back partial track |
Definition at line 18 of file QwTrack.cc.
References AddPartialTrack(), fBack, fFront, VQwTrackingElement::GetPackage(), Initialize(), and VQwTrackingElement::SetPackage().
QwTrack::QwTrack | ( | const QwTrack & | that | ) |
Copy constructor by reference.
Copy constructor by reference
that | Original track |
Definition at line 42 of file QwTrack.cc.
References fBack, fFront, and Initialize().
QwTrack::QwTrack | ( | const QwTrack * | that | ) |
Copy constructor from pointer.
Copy constructor from pointer
that | Original track |
Definition at line 59 of file QwTrack.cc.
References fBack, fFront, and Initialize().
|
virtual |
Virtual destructor.
Virtual destructor
Definition at line 78 of file QwTrack.cc.
References ClearPartialTracks(), fBack, and fFront.
void QwTrack::AddPartialTrack | ( | const QwPartialTrack * | partialtrack | ) |
Definition at line 171 of file QwTrack.cc.
References fNQwPartialTracks, and fQwPartialTracks.
Referenced by AddPartialTrackList(), CreateNewPartialTrack(), and QwTrack().
void QwTrack::AddPartialTrackList | ( | const std::vector< QwPartialTrack * > & | partialtracklist | ) |
Definition at line 178 of file QwTrack.cc.
References AddPartialTrack().
Referenced by operator=().
QwTrack::ClassDef | ( | QwTrack | , |
3 | |||
) |
void QwTrack::ClearPartialTracks | ( | Option_t * | option = "" | ) |
Definition at line 186 of file QwTrack.cc.
References fNQwPartialTracks, and fQwPartialTracks.
Referenced by operator=(), ResetPartialTracks(), and ~QwTrack().
QwPartialTrack * QwTrack::CreateNewPartialTrack | ( | ) |
Creating and adding partial tracks
Definition at line 163 of file QwTrack.cc.
References AddPartialTrack().
|
inline |
|
inline |
Definition at line 67 of file QwTrack.h.
References fNQwPartialTracks.
|
inline |
Get the specified partial track.
Definition at line 69 of file QwTrack.h.
References fQwPartialTracks.
void QwTrack::Initialize | ( | ) |
Initialization.
Initialization
Definition at line 149 of file QwTrack.cc.
References fBack, fChi, fFront, and fMomentum.
Referenced by QwTrack().
Assignment operator.
Assignment operator
that | Original track |
Definition at line 91 of file QwTrack.cc.
References AddPartialTrackList(), ClearPartialTracks(), fChi, fDirectionDiff, fDirectionPhioff, fDirectionThetaoff, fDirectionXoff, fDirectionYoff, fDirectionZoff, fEndDirectionActual, fEndDirectionActualRK4, fEndDirectionActualRKF45, fEndDirectionGoal, fEndPositionActual, fEndPositionActualRK4, fEndPositionActualRKF45, fEndPositionGoal, fIterationsNewton, fIterationsRK4, fIterationsRKF45, fIterationsRungeKutta, fMomentum, fPhi, fPositionDiff, fPositionPhioff, fPositionRoff, fPositionThetaoff, fPositionXoff, fPositionYoff, fQwPartialTracks, fStartDirection, fStartPosition, fTheta, fVertexR, fVertexZ, and VQwTrackingElement::operator=().
void QwTrack::PrintPartialTracks | ( | Option_t * | option = "" | ) | const |
Definition at line 203 of file QwTrack.cc.
References QwLog::endl(), fQwPartialTracks, and QwMessage.
void QwTrack::ResetPartialTracks | ( | Option_t * | option = "" | ) |
Definition at line 197 of file QwTrack.cc.
References ClearPartialTracks().
|
inline |
Set magnetic field integral.
Definition at line 76 of file QwTrack.h.
Referenced by QwRayTracer::Bridge().
|
friend |
Output stream operator for tracks.
Output stream operator overloading
Definition at line 215 of file QwTrack.cc.
QwPartialTrack* QwTrack::fBack |
Back partial track.
Definition at line 148 of file QwTrack.h.
Referenced by DrawTreeLineVDC(), Initialize(), QwTrack(), and ~QwTrack().
double QwTrack::fBdl |
Magnetic field integrals.
Magnetic field integral along track
Definition at line 143 of file QwTrack.h.
Referenced by SetMagneticFieldIntegral().
TVector3 QwTrack::fBdlXYZ |
Magnetic field integral along track.
Definition at line 144 of file QwTrack.h.
Referenced by GetMagneticFieldIntegral(), and SetMagneticFieldIntegral().
double QwTrack::fChi |
Combined chi, i.e. the sum of the chi for front and back partial track.
Definition at line 99 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), Initialize(), and operator=().
TVector3 QwTrack::fDirectionDiff |
Difference in momentum at matching plane.
Definition at line 113 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fDirectionPhioff |
Difference in momentum azimuthal angle at matching plane.
Definition at line 117 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fDirectionThetaoff |
Difference in momentum polar angle at matching plane.
Definition at line 118 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fDirectionXoff |
Difference in X momentum at matching plane.
Definition at line 114 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fDirectionYoff |
Difference in Y momentum at matching plane.
Definition at line 115 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fDirectionZoff |
Difference in Z momentum at matching plane.
Definition at line 116 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
TVector3 QwTrack::fEndDirectionActual |
Actual direction of track at back plane.
Definition at line 130 of file QwTrack.h.
Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), operator<<(), and operator=().
TVector3 QwTrack::fEndDirectionActualRK4 |
Actual direction of track at back plane using Runge-Kutta 4th order.
Definition at line 134 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
TVector3 QwTrack::fEndDirectionActualRKF45 |
Actual direction of track at back plane using Runge-Kutta-Fehlberg.
Definition at line 138 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
TVector3 QwTrack::fEndDirectionGoal |
Goal direction of back track.
Definition at line 127 of file QwTrack.h.
Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), operator<<(), and operator=().
TVector3 QwTrack::fEndPositionActual |
Actual position of track at back plane.
Definition at line 129 of file QwTrack.h.
Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), operator<<(), and operator=().
TVector3 QwTrack::fEndPositionActualRK4 |
Actual position of track at back plane using Runge-Kutta 4th order.
Definition at line 133 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
TVector3 QwTrack::fEndPositionActualRKF45 |
Actual position of track at back plane using Runge-Kutta-Fehlberg.
Definition at line 137 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
TVector3 QwTrack::fEndPositionGoal |
Goal position of back track.
Definition at line 126 of file QwTrack.h.
Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), operator<<(), and operator=().
QwPartialTrack* QwTrack::fFront |
Front partial track.
Definition at line 147 of file QwTrack.h.
Referenced by QwEvent::CalculateKinematics(), Initialize(), QwTrack(), and ~QwTrack().
int QwTrack::fIterationsNewton |
Number of iterations in Newton's method.
Definition at line 102 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
int QwTrack::fIterationsRK4 |
Number of iterations using Runge-Kutta 4th order.
Definition at line 132 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
int QwTrack::fIterationsRKF45 |
Number of iterations using Runge-Kutta-Fehlberg.
Definition at line 136 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
int QwTrack::fIterationsRungeKutta |
Number of iterations in Runge-Kutta method.
Definition at line 103 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fMomentum |
Spectrometer momentum.
Definition at line 100 of file QwTrack.h.
Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), QwEvent::CalculateKinematics(), Initialize(), and operator=().
|
private |
Number of partial tracks in this track.
Definition at line 35 of file QwTrack.h.
Referenced by AddPartialTrack(), ClearPartialTracks(), and GetNumberOfPartialTracks().
double QwTrack::fPhi |
Quantities determined from front partial track.
Azimuthal angle phi of track at primary vertex
Definition at line 93 of file QwTrack.h.
Referenced by operator=().
TVector3 QwTrack::fPositionDiff |
Matching of front and back track position and direction at matching plane.
Difference in position at matching plane
Definition at line 107 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fPositionPhioff |
Difference in azimuthal angle phi at matching plane.
Definition at line 111 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fPositionRoff |
Difference in radial position at matching plane.
Definition at line 110 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fPositionThetaoff |
Difference in polar angle theta at matching plane.
Definition at line 112 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fPositionXoff |
Difference in X position at matching plane.
Definition at line 108 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
double QwTrack::fPositionYoff |
Difference in Y position at matching plane.
Definition at line 109 of file QwTrack.h.
Referenced by QwRayTracer::Bridge(), and operator=().
|
private |
List of partial tracks in this track.
Definition at line 37 of file QwTrack.h.
Referenced by AddPartialTrack(), ClearPartialTracks(), GetPartialTrack(), operator=(), and PrintPartialTracks().
TVector3 QwTrack::fStartDirection |
Start direction of front track.
Definition at line 124 of file QwTrack.h.
Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), operator<<(), and operator=().
TVector3 QwTrack::fStartPosition |
Position and direction before and after swimming.
Start position of front track
Definition at line 123 of file QwTrack.h.
Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), operator<<(), and operator=().
double QwTrack::fTheta |
Polar angle theta of track at primary vertex.
Definition at line 94 of file QwTrack.h.
Referenced by operator=().
double QwTrack::fVertexR |
Primary vertex position in transverse direction.
Definition at line 96 of file QwTrack.h.
Referenced by operator=().
double QwTrack::fVertexZ |
Primary vertex position in longitudinal direction.
Definition at line 95 of file QwTrack.h.
Referenced by operator=().