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 45 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 55 of file PndRiemannTrack.h.

References orig().

55 { return fav; }

◆ c()

double PndRiemannTrack::c ( ) const
inline

Definition at line 54 of file PndRiemannTrack.h.

Referenced by Print().

54 { 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 96 of file PndRiemannTrack.h.

96 { return fcovPlane; };

◆ covRXY()

TMatrixD PndRiemannTrack::covRXY ( ) const
inline

Definition at line 98 of file PndRiemannTrack.h.

98 { 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 58 of file PndRiemannTrack.h.

References CAMath::Sqrt().

Referenced by Print().

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

◆ dY()

double PndRiemannTrack::dY ( )
inline

Definition at line 59 of file PndRiemannTrack.h.

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

Referenced by Print().

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

◆ getCharge()

Int_t PndRiemannTrack::getCharge ( Double_t  B)

Referenced by getHits().

◆ getHit()

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

Definition at line 72 of file PndRiemannTrack.h.

References i.

Referenced by getLastHit().

73  {
74  PndRiemannHit *myHit = &(fHits[i]);
75  return myHit;
76  }
unsigned int i
Definition: P4_F32vec4.h:21

◆ getHits()

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

◆ getLastHit()

PndRiemannHit* PndRiemannTrack::getLastHit ( )
inline

Definition at line 77 of file PndRiemannTrack.h.

References getHit(), and getNumHits().

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

◆ getNumHits()

unsigned int PndRiemannTrack::getNumHits ( )
inline

Definition at line 71 of file PndRiemannTrack.h.

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

71 { 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 69 of file PndRiemannTrack.h.

69 { return fm; }

◆ getSZt()

double PndRiemannTrack::getSZt ( ) const
inline

Definition at line 70 of file PndRiemannTrack.h.

70 { 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 97 of file PndRiemannTrack.h.

97 { return fjacRXY; };

◆ m()

double PndRiemannTrack::m ( ) const
inline

Definition at line 99 of file PndRiemannTrack.h.

99 { return fm; }

◆ mError()

double PndRiemannTrack::mError ( ) const
inline

Definition at line 100 of file PndRiemannTrack.h.

100 { return fmError; }

◆ n()

const TVectorD& PndRiemannTrack::n ( ) const
inline

Definition at line 53 of file PndRiemannTrack.h.

Referenced by Print().

53 { 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 131 of file PndRiemannTrack.h.

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

132  {
133 
134  out << std::setprecision(6) << "Riemann Track: Radius " << r() << " +/- " << dR() << " Origin: " << orig()[0] << " +/- " << dX() << " / " << orig()[1] << " +/- " << dY()
135  << std::endl;
136  out << "RiemannTrack: Normal: " << n()[0] << "/" << n()[1] << "/" << n()[2] << " c: " << c() << std::endl;
137  out << "Dip: " << dip() << " +/- " << dDip() << " StartAlpha: " << fStartAlpha << " StopAlpha: " << fStopAlpha << std::endl;
138  out << "Chi2Plane: " << calcChi2Plane() << std::endl;
139  PrintHits();
140  }
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 122 of file PndRiemannTrack.h.

References i.

122 { fVerbose = i; }
unsigned int i
Definition: P4_F32vec4.h:21

◆ SetVertexCut()

void PndRiemannTrack::SetVertexCut ( double  cut)
inline

Definition at line 123 of file PndRiemannTrack.h.

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

123 { fVertexCut = cut; }

◆ sign()

double PndRiemannTrack::sign ( ) const

Referenced by dY().

◆ sortHits()

void PndRiemannTrack::sortHits ( )
inline

Definition at line 93 of file PndRiemannTrack.h.

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

◆ szChi2()

double PndRiemannTrack::szChi2 ( ) const
inline

Definition at line 120 of file PndRiemannTrack.h.

120 { 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 101 of file PndRiemannTrack.h.

101 { return ft; }

◆ tError()

double PndRiemannTrack::tError ( ) const
inline

◆ weight()

double PndRiemannTrack::weight ( ) const
inline

Definition at line 95 of file PndRiemannTrack.h.

95 { return fweight; };

Friends And Related Function Documentation

◆ operator<<

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

Definition at line 142 of file PndRiemannTrack.h.

143  {
144  track.Print(out);
145  return out;
146  }
virtual void Print(std::ostream &out=std::cout)

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