PandaRoot
PndRiemannHit Class Reference

#include <PndRiemannHit.h>

Inheritance diagram for PndRiemannHit:

Public Member Functions

 PndRiemannHit ()
 
 PndRiemannHit (double x, double y, double z, double dx, double dy, double dz)
 
 PndRiemannHit (FairHit *cl, int hitID=-1)
 
 ~PndRiemannHit ()
 
 PndRiemannHit (const PndRiemannHit &myHit)
 
PndRiemannHit & operator= (const PndRiemannHit &myHit)
 
void setXYZ (double x, double y, double z)
 
void setDXYZ (double dx, double dy, double dz)
 
void setHit (FairHit *cl)
 
const TVector3 & x () const
 
const FairHit * hit () const
 
int hitID () const
 
double s () const
 
double z () const
 
double alpha () const
 
double sigmaXY () const
 
double sigmaX () const
 
double sigmaY () const
 
double sigmaW () const
 
const TMatrixD & covX () const
 
double covX (int row, int col) const
 
bool operator< (const PndRiemannHit &aHit) const
 
void calcPosOnTrk (PndRiemannTrack *trk)
 

Detailed Description

Definition at line 35 of file PndRiemannHit.h.

Constructor & Destructor Documentation

◆ PndRiemannHit() [1/4]

PndRiemannHit::PndRiemannHit ( )
inline

Definition at line 38 of file PndRiemannHit.h.

References hitID(), x(), z(), and ~PndRiemannHit().

38 : fX(0., 0., 0.), fSigmaX(0., 0., 0.), fCovX(3, 3), fHit(0), fHitID(-1), fS(-1.), fZ(-1.), fDeltaZ(-1.), fAlpha(-1.), fVerbose(0){};

◆ PndRiemannHit() [2/4]

PndRiemannHit::PndRiemannHit ( double  x,
double  y,
double  z,
double  dx,
double  dy,
double  dz 
)

◆ PndRiemannHit() [3/4]

PndRiemannHit::PndRiemannHit ( FairHit *  cl,
int  hitID = -1 
)

◆ ~PndRiemannHit()

PndRiemannHit::~PndRiemannHit ( )

Referenced by PndRiemannHit().

◆ PndRiemannHit() [4/4]

PndRiemannHit::PndRiemannHit ( const PndRiemannHit &  myHit)
inline

Definition at line 44 of file PndRiemannHit.h.

45  : TObject(myHit), fX(myHit.fX), fSigmaX(myHit.fSigmaX), fCovX(myHit.fCovX), fHit(myHit.fHit), fHitID(myHit.fHitID), fS(myHit.fS), fZ(myHit.fZ), fDeltaZ(myHit.fDeltaZ),
46  fAlpha(myHit.fAlpha), fVerbose(myHit.fVerbose)
47  {
48  }

Member Function Documentation

◆ alpha()

double PndRiemannHit::alpha ( ) const
inline

Definition at line 76 of file PndRiemannHit.h.

References sigmaXY().

76 { return fAlpha; }

◆ calcPosOnTrk()

void PndRiemannHit::calcPosOnTrk ( PndRiemannTrack *  trk)

Referenced by operator<().

◆ covX() [1/2]

const TMatrixD& PndRiemannHit::covX ( ) const
inline

Definition at line 81 of file PndRiemannHit.h.

81 { return fCovX; }

◆ covX() [2/2]

double PndRiemannHit::covX ( int  row,
int  col 
) const
inline

Definition at line 82 of file PndRiemannHit.h.

82 { return fCovX[row][col]; }

◆ hit()

const FairHit* PndRiemannHit::hit ( ) const
inline

Definition at line 72 of file PndRiemannHit.h.

72 { return fHit; }

◆ hitID()

int PndRiemannHit::hitID ( ) const
inline

Definition at line 73 of file PndRiemannHit.h.

Referenced by PndRiemannHit().

73 { return fHitID; }

◆ operator<()

bool PndRiemannHit::operator< ( const PndRiemannHit &  aHit) const
inline

< Sort hits by arclength, fails if track curls

Definition at line 83 of file PndRiemannHit.h.

References calcPosOnTrk(), and s().

84  {
85  if (s() >= 0 && aHit.s() >= 0) {
86  return s() < aHit.s();
87  } else if (s() <= 0 && aHit.s() <= 0) {
88  return -s() < -aHit.s();
89  } else
90  return s() < aHit.s();
91  }
double s() const
Definition: PndRiemannHit.h:74

◆ operator=()

PndRiemannHit& PndRiemannHit::operator= ( const PndRiemannHit &  myHit)
inline

Definition at line 50 of file PndRiemannHit.h.

References setDXYZ(), setHit(), and setXYZ().

51  {
52  if (this != &myHit) {
53  fX = myHit.fX;
54  fSigmaX = myHit.fSigmaX;
55  fCovX = myHit.fCovX;
56  fHit = myHit.fHit;
57  fHitID = myHit.fHitID;
58  fS = myHit.fS;
59  fZ = myHit.fZ;
60  fDeltaZ = myHit.fDeltaZ;
61  fAlpha = myHit.fAlpha;
62  fVerbose = myHit.fVerbose;
63  }
64  return *this;
65  }

◆ s()

double PndRiemannHit::s ( ) const
inline

Definition at line 74 of file PndRiemannHit.h.

References z().

Referenced by operator<().

74 { return fS; }

◆ setDXYZ()

void PndRiemannHit::setDXYZ ( double  dx,
double  dy,
double  dz 
)

Referenced by operator=().

◆ setHit()

void PndRiemannHit::setHit ( FairHit *  cl)

Referenced by operator=().

◆ setXYZ()

void PndRiemannHit::setXYZ ( double  x,
double  y,
double  z 
)

Referenced by operator=().

◆ sigmaW()

double PndRiemannHit::sigmaW ( ) const
inline

Definition at line 80 of file PndRiemannHit.h.

References sigmaX(), sigmaY(), CAMath::Sqrt(), and x().

80 { return TMath::Sqrt(TMath::Power(2 * x().x() * sigmaX(), 2) + TMath::Power(2 * x().y() * sigmaY(), 2)); } // error of z-Coordinate (x2+y2) in RiemannSpace
double sigmaX() const
Definition: PndRiemannHit.h:78
static T Sqrt(const T &x)
Definition: PndCAMath.h:45
double sigmaY() const
Definition: PndRiemannHit.h:79
const TVector3 & x() const
Definition: PndRiemannHit.h:71

◆ sigmaX()

double PndRiemannHit::sigmaX ( ) const
inline

Definition at line 78 of file PndRiemannHit.h.

References CAMath::Sqrt().

Referenced by sigmaW().

78 { return TMath::Sqrt(fCovX[0][0]); }
static T Sqrt(const T &x)
Definition: PndCAMath.h:45

◆ sigmaXY()

double PndRiemannHit::sigmaXY ( ) const

Referenced by alpha().

◆ sigmaY()

double PndRiemannHit::sigmaY ( ) const
inline

Definition at line 79 of file PndRiemannHit.h.

References CAMath::Sqrt().

Referenced by sigmaW().

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

◆ x()

const TVector3& PndRiemannHit::x ( ) const
inline

Definition at line 71 of file PndRiemannHit.h.

Referenced by PndRiemannHit(), and sigmaW().

71 { return fX; }

◆ z()

double PndRiemannHit::z ( ) const

Referenced by PndRiemannHit(), and s().


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