QwAnalysis
QwPartialTrack Class Reference

Contains the straight part of a track in one region only. More...

#include <QwPartialTrack.h>

+ Inheritance diagram for QwPartialTrack:
+ Collaboration diagram for QwPartialTrack:

Public Member Functions

 QwPartialTrack ()
 Default constructor. More...
 
 QwPartialTrack (const QwPartialTrack &that)
 Copy constructor by reference. More...
 
 QwPartialTrack (const QwPartialTrack *that)
 Copy constructor from pointer. More...
 
 QwPartialTrack (const TVector3 &position, const TVector3 &momentum)
 Constructor with track position and direction. More...
 
virtual ~QwPartialTrack ()
 Destructor. More...
 
QwPartialTrackoperator= (const QwPartialTrack &that)
 Assignment operator. More...
 
bool IsVoid () const
 
bool IsValid () const
 
bool IsGood () const
 
bool IsNotValid () const
 
bool IsUsed () const
 
bool IsNotUsed () const
 
void Clear (Option_t *option="")
 
void Reset (Option_t *option="")
 
double GetChiWeight () const
 
void Print (const Option_t *options=0) const
 
void PrintValid ()
 
const TVector3 GetPosition (const double z) const
 Return the vertex at position z. More...
 
const TVector3 GetMomentumDirection () const
 Return the direction. More...
 
Double_t GetMomentumDirectionPhi () const
 Return the phi angle. More...
 
Double_t GetMomentumDirectionTheta () const
 Return the theta angle. More...
 
Double_t GetVertexZ () const
 Get the vertex position. More...
 
QwPartialTrackSmearPosition (const double sigma_x, const double sigma_y)
 Smear the position. More...
 
QwPartialTrackSmearAngleTheta (const double sigma)
 Smear the theta angle. More...
 
QwPartialTrackSmearAnglePhi (const double sigma)
 Smear the phi angle. More...
 
const QwVertexDeterminePositionInDetector (const QwDetectorInfo *geometry)
 Determine vertex in detector. More...
 
const QwVertexDeterminePositionInTarget (const QwGeometry &geometry)
 Determine vertex in the target. More...
 
const QwVertexDeterminePositionInTriggerScintillators (const QwGeometry &geometry)
 Determine intersection with trigger scintillators. More...
 
const QwVertexDeterminePositionInCerenkovBars (const QwGeometry &geometry)
 Determine intersection with cerenkov bars. More...
 
const QwVertexDeterminePositionInHDC (const QwGeometry &geometry)
 Determine position in first horizontal drift chamber. More...
 
double GetAverageResidual () const
 
void SetAverageResidual (const double residual)
 
double CalculateAverageResidual ()
 
void SetAverageResidual ()
 
void SetAlone (const int alone)
 
int GetAlone () const
 Only 2 Treelines in Plane 0. More...
 
void RotateCoordinates ()
 Rotate coordinates to right octant. More...
 
void RotateRotator (const QwDetectorInfo *geometry)
 
Creating, adding, and getting tree lines
QwTreeLineCreateNewTreeLine ()
 Create a new tree line. More...
 
void AddTreeLine (const QwTreeLine *treeline)
 Add an existing tree line as a copy. More...
 
void AddTreeLineList (const QwTreeLine *treelinelist)
 Add a linked list of existing tree lines as a copy. More...
 
void AddTreeLineList (const std::vector< QwTreeLine * > &treelinelist)
 Add a standard vector of existing tree lines as a copy. More...
 
void ClearTreeLines (Option_t *option="")
 Clear the list of tree lines. More...
 
void ResetTreeLines (Option_t *option="")
 Reset the list of tree lines. More...
 
Int_t GetNumberOfTreeLines () const
 Get the number of tree lines. More...
 
const std::vector< QwTreeLine * > & GetListOfTreeLines () const
 Get the list of tree lines. More...
 
const QwTreeLineGetTreeLine (const int tl) const
 Get the specified tree line. More...
 
void PrintTreeLines (Option_t *option="") const
 Print the list of tree lines. More...
 
- Public Member Functions inherited from VQwTrackingElement
 VQwTrackingElement ()
 Default constructor. More...
 
 VQwTrackingElement (const VQwTrackingElement &that)
 
virtual ~VQwTrackingElement ()
 Virtual destructor. More...
 
VQwTrackingElementoperator= (const VQwTrackingElement &that)
 Assignment operator. More...
 
const QwDetectorInfoGetDetectorInfo () 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< QwPartialTrack >
 QwObjectCounter ()
 Default constructor. More...
 
 QwObjectCounter (const QwObjectCounter &)
 Copy constructor. More...
 
virtual ~QwObjectCounter ()
 Destructor. More...
 

Data Fields

Double_t fOffsetX
 x coordinate (at MAGNET_CENTER) More...
 
Double_t fOffsetY
 y coordinate (at MAGNET_CENTER) More...
 
Double_t fSlopeX
 x slope More...
 
Double_t fSlopeY
 y slope More...
 
Double_t fChi
 combined chi square More...
 
Double_t fCov [4][4]
 covariance matrix More...
 
Double_t TResidual [kNumDirections]
 
Double_t fSignedResidual [12]
 
Bool_t fIsUsed
 used (part of a track) More...
 
Bool_t fIsVoid
 marked as being void More...
 
Bool_t fIsGood
 
Int_t fNumMiss
 missing hits More...
 
Int_t fNumHits
 used hits More...
 
double pR2hit [3]
 x-y-z position at R2 More...
 
double uvR2hit [3]
 direction at R2 More...
 
double pR3hit [3]
 x-y-z position at R3 More...
 
double uvR3hit [3]
 direction at R3 More...
 
int fAlone
 

Private Member Functions

void Initialize ()
 Initialization. More...
 
 ClassDef (QwPartialTrack, 1)
 

Private Attributes

Int_t fNQwTreeLines
 Number of tree lines in this partial track. More...
 
std::vector< QwTreeLine * > fQwTreeLines
 List of tree lines in this partial track. More...
 
double fAverageResidual
 number of Plane 0 Treelines More...
 

Friends

std::ostream & operator<< (std::ostream &stream, const QwPartialTrack &pt)
 

Additional Inherited Members

- Static Public Member Functions inherited from QwObjectCounter< QwPartialTrack >
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 QwDetectorInfofDetectorInfo
 
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...
 

Detailed Description

Contains the straight part of a track in one region only.

A QwPartialTrack contains tracking information for one region only. It is constructed by combining multiple tree lines together, and in turn used to construct the complete track.

Definition at line 38 of file QwPartialTrack.h.

Constructor & Destructor Documentation

QwPartialTrack::QwPartialTrack ( )

Default constructor.

Default constructor

Definition at line 15 of file QwPartialTrack.cc.

References Initialize().

16 {
17  // Initialize
18  Initialize();
19 }
void Initialize()
Initialization.

+ Here is the call graph for this function:

QwPartialTrack::QwPartialTrack ( const QwPartialTrack that)

Copy constructor by reference.

Copy constructor by reference

Definition at line 43 of file QwPartialTrack.cc.

References Initialize().

44 : VQwTrackingElement(that)
45 {
46  // Initialize
47  Initialize();
48 
49  // Assignment
50  *this = that;
51 }
VQwTrackingElement()
Default constructor.
void Initialize()
Initialization.

+ Here is the call graph for this function:

QwPartialTrack::QwPartialTrack ( const QwPartialTrack that)

Copy constructor from pointer.

Copy constructor with pointer

Definition at line 56 of file QwPartialTrack.cc.

References Initialize().

57 : VQwTrackingElement(*that)
58 {
59  // Initialize
60  Initialize();
61 
62  // Null pointer
63  if (that == 0) return;
64 
65  // Assignment
66  *this = *that;
67 }
VQwTrackingElement()
Default constructor.
void Initialize()
Initialization.

+ Here is the call graph for this function:

QwPartialTrack::QwPartialTrack ( const TVector3 &  position,
const TVector3 &  direction 
)

Constructor with track position and direction.

Constructor with position and direction vectors

Parameters
positionPosition of the partial track
directionDirection of the partial track

Definition at line 26 of file QwPartialTrack.cc.

References fOffsetX, fOffsetY, fSlopeX, fSlopeY, and Initialize().

27 {
28  // Initialize
29  Initialize();
30 
31  // Calculate slopes
32  fSlopeX = direction.X() / direction.Z();
33  fSlopeY = direction.Y() / direction.Z();
34 
35  // Calculate offset
36  fOffsetX = position.X() - fSlopeX * position.Z();
37  fOffsetY = position.Y() - fSlopeY * position.Z();
38 }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
Double_t fSlopeY
y slope
Double_t fSlopeX
x slope
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)
void Initialize()
Initialization.

+ Here is the call graph for this function:

QwPartialTrack::~QwPartialTrack ( )
virtual

Destructor.

Destructor

Definition at line 72 of file QwPartialTrack.cc.

References Clear().

73 {
74  // Clear the partial track
75  Clear();
76 
77  /* for (int i = 0; i < kNumDirections; i++){
78  if(fTreeLine[i])
79  delete fTreeLine[i];
80  }
81  */
82  // nothing
83 }
void Clear(Option_t *option="")

+ Here is the call graph for this function:

Member Function Documentation

void QwPartialTrack::AddTreeLine ( const QwTreeLine treeline)

Add an existing tree line as a copy.

Definition at line 225 of file QwPartialTrack.cc.

References fNQwTreeLines, and fQwTreeLines.

Referenced by AddTreeLineList(), CreateNewTreeLine(), QwTrackingTreeCombine::r3_PartialTrackFit(), and QwTrackingTreeCombine::TcTreeLineCombine().

226 {
227  fQwTreeLines.push_back(new QwTreeLine(treeline));
228  ++fNQwTreeLines;
229 }
Int_t fNQwTreeLines
Number of tree lines in this partial track.
One-dimensional (u, v, or x) track stubs and associated hits.
Definition: QwTreeLine.h:51
std::vector< QwTreeLine * > fQwTreeLines
List of tree lines in this partial track.

+ Here is the caller graph for this function:

void QwPartialTrack::AddTreeLineList ( const QwTreeLine treelinelist)

Add a linked list of existing tree lines as a copy.

Definition at line 232 of file QwPartialTrack.cc.

References AddTreeLine(), and QwTreeLine::next.

Referenced by operator=().

233 {
234  for (const QwTreeLine *treeline = treelinelist;
235  treeline; treeline = treeline->next){
236  if (treeline->IsValid()){
237  AddTreeLine(treeline);
238  }
239  }
240 }
void AddTreeLine(const QwTreeLine *treeline)
Add an existing tree line as a copy.
One-dimensional (u, v, or x) track stubs and associated hits.
Definition: QwTreeLine.h:51
QwTreeLine * next
Definition: QwTreeLine.h:231

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QwPartialTrack::AddTreeLineList ( const std::vector< QwTreeLine * > &  treelinelist)

Add a standard vector of existing tree lines as a copy.

Definition at line 243 of file QwPartialTrack.cc.

References AddTreeLine().

244 {
245  for (std::vector<QwTreeLine*>::const_iterator treeline = treelinelist.begin();
246  treeline != treelinelist.end(); treeline++)
247  AddTreeLine(*treeline);
248 }
void AddTreeLine(const QwTreeLine *treeline)
Add an existing tree line as a copy.

+ Here is the call graph for this function:

double QwPartialTrack::CalculateAverageResidual ( )

Calculate the average residual of this partial track over all treelines

Definition at line 188 of file QwPartialTrack.cc.

References fAverageResidual, QwTreeLine::GetAverageResidual(), GetNumberOfTreeLines(), GetTreeLine(), and QwTreeLine::IsUsed().

Referenced by SetAverageResidual(), and QwTrackingTreeCombine::TlTreeCombine().

189 {
190  int numTreeLines = 0;
191  double sumResiduals = 0.0;
192  for (Int_t i = 0; i < GetNumberOfTreeLines(); i++) {
193  const QwTreeLine* treeline = GetTreeLine(i);
194  if (treeline->IsUsed()) {
195  numTreeLines++;
196  sumResiduals += treeline->GetAverageResidual();
197  }
198  } // end of loop over treelines
199  fAverageResidual = sumResiduals / numTreeLines;
200  return fAverageResidual;
201 }
Int_t GetNumberOfTreeLines() const
Get the number of tree lines.
double fAverageResidual
number of Plane 0 Treelines
double GetAverageResidual() const
Get the average residuals.
Definition: QwTreeLine.h:163
bool IsUsed() const
Is this tree line used?
Definition: QwTreeLine.h:96
const QwTreeLine * GetTreeLine(const int tl) const
Get the specified tree line.
One-dimensional (u, v, or x) track stubs and associated hits.
Definition: QwTreeLine.h:51

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

QwPartialTrack::ClassDef ( QwPartialTrack  ,
 
)
private
void QwPartialTrack::Clear ( Option_t *  option = "")

Definition at line 205 of file QwPartialTrack.cc.

References ClearTreeLines().

Referenced by ~QwPartialTrack().

206 {
207  ClearTreeLines(option);
208 }
void ClearTreeLines(Option_t *option="")
Clear the list of tree lines.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QwPartialTrack::ClearTreeLines ( Option_t *  option = "")

Clear the list of tree lines.

Definition at line 251 of file QwPartialTrack.cc.

References fNQwTreeLines, and fQwTreeLines.

Referenced by Clear(), operator=(), and ResetTreeLines().

252 {
253  for (size_t i = 0; i < fQwTreeLines.size(); i++) {
254  QwTreeLine* tl = fQwTreeLines.at(i);
255  delete tl;
256  }
257  fQwTreeLines.clear();
258  fNQwTreeLines = 0;
259 }
Int_t fNQwTreeLines
Number of tree lines in this partial track.
One-dimensional (u, v, or x) track stubs and associated hits.
Definition: QwTreeLine.h:51
std::vector< QwTreeLine * > fQwTreeLines
List of tree lines in this partial track.

+ Here is the caller graph for this function:

QwTreeLine * QwPartialTrack::CreateNewTreeLine ( )

Create a new tree line.

Definition at line 217 of file QwPartialTrack.cc.

References AddTreeLine().

218 {
219  QwTreeLine* treeline = new QwTreeLine();
220  AddTreeLine(treeline);
221  return treeline;
222 }
void AddTreeLine(const QwTreeLine *treeline)
Add an existing tree line as a copy.
One-dimensional (u, v, or x) track stubs and associated hits.
Definition: QwTreeLine.h:51

+ Here is the call graph for this function:

const QwVertex * QwPartialTrack::DeterminePositionInCerenkovBars ( const QwGeometry geometry)

Determine intersection with cerenkov bars.

This method checks whether the region 3 partial track has an intersection with the trigger scintillators in a detector package.

The cerenkov bars are assumed to be the only (or at least the first) detectors in region 3.

Definition at line 458 of file QwPartialTrack.cc.

References DeterminePositionInDetector(), VQwTrackingElement::GetPackage(), QwGeometry::in(), and kRegionIDCer.

459 {
460  // Get the Cherenkov detectors in this package
461  QwGeometry cerenkov(geometry.in(kRegionIDCer).in(GetPackage()));
462 
463  // Find the first hit
464  for (size_t i = 0; i < cerenkov.size(); i++) {
465  const QwVertex* vertex = DeterminePositionInDetector(cerenkov.at(i));
466  if (vertex) return vertex;
467  }
468  return 0;
469 }
const QwGeometry in(const EQwRegionID &r) const
Get detectors in given region.
Definition: QwGeometry.h:92
Contains vertex information.
Definition: QwVertex.h:23
Collection of QwDetectorInfo pointers that specifies an experimental geometry.
Definition: QwGeometry.h:27
const QwVertex * DeterminePositionInDetector(const QwDetectorInfo *geometry)
Determine vertex in detector.
EQwDetectorPackage GetPackage() const
Get the package.

+ Here is the call graph for this function:

const QwVertex * QwPartialTrack::DeterminePositionInDetector ( const QwDetectorInfo detector)

Determine vertex in detector.

This method checks determines the intersection of the partial track with a planar detector.

Definition at line 395 of file QwPartialTrack.cc.

References QwLog::endl(), QwDetectorInfo::GetActiveWidthX(), QwDetectorInfo::GetActiveWidthY(), QwDetectorInfo::GetDetectorPitch(), QwDetectorInfo::GetPosition(), GetPosition(), QwDetectorInfo::GetZPosition(), and QwMessage.

Referenced by DeterminePositionInCerenkovBars(), DeterminePositionInHDC(), and DeterminePositionInTriggerScintillators().

396 {
397  QwVertex* vertex = 0;
398  if (detector->GetDetectorPitch() != 0) {
399  // Get intersection with z-plane
400  double z = detector->GetZPosition();
401  TVector3 position = GetPosition(z);
402  // Check acceptance with active width
403  if (fabs(position.X() - detector->GetPosition().X()) < detector->GetActiveWidthX()/2
404  && fabs(position.Y() - detector->GetPosition().Y()) < detector->GetActiveWidthY()/2) {
405  vertex = new QwVertex(position);
406  } else {
407  QwMessage << "No support for intersections of partial tracks "
408  << "with tilted detectors yet..." << QwLog::endl;
409  }
410  }
411  return vertex;
412 }
#define QwMessage
Predefined log drain for regular messages.
Definition: QwLog.h:50
Contains vertex information.
Definition: QwVertex.h:23
double GetActiveWidthY() const
const TVector3 GetPosition(const double z) const
Return the vertex at position z.
double GetDetectorPitch() const
const TVector3 GetPosition() const
static std::ostream & endl(std::ostream &)
End of the line.
Definition: QwLog.cc:299
double GetZPosition() const
double GetActiveWidthX() const

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const QwVertex * QwPartialTrack::DeterminePositionInHDC ( const QwGeometry geometry)

Determine position in first horizontal drift chamber.

This method checks whether the region 2 partial track has an intersection with the horizontal drift chambers in a detector package.

The drift chambers are assumed to be the only (or at least the first) detectors in region 2.

Definition at line 478 of file QwPartialTrack.cc.

References DeterminePositionInDetector(), VQwTrackingElement::GetPackage(), QwGeometry::in(), and kRegionID2.

479 {
480  // Get the HDC detectors in this package
481  QwGeometry hdc(geometry.in(kRegionID2).in(GetPackage()));
482  // Find the first hit
483  for (size_t i = 0; i < hdc.size(); i++) {
484  const QwVertex* vertex = DeterminePositionInDetector(hdc.at(i));
485  if (vertex) return vertex;
486  }
487  return 0;
488 }
const QwGeometry in(const EQwRegionID &r) const
Get detectors in given region.
Definition: QwGeometry.h:92
Contains vertex information.
Definition: QwVertex.h:23
Collection of QwDetectorInfo pointers that specifies an experimental geometry.
Definition: QwGeometry.h:27
const QwVertex * DeterminePositionInDetector(const QwDetectorInfo *geometry)
Determine vertex in detector.
EQwDetectorPackage GetPackage() const
Get the package.

+ Here is the call graph for this function:

const QwVertex * QwPartialTrack::DeterminePositionInTarget ( const QwGeometry geometry)

Determine vertex in the target.

This method checks determines the intersection of the partial track with the target.

Note
At this point the target defined at one z value only. A more careful determination of the primary vertex will be implemented using the general QwVertex class, e.g. QwVertex* primary_vertex = QwVertex (partial_track, beam)

Definition at line 423 of file QwPartialTrack.cc.

References QwLog::endl(), GetPosition(), and QwVerbose.

424 {
425  // TODO target should be put in in the geometry file
426  TVector3 primary = GetPosition(0.0);
427  QwVerbose << "Target vertex at : (" << primary.X() << "," << primary.Y() << "," << primary.Z() << ")" << QwLog::endl;
428  return 0;
429 }
#define QwVerbose
Predefined log drain for verbose messages.
Definition: QwLog.h:55
const TVector3 GetPosition(const double z) const
Return the vertex at position z.
static std::ostream & endl(std::ostream &)
End of the line.
Definition: QwLog.cc:299

+ Here is the call graph for this function:

const QwVertex * QwPartialTrack::DeterminePositionInTriggerScintillators ( const QwGeometry geometry)

Determine intersection with trigger scintillators.

This method checks whether the region 3 partial track has an intersection with the trigger scintillators in a detector package.

The trigger scintillators are assumed to be the only (or at least the first) detectors in region 3.

Definition at line 438 of file QwPartialTrack.cc.

References DeterminePositionInDetector(), VQwTrackingElement::GetPackage(), QwGeometry::in(), and kRegionIDTrig.

439 {
440  // Get the trigger scintillator detectors in this package
441  QwGeometry trigscint(geometry.in(kRegionIDTrig).in(GetPackage()));
442 
443  // Find the first hit
444  for (size_t i = 0; i < trigscint.size(); i++) {
445  const QwVertex* vertex = DeterminePositionInDetector(trigscint.at(i));
446  if (vertex) return vertex;
447  }
448  return 0;
449 }
const QwGeometry in(const EQwRegionID &r) const
Get detectors in given region.
Definition: QwGeometry.h:92
Contains vertex information.
Definition: QwVertex.h:23
Collection of QwDetectorInfo pointers that specifies an experimental geometry.
Definition: QwGeometry.h:27
const QwVertex * DeterminePositionInDetector(const QwDetectorInfo *geometry)
Determine vertex in detector.
EQwDetectorPackage GetPackage() const
Get the package.

+ Here is the call graph for this function:

int QwPartialTrack::GetAlone ( ) const
inline

Only 2 Treelines in Plane 0.

Definition at line 161 of file QwPartialTrack.h.

References fAlone.

161 { return fAlone; }
double QwPartialTrack::GetAverageResidual ( ) const
inline

Definition at line 153 of file QwPartialTrack.h.

References fAverageResidual.

153 { return fAverageResidual; };
double fAverageResidual
number of Plane 0 Treelines
double QwPartialTrack::GetChiWeight ( ) const

Determine the chi^2 for a partial track, weighted by the number of hits

Returns
Weighted chi^2

Definition at line 167 of file QwPartialTrack.cc.

References QwLog::endl(), fChi, fNumHits, fNumMiss, and QwDebug.

Referenced by QwTrackingTreeSort::rcPartConnSort().

168 {
169  // Determine the weight if there are enough hits
170  if (fNumHits >= fNumMiss) {
171  // NOTE Added +1 to get this to work if fNumHits == fNumMiss (wdc)
172  double weight = (double) (fNumHits + fNumMiss + 1)
173  / (fNumHits - fNumMiss + 1);
174  return weight * weight * fChi;
175  // TODO Why is the weight squared here, but not in the weighted chi^2 for treelines?
176 
177  } else {
178 
179  QwDebug << "miss = " << fNumMiss << ", hit = " << fNumHits << QwLog::endl;
180  return 100.0; // This is bad...
181  }
182 }
Double_t fChi
combined chi square
#define QwDebug
Predefined log drain for debugging output.
Definition: QwLog.h:60
static std::ostream & endl(std::ostream &)
End of the line.
Definition: QwLog.cc:299
Int_t fNumMiss
missing hits
Int_t fNumHits
used hits

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const std::vector<QwTreeLine*>& QwPartialTrack::GetListOfTreeLines ( ) const
inline

Get the list of tree lines.

Definition at line 99 of file QwPartialTrack.h.

References fQwTreeLines.

Referenced by QwTrackingTreeSort::rcPTCommonWires().

99 { return fQwTreeLines; };
std::vector< QwTreeLine * > fQwTreeLines
List of tree lines in this partial track.

+ Here is the caller graph for this function:

const TVector3 QwPartialTrack::GetMomentumDirection ( ) const

Return the direction.

Determines the direction of the track at the given z position

Definition at line 340 of file QwPartialTrack.cc.

References fSlopeX, and fSlopeY.

Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), QwEvent::CalculateKinematics(), QwBridgingTrackFilter::Filter(), GetMomentumDirectionPhi(), and GetMomentumDirectionTheta().

341 {
342  TVector3 direction;
343  double kz = sqrt(fSlopeX * fSlopeX + fSlopeY * fSlopeY + 1);
344  direction.SetX(fSlopeX / kz);
345  direction.SetY(fSlopeY / kz);
346  direction.SetZ(1 / kz);
347  return direction;
348 }
Double_t fSlopeY
y slope
Double_t fSlopeX
x slope

+ Here is the caller graph for this function:

Double_t QwPartialTrack::GetMomentumDirectionPhi ( ) const
inline

Return the phi angle.

Definition at line 118 of file QwPartialTrack.h.

References GetMomentumDirection().

Referenced by QwBridgingTrackFilter::Filter(), SmearAnglePhi(), and SmearAngleTheta().

118  {
119  return GetMomentumDirection().Phi();
120  };
const TVector3 GetMomentumDirection() const
Return the direction.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Double_t QwPartialTrack::GetMomentumDirectionTheta ( ) const
inline

Return the theta angle.

Definition at line 122 of file QwPartialTrack.h.

References GetMomentumDirection().

Referenced by QwEvent::CalculateKinematics(), QwBridgingTrackFilter::Filter(), SmearAnglePhi(), and SmearAngleTheta().

122  {
123  return GetMomentumDirection().Theta();
124  };
const TVector3 GetMomentumDirection() const
Return the direction.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Int_t QwPartialTrack::GetNumberOfTreeLines ( ) const
inline

Get the number of tree lines.

Definition at line 97 of file QwPartialTrack.h.

References fNQwTreeLines.

Referenced by CalculateAverageResidual().

97 { return fNQwTreeLines; };
Int_t fNQwTreeLines
Number of tree lines in this partial track.

+ Here is the caller graph for this function:

const TVector3 QwPartialTrack::GetPosition ( const double  z) const

Return the vertex at position z.

Determines the position of the track at the given z position

Definition at line 328 of file QwPartialTrack.cc.

References fOffsetX, fOffsetY, fSlopeX, and fSlopeY.

Referenced by QwMatrixLookup::Bridge(), QwRayTracer::Bridge(), QwEvent::CalculateKinematics(), DeterminePositionInDetector(), DeterminePositionInTarget(), and QwBridgingTrackFilter::Filter().

329 {
330  TVector3 position;
331  position.SetX(fOffsetX + fSlopeX * z);
332  position.SetY(fOffsetY + fSlopeY * z);
333  position.SetZ(z);
334  return position;
335 }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
Double_t fSlopeY
y slope
Double_t fSlopeX
x slope
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)

+ Here is the caller graph for this function:

const QwTreeLine* QwPartialTrack::GetTreeLine ( const int  tl) const
inline

Get the specified tree line.

Definition at line 101 of file QwPartialTrack.h.

References fQwTreeLines.

Referenced by CalculateAverageResidual(), and DrawTreeLineVDC().

101 { return fQwTreeLines.at(tl); };
std::vector< QwTreeLine * > fQwTreeLines
List of tree lines in this partial track.

+ Here is the caller graph for this function:

Double_t QwPartialTrack::GetVertexZ ( ) const
inline

Get the vertex position.

Definition at line 128 of file QwPartialTrack.h.

References fOffsetX, fOffsetY, fSlopeX, and fSlopeY.

Referenced by QwEvent::CalculateKinematics().

128  {
129  return
130  -(fSlopeX * fOffsetX + fSlopeY * fOffsetY) /
131  (fSlopeX * fSlopeX + fSlopeY * fSlopeY);
132  }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
Double_t fSlopeY
y slope
Double_t fSlopeX
x slope
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)

+ Here is the caller graph for this function:

void QwPartialTrack::Initialize ( )
private

Initialization.

Perform object initialization

Definition at line 142 of file QwPartialTrack.cc.

References fAlone, fIsGood, fIsUsed, fIsVoid, fOffsetX, fOffsetY, fSignedResidual, fSlopeX, fSlopeY, kNumDirections, and TResidual.

Referenced by QwPartialTrack().

143 {
144  // Initialize the member fields
145  fOffsetX = 0.0; fOffsetY = 0.0;
146  fSlopeX = 0.0; fSlopeY = 0.0;
147  fIsVoid = false; fIsUsed = false; fIsGood = false;
148 
149  // Initialize pointers
150  for (int i = 0; i < kNumDirections; ++i){
151  TResidual[i]=0.0;
152  }
153 
154  for(int i=0; i< 12;++i)
155  fSignedResidual[i]=-10;
156 
157  //Only 2 Plane 0 treelines
158  fAlone=0;
159 }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
Double_t fSlopeY
y slope
Double_t fSlopeX
x slope
Bool_t fIsVoid
marked as being void
Double_t TResidual[kNumDirections]
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)
Double_t fSignedResidual[12]
Bool_t fIsUsed
used (part of a track)

+ Here is the caller graph for this function:

bool QwPartialTrack::IsGood ( ) const
inline

Definition at line 73 of file QwPartialTrack.h.

References fIsGood.

73 { return fIsGood; };
bool QwPartialTrack::IsNotUsed ( ) const
inline

Definition at line 76 of file QwPartialTrack.h.

References fIsUsed.

76 { return ! fIsUsed; };
Bool_t fIsUsed
used (part of a track)
bool QwPartialTrack::IsNotValid ( ) const
inline

Definition at line 74 of file QwPartialTrack.h.

References fIsVoid.

74 { return ! fIsVoid; };
Bool_t fIsVoid
marked as being void
bool QwPartialTrack::IsUsed ( ) const
inline

Definition at line 75 of file QwPartialTrack.h.

References fIsUsed.

75 { return fIsUsed; };
Bool_t fIsUsed
used (part of a track)
bool QwPartialTrack::IsValid ( ) const
inline

Definition at line 72 of file QwPartialTrack.h.

References fIsVoid.

Referenced by PrintValid(), and QwTrackingTreeCombine::TlTreeCombine().

72 { return ! fIsVoid; };
Bool_t fIsVoid
marked as being void

+ Here is the caller graph for this function:

bool QwPartialTrack::IsVoid ( ) const
inline

Definition at line 71 of file QwPartialTrack.h.

References fIsVoid.

Referenced by operator<<().

71 { return fIsVoid; };
Bool_t fIsVoid
marked as being void

+ Here is the caller graph for this function:

QwPartialTrack & QwPartialTrack::operator= ( const QwPartialTrack that)

Assignment operator.

Assignment operator

Definition at line 88 of file QwPartialTrack.cc.

References AddTreeLineList(), ClearTreeLines(), fAlone, fAverageResidual, fChi, fCov, fIsGood, fIsUsed, fIsVoid, fNumHits, fNumMiss, fOffsetX, fOffsetY, fQwTreeLines, fSignedResidual, fSlopeX, fSlopeY, kNumDirections, VQwTrackingElement::operator=(), pR2hit, pR3hit, TResidual, uvR2hit, and uvR3hit.

89 {
90  if (this == &that) return *this;
91 
93 
94  fAlone = that.fAlone;
95 
96  fOffsetX = that.fOffsetX;
97  fOffsetY = that.fOffsetY;
98  fSlopeX = that.fSlopeX;
99  fSlopeY = that.fSlopeY;
100 
101  fChi = that.fChi;
103 
104  for (size_t i = 0; i < 4; ++i)
105  for (size_t j = 0; j < 4; ++j)
106  fCov[i][j] = that.fCov[i][j];
107 
108  // this is a pointer
109  for (size_t i = 0; i < kNumDirections; ++i){
110  TResidual[i]=that.TResidual[i];
111  }
112 
113  for (size_t i=0;i< 12;++i)
114  fSignedResidual[i]=that.fSignedResidual[i];
115 
116  fIsUsed = that.fIsUsed;
117  fIsVoid = that.fIsVoid;
118  fIsGood = that.fIsGood;
119 
120  fNumMiss = that.fNumMiss;
121  fNumHits = that.fNumHits;
122 
123  for (size_t i = 0; i < 3; ++i) {
124  pR2hit[i] = that.pR2hit[i];
125  uvR2hit[i] = that.uvR2hit[i];
126  pR3hit[i] = that.pR3hit[i];
127 
128  uvR3hit[i] = that.uvR3hit[i];
129  }
130 
131  // Copy tree lines
132  ClearTreeLines();
134 
135  return *this;
136 }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
Double_t fSlopeY
y slope
double fAverageResidual
number of Plane 0 Treelines
Double_t fChi
combined chi square
double pR2hit[3]
x-y-z position at R2
VQwTrackingElement & operator=(const VQwTrackingElement &that)
Assignment operator.
Double_t fCov[4][4]
covariance matrix
double uvR3hit[3]
direction at R3
Double_t fSlopeX
x slope
Bool_t fIsVoid
marked as being void
Double_t TResidual[kNumDirections]
double uvR2hit[3]
direction at R2
double pR3hit[3]
x-y-z position at R3
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)
Double_t fSignedResidual[12]
Bool_t fIsUsed
used (part of a track)
std::vector< QwTreeLine * > fQwTreeLines
List of tree lines in this partial track.
void AddTreeLineList(const QwTreeLine *treelinelist)
Add a linked list of existing tree lines as a copy.
Int_t fNumMiss
missing hits
void ClearTreeLines(Option_t *option="")
Clear the list of tree lines.
Int_t fNumHits
used hits

+ Here is the call graph for this function:

void QwPartialTrack::Print ( const Option_t *  options = 0) const

Print some debugging information

Definition at line 285 of file QwPartialTrack.cc.

References QwLog::endl(), and QwVerbose.

286 {
287  if (!this) return;
288  QwVerbose << *this << QwLog::endl;
289 }
#define QwVerbose
Predefined log drain for verbose messages.
Definition: QwLog.h:55
static std::ostream & endl(std::ostream &)
End of the line.
Definition: QwLog.cc:299

+ Here is the call graph for this function:

void QwPartialTrack::PrintTreeLines ( Option_t *  option = "") const

Print the list of tree lines.

Definition at line 268 of file QwPartialTrack.cc.

References fQwTreeLines, and QwTreeLine::next.

269 {
270  for (std::vector<QwTreeLine*>::const_iterator treeline = fQwTreeLines.begin();
271  treeline != fQwTreeLines.end(); treeline++) {
272  std::cout << **treeline << std::endl;
273  QwTreeLine* tl = (*treeline)->next;
274  while (tl) {
275  std::cout << *tl << std::endl;
276  tl = tl->next;
277  }
278  }
279 }
One-dimensional (u, v, or x) track stubs and associated hits.
Definition: QwTreeLine.h:51
QwTreeLine * next
Definition: QwTreeLine.h:231
std::vector< QwTreeLine * > fQwTreeLines
List of tree lines in this partial track.
void QwPartialTrack::PrintValid ( )

Print some debugging information for valid partial tracks

Definition at line 294 of file QwPartialTrack.cc.

References QwLog::endl(), IsValid(), and QwVerbose.

295 {
296  if (!this) return;
297  if (this->IsValid()) QwVerbose << *this << QwLog::endl;
298 }
#define QwVerbose
Predefined log drain for verbose messages.
Definition: QwLog.h:55
static std::ostream & endl(std::ostream &)
End of the line.
Definition: QwLog.cc:299
bool IsValid() const

+ Here is the call graph for this function:

void QwPartialTrack::Reset ( Option_t *  option = "")

Definition at line 211 of file QwPartialTrack.cc.

References ResetTreeLines().

212 {
213  ResetTreeLines(option);
214 }
void ResetTreeLines(Option_t *option="")
Reset the list of tree lines.

+ Here is the call graph for this function:

void QwPartialTrack::ResetTreeLines ( Option_t *  option = "")

Reset the list of tree lines.

Definition at line 262 of file QwPartialTrack.cc.

References ClearTreeLines().

Referenced by Reset().

263 {
264  ClearTreeLines();
265 }
void ClearTreeLines(Option_t *option="")
Clear the list of tree lines.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QwPartialTrack::RotateCoordinates ( )

Rotate coordinates to right octant.

This method rotate track geometry information to the right postion according to the octant number. Remember the initial position is at octant 3.

Definition at line 496 of file QwPartialTrack.cc.

References fOffsetX, fOffsetY, fSlopeX, fSlopeY, and VQwTrackingElement::GetOctant().

Referenced by QwTrackingTreeCombine::TlTreeCombine().

496  {
497  //pick two points
498  double z1=0,z2=-250;
499  double x1=0,y1=0,x2=0,y2=0;
500  double x3=0,y3=0,x4=0,y4=0;
501  double PI=3.1415926;
502  x1=fOffsetX+fSlopeX*z1;
503  y1=fOffsetY+fSlopeY*z1;
504  x2=fOffsetX+fSlopeX*z2;
505  y2=fOffsetY+fSlopeY*z2;
506  int oct=GetOctant();
507  double rotate=oct==8? 135: (3-oct)*45;
508  double Cos=cos(rotate*PI/180);
509  double Sin=sin(rotate*PI/180);
510  x3=Cos*x1+Sin*y1;
511  y3=-Sin*x1+Cos*y1;
512  x4=Cos*x2+Sin*y2;
513  y4=-Sin*x2+Cos*y2;
514 
515  fOffsetX=x3;
516  fOffsetY=y3;
517 
518  fSlopeX=(x4-x3)/(z2-z1);
519  fSlopeY=(y4-y3)/(z2-z1);
520 
521 }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
Double_t fSlopeY
y slope
int GetOctant() const
Get the octant number.
Double_t fSlopeX
x slope
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QwPartialTrack::RotateRotator ( const QwDetectorInfo geometry)

Definition at line 522 of file QwPartialTrack.cc.

References fOffsetX, fOffsetY, fSlopeX, fSlopeY, QwDetectorInfo::GetRotatorPitch(), QwDetectorInfo::GetRotatorRoll(), and QwDetectorInfo::GetRotatorYaw().

Referenced by QwTrackingTreeCombine::TlTreeCombine().

522  {
523 
524  double z1=476.7,z2=500.0;
525  double x1=0,y1=0,x2=0,y2=0;
526  double pitch=0,yaw=0,roll=0;
527  double rotatorZpos = 476.7;
528 
529  x1=fOffsetX+fSlopeX*z1;
530  y1=fOffsetY+fSlopeY*z1;
531  x2=fOffsetX+fSlopeX*z2;
532  y2=fOffsetY+fSlopeY*z2;
533 
534  z1 = z1 - rotatorZpos;
535  z2 = z2 - rotatorZpos;
536 
537  TVector3 v1(x1,y1,z1);
538  TVector3 v2(x2,y2,z2);
539 
540  TVector3 xaxis(1,0,0); //x-axis of rotator
541  TVector3 yaxis(0,1,0); //y-axis of rotator
542  TVector3 zaxis(0,0,1); //z-axis of rotator
543 
544  pitch = detector->GetRotatorPitch();
545  yaw = detector->GetRotatorYaw();
546  roll = detector->GetRotatorRoll();
547 
548  v1.Rotate(pitch,xaxis);
549  v2.Rotate(pitch,xaxis);
550  yaxis.Rotate(pitch,xaxis); //rotating y-axis for yaw next
551  zaxis.Rotate(pitch,xaxis); //rotating z-axis for roll later
552 
553  v1.Rotate(yaw,yaxis);
554  v2.Rotate(yaw,yaxis);
555  zaxis.Rotate(yaw,yaxis); //rotating z-axis for roll next
556 
557  v1.Rotate(roll,zaxis);
558  v2.Rotate(roll,zaxis);
559 
560  v1.SetZ( v1.Z() + rotatorZpos );
561  v2.SetZ( v2.Z() + rotatorZpos );
562 
563  fSlopeX = (v2.X()-v1.X())/(v2.Z()-v1.Z());
564  fSlopeY = (v2.Y()-v1.Y())/(v2.Z()-v1.Z());
565 
566  fOffsetX = v1.X()-v1.Z()*fSlopeX;
567  fOffsetY = v1.Y()-v1.Z()*fSlopeY;
568 
569 
570 }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
Double_t fSlopeY
y slope
Double_t fSlopeX
x slope
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QwPartialTrack::SetAlone ( const int  alone)
inline

Definition at line 159 of file QwPartialTrack.h.

References fAlone.

Referenced by QwTrackingTreeCombine::TlTreeCombine().

159 { fAlone = alone; }

+ Here is the caller graph for this function:

void QwPartialTrack::SetAverageResidual ( const double  residual)
inline

Definition at line 154 of file QwPartialTrack.h.

References fAverageResidual.

Referenced by QwTrackingTreeCombine::TcTreeLineCombine().

154 { fAverageResidual = residual; }
double fAverageResidual
number of Plane 0 Treelines

+ Here is the caller graph for this function:

void QwPartialTrack::SetAverageResidual ( )
inline

Definition at line 156 of file QwPartialTrack.h.

References CalculateAverageResidual(), and fAverageResidual.

double fAverageResidual
number of Plane 0 Treelines
double CalculateAverageResidual()

+ Here is the call graph for this function:

QwPartialTrack & QwPartialTrack::SmearAnglePhi ( const double  sigma)

Smear the phi angle.

Smear the phi angle of the partial track

Parameters
sigmaStandard deviation in phi

Definition at line 380 of file QwPartialTrack.cc.

References fSlopeX, fSlopeY, GetMomentumDirectionPhi(), and GetMomentumDirectionTheta().

381 {
382  double theta = GetMomentumDirectionTheta();
383  double phi = GetMomentumDirectionPhi();
384  phi = gRandom->Gaus(phi, sigma);
385  fSlopeX = sin(theta) * cos(phi);
386  fSlopeY = sin(theta) * sin(phi);
387  return *this;
388 }
Double_t fSlopeY
y slope
Double_t GetMomentumDirectionTheta() const
Return the theta angle.
Double_t fSlopeX
x slope
Double_t GetMomentumDirectionPhi() const
Return the phi angle.

+ Here is the call graph for this function:

QwPartialTrack & QwPartialTrack::SmearAngleTheta ( const double  sigma)

Smear the theta angle.

Smear the theta angle of the partial track

Parameters
sigmaStandard deviation in theta

Definition at line 366 of file QwPartialTrack.cc.

References fSlopeX, fSlopeY, GetMomentumDirectionPhi(), and GetMomentumDirectionTheta().

367 {
368  double theta = GetMomentumDirectionTheta();
369  double phi = GetMomentumDirectionPhi();
370  theta = gRandom->Gaus(theta, sigma);
371  fSlopeX = sin(theta) * cos(phi);
372  fSlopeY = sin(theta) * sin(phi);
373  return *this;
374 }
Double_t fSlopeY
y slope
Double_t GetMomentumDirectionTheta() const
Return the theta angle.
Double_t fSlopeX
x slope
Double_t GetMomentumDirectionPhi() const
Return the phi angle.

+ Here is the call graph for this function:

QwPartialTrack & QwPartialTrack::SmearPosition ( const double  sigma_x,
const double  sigma_y 
)

Smear the position.

Smear the position of the partial track

Parameters
sigma_xStandard deviation in x
sigma_yStandard deviation in y

Definition at line 355 of file QwPartialTrack.cc.

References fOffsetX, and fOffsetY.

356 {
357  fOffsetX = gRandom->Gaus(fOffsetX, sigma_x);
358  fOffsetY = gRandom->Gaus(fOffsetY, sigma_y);
359  return *this;
360 }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  stream,
const QwPartialTrack pt 
)
friend

Output stream operator overloading

Definition at line 303 of file QwPartialTrack.cc.

304 {
305  stream << "pt: ";
306  if (pt.GetRegion() != kRegionIDNull)
307  stream << "(" << pt.GetRegion() << "/" << "?UD"[pt.GetPackage()] << "); ";
308  stream << "x,y(z=0) = (" << pt.fOffsetX/Qw::cm << " cm, " << pt.fOffsetY/Qw::cm << " cm), ";
309  stream << "d(x,y)/dz = (" << pt.fSlopeX << ", " << pt.fSlopeY << ")";
310 
311  double x=pt.fOffsetX/Qw::cm-663*pt.fSlopeX;
312  double y=pt.fOffsetY/Qw::cm-663*pt.fSlopeY;
313  stream << " downstream target: " << x << ", " << y;
314  if (pt.fChi > 0.0) { // parttrack has been fitted
315  stream << ", chi = " << pt.fChi;
316  }
317  if (pt.fAverageResidual > 0.0) {
318  stream << ", res = " << pt.fAverageResidual;
319  }
320  if (pt.IsVoid()) stream << " (void)";
321  return stream;
322 }
Double_t fOffsetX
x coordinate (at MAGNET_CENTER)
bool IsVoid() const
Double_t fSlopeY
y slope
double fAverageResidual
number of Plane 0 Treelines
Double_t fChi
combined chi square
EQwRegionID GetRegion() const
Get the region.
Double_t fSlopeX
x slope
Double_t fOffsetY
y coordinate (at MAGNET_CENTER)
EQwDetectorPackage GetPackage() const
Get the package.
static const double cm
Length units: base unit is mm.
Definition: QwUnits.h:61

Field Documentation

int QwPartialTrack::fAlone

Definition at line 197 of file QwPartialTrack.h.

Referenced by GetAlone(), Initialize(), operator=(), and SetAlone().

double QwPartialTrack::fAverageResidual
private

number of Plane 0 Treelines

average residual over all used treelines

Definition at line 202 of file QwPartialTrack.h.

Referenced by CalculateAverageResidual(), GetAverageResidual(), operator<<(), operator=(), and SetAverageResidual().

Double_t QwPartialTrack::fCov[4][4]
Bool_t QwPartialTrack::fIsGood

Definition at line 186 of file QwPartialTrack.h.

Referenced by Initialize(), IsGood(), and operator=().

Bool_t QwPartialTrack::fIsUsed

used (part of a track)

Definition at line 184 of file QwPartialTrack.h.

Referenced by Initialize(), IsNotUsed(), IsUsed(), and operator=().

Int_t QwPartialTrack::fNQwTreeLines
private

Number of tree lines in this partial track.

Definition at line 43 of file QwPartialTrack.h.

Referenced by AddTreeLine(), ClearTreeLines(), and GetNumberOfTreeLines().

Int_t QwPartialTrack::fNumHits
Int_t QwPartialTrack::fNumMiss

missing hits

Definition at line 188 of file QwPartialTrack.h.

Referenced by GetChiWeight(), operator=(), and QwTrackingTreeCombine::TcTreeLineCombine().

std::vector<QwTreeLine*> QwPartialTrack::fQwTreeLines
private

List of tree lines in this partial track.

Definition at line 45 of file QwPartialTrack.h.

Referenced by AddTreeLine(), ClearTreeLines(), GetListOfTreeLines(), GetTreeLine(), operator=(), and PrintTreeLines().

Double_t QwPartialTrack::fSignedResidual[12]
double QwPartialTrack::pR2hit[3]

x-y-z position at R2

Definition at line 191 of file QwPartialTrack.h.

Referenced by operator=().

double QwPartialTrack::pR3hit[3]

x-y-z position at R3

Definition at line 194 of file QwPartialTrack.h.

Referenced by operator=().

Double_t QwPartialTrack::TResidual[kNumDirections]
double QwPartialTrack::uvR2hit[3]

direction at R2

Definition at line 192 of file QwPartialTrack.h.

Referenced by operator=().

double QwPartialTrack::uvR3hit[3]

direction at R3

Definition at line 195 of file QwPartialTrack.h.

Referenced by operator=().


The documentation for this class was generated from the following files: