PandaRoot
PndRiemannTrack Class Reference

#include <PndRiemannTrack.h>

Inheritance diagram for PndRiemannTrack:

Public Member Functions

 PndRiemannTrack ()
 
 PndRiemannTrack (PndTrackCand *trackCand)
 
 ~PndRiemannTrack ()
 
const TVectorD & n () const
 
double c () const
 
const TVectorD & av () const
 
TVectorD orig () const
 
double dX ()
 
double dY ()
 
double r () const
 
double dR ()
 
double dip ()
 
double dipangle ()
 
double dDip ()
 
double Pt (double B)
 
double Pl (double B)
 
double P (double B)
 
double sign () const
 
double getSZm () const
 
double getSZt () const
 
unsigned int getNumHits ()
 
PndRiemannHitgetHit (unsigned int i)
 
PndRiemannHitgetLastHit ()
 
std::vector< PndRiemannHitgetHits () const
 
TVector3 getPforHit (int i, double B)
 
PndTrack getPndTrack (Double_t B)
 
FairTrackParP getTrackParPForHit (Int_t i, Double_t B)
 
Int_t getCharge (Double_t B)
 
double calcZPosByS (double s)
 
TVector3 calcPosByS (double s)
 
void calcStartStopAlpha ()
 
double calcAlpha (PndRiemannHit *myHit)
 
void calcSForHits ()
 
int calcIntersection (PndRiemannTrack &track, TVector3 &p1, TVector3 &p2)
 
void sortHits ()
 
double weight () const
 
TMatrixD covPlane () const
 
TMatrixD jacRXY () const
 
TMatrixD covRXY () const
 
double m () const
 
double mError () const
 
double t () const
 
double tError () const
 
void addHit (PndRiemannHit &hit)
 
void addPndTrackCand (PndTrackCand *trackCand)
 
void init (double x0, double y0, double R, double dip, double z0)
 
void refit (bool withErrorCalc=true)
 
double dist (PndRiemannHit *hit)
 
double distError (PndRiemannHit *hit)
 
double distCircle (PndRiemannHit *hit)
 
double ChiSquareDistCircle ()
 
void szFit (bool withErrorCalc=true)
 
double calcChi2Plane ()
 
double calcSZChi2 (PndRiemannHit *hit)
 
double szDist (PndRiemannHit *hit)
 
double szError (PndRiemannHit *hit)
 
double szChi2 () const
 
void SetVerbose (int i)
 
void SetVertexCut (double cut)
 
TVector3 calcErrorPosByS (Double_t s, Double_t dS)
 
void correctSttHits ()
 
PndRiemannHit correctSttHit (PndSttHit *mySttHit)
 
PndRiemannHit correctSttSkewedHit (PndSttHit *mySttHit, PndSttTube *myTube)
 
void PrintHits ()
 
virtual void Print (std::ostream &out=std::cout)
 

Friends

std::ostream & operator<< (std::ostream &out, PndRiemannTrack &track)
 

Detailed Description

Definition at line 57 of file PndRiemannTrack.h.

Constructor & Destructor Documentation

◆ PndRiemannTrack() [1/2]

PndRiemannTrack::PndRiemannTrack ( )

◆ PndRiemannTrack() [2/2]

PndRiemannTrack::PndRiemannTrack ( PndTrackCand trackCand)

◆ ~PndRiemannTrack()

PndRiemannTrack::~PndRiemannTrack ( )

Member Function Documentation

◆ addHit()

void PndRiemannTrack::addHit ( PndRiemannHit hit)

Referenced by tError().

◆ addPndTrackCand()

void PndRiemannTrack::addPndTrackCand ( PndTrackCand trackCand)

Referenced by tError().

◆ av()

const TVectorD& PndRiemannTrack::av ( ) const
inline

Definition at line 67 of file PndRiemannTrack.h.

References orig().

67 { return fav; }

◆ c()

double PndRiemannTrack::c ( ) const
inline

Definition at line 66 of file PndRiemannTrack.h.

Referenced by Print().

66 { return fc; }

◆ calcAlpha()

double PndRiemannTrack::calcAlpha ( PndRiemannHit myHit)

Referenced by getHits().

◆ calcChi2Plane()

double PndRiemannTrack::calcChi2Plane ( )

Referenced by Print(), and tError().

◆ calcErrorPosByS()

TVector3 PndRiemannTrack::calcErrorPosByS ( Double_t  s,
Double_t  dS 
)

Referenced by SetVertexCut().

◆ calcIntersection()

int PndRiemannTrack::calcIntersection ( PndRiemannTrack track,
TVector3 &  p1,
TVector3 &  p2 
)

Referenced by getHits().

◆ calcPosByS()

TVector3 PndRiemannTrack::calcPosByS ( double  s)

Referenced by getHits().

◆ calcSForHits()

void PndRiemannTrack::calcSForHits ( )

Referenced by getHits().

◆ calcStartStopAlpha()

void PndRiemannTrack::calcStartStopAlpha ( )

Referenced by getHits().

◆ calcSZChi2()

double PndRiemannTrack::calcSZChi2 ( PndRiemannHit hit)

Referenced by tError().

◆ calcZPosByS()

double PndRiemannTrack::calcZPosByS ( double  s)

Referenced by getHits().

◆ ChiSquareDistCircle()

double PndRiemannTrack::ChiSquareDistCircle ( )

Referenced by tError().

◆ correctSttHit()

PndRiemannHit PndRiemannTrack::correctSttHit ( PndSttHit mySttHit)

Referenced by SetVertexCut().

◆ correctSttHits()

void PndRiemannTrack::correctSttHits ( )

Referenced by SetVertexCut().

◆ correctSttSkewedHit()

PndRiemannHit PndRiemannTrack::correctSttSkewedHit ( PndSttHit mySttHit,
PndSttTube myTube 
)

Referenced by SetVertexCut().

◆ covPlane()

TMatrixD PndRiemannTrack::covPlane ( ) const
inline

Definition at line 108 of file PndRiemannTrack.h.

108 { return fcovPlane; };

◆ covRXY()

TMatrixD PndRiemannTrack::covRXY ( ) const
inline

Definition at line 110 of file PndRiemannTrack.h.

110 { return fcovRXY; };

◆ dDip()

double PndRiemannTrack::dDip ( )

Referenced by dY(), and Print().

◆ dip()

double PndRiemannTrack::dip ( )

Referenced by dY(), and Print().

◆ dipangle()

double PndRiemannTrack::dipangle ( )

Referenced by dY().

◆ dist()

double PndRiemannTrack::dist ( PndRiemannHit hit)

Referenced by tError().

◆ distCircle()

double PndRiemannTrack::distCircle ( PndRiemannHit hit)

Referenced by tError().

◆ distError()

double PndRiemannTrack::distError ( PndRiemannHit hit)

Referenced by tError().

◆ dR()

double PndRiemannTrack::dR ( )

Referenced by dY(), and Print().

◆ dX()

double PndRiemannTrack::dX ( )
inline

Definition at line 70 of file PndRiemannTrack.h.

References CAMath::Sqrt().

Referenced by Print().

70 { return TMath::Sqrt(fcovRXY[1][1]); }
static T Sqrt(const T &x)
Definition: PndCAMath.h:57

◆ dY()

double PndRiemannTrack::dY ( )
inline

Definition at line 71 of file PndRiemannTrack.h.

References dDip(), dip(), dipangle(), dR(), P(), Pl(), Pt(), r(), sign(), and CAMath::Sqrt().

Referenced by Print().

71 { return TMath::Sqrt(fcovRXY[2][2]); }
static T Sqrt(const T &x)
Definition: PndCAMath.h:57

◆ getCharge()

Int_t PndRiemannTrack::getCharge ( Double_t  B)

Referenced by getHits().

◆ getHit()

PndRiemannHit* PndRiemannTrack::getHit ( unsigned int  i)
inline

Definition at line 84 of file PndRiemannTrack.h.

References i.

Referenced by getLastHit().

85  {
86  PndRiemannHit *myHit = &(fHits[i]);
87  return myHit;
88  }
unsigned int i
Definition: P4_F32vec4.h:33

◆ getHits()

std::vector<PndRiemannHit> PndRiemannTrack::getHits ( ) const
inline

◆ getLastHit()

PndRiemannHit* PndRiemannTrack::getLastHit ( )
inline

Definition at line 89 of file PndRiemannTrack.h.

References getHit(), and getNumHits().

89 { return getHit(getNumHits() - 1); }
unsigned int getNumHits()
PndRiemannHit * getHit(unsigned int i)

◆ getNumHits()

unsigned int PndRiemannTrack::getNumHits ( )
inline

Definition at line 83 of file PndRiemannTrack.h.

Referenced by getLastHit(), and TrackletInf_t::Print().

83 { return fHits.size(); }

◆ getPforHit()

TVector3 PndRiemannTrack::getPforHit ( int  i,
double  B 
)

Referenced by getHits().

◆ getPndTrack()

PndTrack PndRiemannTrack::getPndTrack ( Double_t  B)

Referenced by getHits().

◆ getSZm()

double PndRiemannTrack::getSZm ( ) const
inline

Definition at line 81 of file PndRiemannTrack.h.

81 { return fm; }

◆ getSZt()

double PndRiemannTrack::getSZt ( ) const
inline

Definition at line 82 of file PndRiemannTrack.h.

82 { return ft; }

◆ getTrackParPForHit()

FairTrackParP PndRiemannTrack::getTrackParPForHit ( Int_t  i,
Double_t  B 
)

Referenced by getHits().

◆ init()

void PndRiemannTrack::init ( double  x0,
double  y0,
double  R,
double  dip,
double  z0 
)

Referenced by tError().

◆ jacRXY()

TMatrixD PndRiemannTrack::jacRXY ( ) const
inline

Definition at line 109 of file PndRiemannTrack.h.

109 { return fjacRXY; };

◆ m()

double PndRiemannTrack::m ( ) const
inline

Definition at line 111 of file PndRiemannTrack.h.

111 { return fm; }

◆ mError()

double PndRiemannTrack::mError ( ) const
inline

Definition at line 112 of file PndRiemannTrack.h.

112 { return fmError; }

◆ n()

const TVectorD& PndRiemannTrack::n ( ) const
inline

Definition at line 65 of file PndRiemannTrack.h.

Referenced by Print().

65 { return fn; }

◆ orig()

TVectorD PndRiemannTrack::orig ( ) const

Referenced by av(), and Print().

◆ P()

double PndRiemannTrack::P ( double  B)

Referenced by dY().

◆ Pl()

double PndRiemannTrack::Pl ( double  B)

Referenced by dY().

◆ Print()

virtual void PndRiemannTrack::Print ( std::ostream &  out = std::cout)
inlinevirtual

Definition at line 143 of file PndRiemannTrack.h.

References c(), calcChi2Plane(), dDip(), dip(), dR(), dX(), dY(), n(), orig(), PrintHits(), and r().

144  {
145 
146  out << std::setprecision(6) << "Riemann Track: Radius " << r() << " +/- " << dR() << " Origin: " << orig()[0] << " +/- " << dX() << " / " << orig()[1] << " +/- " << dY()
147  << std::endl;
148  out << "RiemannTrack: Normal: " << n()[0] << "/" << n()[1] << "/" << n()[2] << " c: " << c() << std::endl;
149  out << "Dip: " << dip() << " +/- " << dDip() << " StartAlpha: " << fStartAlpha << " StopAlpha: " << fStopAlpha << std::endl;
150  out << "Chi2Plane: " << calcChi2Plane() << std::endl;
151  PrintHits();
152  }
double c() const
const TVectorD & n() const
double calcChi2Plane()
TVectorD orig() const
double r() const

◆ PrintHits()

void PndRiemannTrack::PrintHits ( )

Referenced by Print(), and SetVertexCut().

◆ Pt()

double PndRiemannTrack::Pt ( double  B)

Referenced by dY().

◆ r()

double PndRiemannTrack::r ( ) const

Referenced by dY(), and Print().

◆ refit()

void PndRiemannTrack::refit ( bool  withErrorCalc = true)

Referenced by tError().

◆ SetVerbose()

void PndRiemannTrack::SetVerbose ( int  i)
inline

Definition at line 134 of file PndRiemannTrack.h.

References i.

134 { fVerbose = i; }
unsigned int i
Definition: P4_F32vec4.h:33

◆ SetVertexCut()

void PndRiemannTrack::SetVertexCut ( double  cut)
inline

Definition at line 135 of file PndRiemannTrack.h.

References calcErrorPosByS(), correctSttHit(), correctSttHits(), correctSttSkewedHit(), cut, and PrintHits().

135 { fVertexCut = cut; }

◆ sign()

double PndRiemannTrack::sign ( ) const

Referenced by dY().

◆ sortHits()

void PndRiemannTrack::sortHits ( )
inline

Definition at line 105 of file PndRiemannTrack.h.

105 { std::sort(fHits.begin(), fHits.end()); }

◆ szChi2()

double PndRiemannTrack::szChi2 ( ) const
inline

Definition at line 132 of file PndRiemannTrack.h.

132 { return fChi2; };

◆ szDist()

double PndRiemannTrack::szDist ( PndRiemannHit hit)

Referenced by tError().

◆ szError()

double PndRiemannTrack::szError ( PndRiemannHit hit)

Referenced by tError().

◆ szFit()

void PndRiemannTrack::szFit ( bool  withErrorCalc = true)

Referenced by tError().

◆ t()

double PndRiemannTrack::t ( ) const
inline

Definition at line 113 of file PndRiemannTrack.h.

113 { return ft; }

◆ tError()

double PndRiemannTrack::tError ( ) const
inline

◆ weight()

double PndRiemannTrack::weight ( ) const
inline

Definition at line 107 of file PndRiemannTrack.h.

107 { return fweight; };

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
PndRiemannTrack track 
)
friend

Definition at line 154 of file PndRiemannTrack.h.

155  {
156  track.Print(out);
157  return out;
158  }
virtual void Print(std::ostream &out=std::cout)

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