BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkBmSpotOnTrk Class Reference

#include <TrkBmSpotOnTrk.h>

Inheritance diagram for TrkBmSpotOnTrk:

Public Member Functions

 TrkBmSpotOnTrk (const HepPoint3D &ip, const HepSymMatrix &size)
 ~TrkBmSpotOnTrk ()
TrkBmSpotOnTrkclone (TrkRep *, const TrkDifTraj *t=0) const
virtual TrkEnums::TrkViewInfo whatView () const
virtual unsigned layerNumber () const
const TrajectoryhitTraj () const
const HepPoint3Dip () const
virtual bool timeResid (double &t, double &tErr) const
virtual bool timeAbsolute (double &t, double &tErr) const
 TrkBmSpotOnTrk (const HepPoint3D &ip, const HepSymMatrix &size)
 ~TrkBmSpotOnTrk ()
TrkBmSpotOnTrkclone (TrkRep *, const TrkDifTraj *t=0) const
virtual TrkEnums::TrkViewInfo whatView () const
virtual unsigned layerNumber () const
const TrajectoryhitTraj () const
const HepPoint3Dip () const
virtual bool timeResid (double &t, double &tErr) const
virtual bool timeAbsolute (double &t, double &tErr) const
 TrkBmSpotOnTrk (const HepPoint3D &ip, const HepSymMatrix &size)
 ~TrkBmSpotOnTrk ()
TrkBmSpotOnTrkclone (TrkRep *, const TrkDifTraj *t=0) const
virtual TrkEnums::TrkViewInfo whatView () const
virtual unsigned layerNumber () const
const TrajectoryhitTraj () const
const HepPoint3Dip () const
virtual bool timeResid (double &t, double &tErr) const
virtual bool timeAbsolute (double &t, double &tErr) const
Public Member Functions inherited from TrkHitOnTrk
 TrkHitOnTrk (const TrkFundHit *, double tolerance)
virtual ~TrkHitOnTrk ()
const TrkRecoTrkgetParentTrack () const
const TrkRepgetParentRep () const
PdtPid::PidType particleType () const
const TrkFundHithit () const
TrkFundHithit ()
const TrkDifTrajtrkTraj () const
virtual const MdcHitOnTrackmdcHitOnTrack () const
virtual const SvtHitOnTrack * svtHitOnTrack () const
bool isActive () const
bool isUsable () const
bool mustUse () const
double hitRms () const
double weight () const
double fltLen () const
double hitLen () const
virtual int ambig () const
virtual void setAmbig (int newambig)
bool operator== (const TrkHitOnTrk &) const
bool operator< (const TrkHitOnTrk &rhs) const
bool hasResidual () const
TrkErrCode getFitStuff (HepVector &derivs, double &deltaChi) const
TrkErrCode getFitStuff (double &deltaChi) const
double resid (bool exclude=false) const
bool resid (double &resid, double &residErr, bool exclude=false) const
double residual () const
TrkRecoTrkparentTrack () const
void setActivity (bool turnOn)
void setUsability (int usability)
void setFltLen (double f)
void setHitRms (double newRms)
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const
 TrkHitOnTrk (const TrkFundHit *, double tolerance)
virtual ~TrkHitOnTrk ()
const TrkRecoTrkgetParentTrack () const
const TrkRepgetParentRep () const
PdtPid::PidType particleType () const
const TrkFundHithit () const
TrkFundHithit ()
const TrkDifTrajtrkTraj () const
virtual const MdcHitOnTrackmdcHitOnTrack () const
virtual const SvtHitOnTrack * svtHitOnTrack () const
bool isActive () const
bool isUsable () const
bool mustUse () const
double hitRms () const
double weight () const
double fltLen () const
double hitLen () const
virtual int ambig () const
virtual void setAmbig (int newambig)
bool operator== (const TrkHitOnTrk &) const
bool operator< (const TrkHitOnTrk &rhs) const
bool hasResidual () const
TrkErrCode getFitStuff (HepVector &derivs, double &deltaChi) const
TrkErrCode getFitStuff (double &deltaChi) const
double resid (bool exclude=false) const
bool resid (double &resid, double &residErr, bool exclude=false) const
double residual () const
TrkRecoTrkparentTrack () const
void setActivity (bool turnOn)
void setUsability (int usability)
void setFltLen (double f)
void setHitRms (double newRms)
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const
 TrkHitOnTrk (const TrkFundHit *, double tolerance)
virtual ~TrkHitOnTrk ()
const TrkRecoTrkgetParentTrack () const
const TrkRepgetParentRep () const
PdtPid::PidType particleType () const
const TrkFundHithit () const
TrkFundHithit ()
const TrkDifTrajtrkTraj () const
virtual const MdcHitOnTrackmdcHitOnTrack () const
virtual const SvtHitOnTrack * svtHitOnTrack () const
bool isActive () const
bool isUsable () const
bool mustUse () const
double hitRms () const
double weight () const
double fltLen () const
double hitLen () const
virtual int ambig () const
virtual void setAmbig (int newambig)
bool operator== (const TrkHitOnTrk &) const
bool operator< (const TrkHitOnTrk &rhs) const
bool hasResidual () const
TrkErrCode getFitStuff (HepVector &derivs, double &deltaChi) const
TrkErrCode getFitStuff (double &deltaChi) const
double resid (bool exclude=false) const
bool resid (double &resid, double &residErr, bool exclude=false) const
double residual () const
TrkRecoTrkparentTrack () const
void setActivity (bool turnOn)
void setUsability (int usability)
void setFltLen (double f)
void setHitRms (double newRms)
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const

Protected Member Functions

 TrkBmSpotOnTrk (const TrkBmSpotOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
virtual TrkErrCode updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)
double GetRms ()
 TrkBmSpotOnTrk (const TrkBmSpotOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
virtual TrkErrCode updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)
double GetRms ()
 TrkBmSpotOnTrk (const TrkBmSpotOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
virtual TrkErrCode updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)
double GetRms ()
Protected Member Functions inherited from TrkHitOnTrk
 TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
void setHitResid (double newResid)
TrkRepparentRep () const
void setHitLen (double h)
void setUsedHit ()
void setUnusedHit ()
TrkErrCode updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity)
 TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
void setHitResid (double newResid)
TrkRepparentRep () const
void setHitLen (double h)
void setUsedHit ()
void setUnusedHit ()
TrkErrCode updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity)
 TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
void setHitResid (double newResid)
TrkRepparentRep () const
void setHitLen (double h)
void setUsedHit ()
void setUnusedHit ()
TrkErrCode updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity)

Static Protected Member Functions

static const TrkLineTraj FindBeamTrajectory (const HepPoint3D &point, const HepSymMatrix &error)
static const TrkLineTraj FindBeamTrajectory (const HepPoint3D &point, const HepSymMatrix &error)
static const TrkLineTraj FindBeamTrajectory (const HepPoint3D &point, const HepSymMatrix &error)

Additional Inherited Members

Public Types inherited from TrkHitOnTrk
typedef std::unary_function< TrkHitOnTrk, bool > predicate_type
typedef std::unary_function< TrkHitOnTrk, bool > predicate_type
typedef std::unary_function< TrkHitOnTrk, bool > predicate_type
Protected Attributes inherited from TrkHitOnTrk
TrkRep_parentRep
TrkFundHit_theHit
bool _isActive
int _isUsable
double _hitRms
double _trkLen
double _hitLen
double _resid
const TrkDifTraj_trkTraj
TrkPoca_poca
double _tolerance

Detailed Description

Constructor & Destructor Documentation

◆ TrkBmSpotOnTrk() [1/6]

TrkBmSpotOnTrk::TrkBmSpotOnTrk ( const HepPoint3D & ip,
const HepSymMatrix & size )

Definition at line 28 of file TrkBmSpotOnTrk.cxx.

29 : TrkHitOnTrk( 0, 0.5e-4 )
30 , _beamTraj( FindBeamTrajectory( ip, size ) )
31 , _ip( ip )
32 , _size( size ) {}
const HepPoint3D & ip() const
static const TrkLineTraj FindBeamTrajectory(const HepPoint3D &point, const HepSymMatrix &error)
TrkHitOnTrk(const TrkFundHit *, double tolerance)

Referenced by clone(), GetRms(), and TrkBmSpotOnTrk().

◆ ~TrkBmSpotOnTrk() [1/3]

TrkBmSpotOnTrk::~TrkBmSpotOnTrk ( )

Definition at line 42 of file TrkBmSpotOnTrk.cxx.

42{}

◆ TrkBmSpotOnTrk() [2/6]

TrkBmSpotOnTrk::TrkBmSpotOnTrk ( const TrkBmSpotOnTrk & hitToBeCopied,
TrkRep * newRep,
const TrkDifTraj * trkTraj = 0 )
protected

Definition at line 35 of file TrkBmSpotOnTrk.cxx.

37 : TrkHitOnTrk( hot, newRep, trkTraj )
38 , _beamTraj( hot._beamTraj )
39 , _ip( hot.ip() )
40 , _size( hot._size ) {}

◆ TrkBmSpotOnTrk() [3/6]

TrkBmSpotOnTrk::TrkBmSpotOnTrk ( const HepPoint3D & ip,
const HepSymMatrix & size )

◆ ~TrkBmSpotOnTrk() [2/3]

TrkBmSpotOnTrk::~TrkBmSpotOnTrk ( )

◆ TrkBmSpotOnTrk() [4/6]

TrkBmSpotOnTrk::TrkBmSpotOnTrk ( const TrkBmSpotOnTrk & hitToBeCopied,
TrkRep * newRep,
const TrkDifTraj * trkTraj = 0 )
protected

◆ TrkBmSpotOnTrk() [5/6]

TrkBmSpotOnTrk::TrkBmSpotOnTrk ( const HepPoint3D & ip,
const HepSymMatrix & size )

◆ ~TrkBmSpotOnTrk() [3/3]

TrkBmSpotOnTrk::~TrkBmSpotOnTrk ( )

◆ TrkBmSpotOnTrk() [6/6]

TrkBmSpotOnTrk::TrkBmSpotOnTrk ( const TrkBmSpotOnTrk & hitToBeCopied,
TrkRep * newRep,
const TrkDifTraj * trkTraj = 0 )
protected

Member Function Documentation

◆ clone() [1/3]

TrkBmSpotOnTrk * TrkBmSpotOnTrk::clone ( TrkRep * rep,
const TrkDifTraj * t = 0 ) const
virtual

Implements TrkHitOnTrk.

Definition at line 44 of file TrkBmSpotOnTrk.cxx.

44 {
45 return new TrkBmSpotOnTrk( *this, rep, trkTraj );
46}
TrkBmSpotOnTrk(const HepPoint3D &ip, const HepSymMatrix &size)

◆ clone() [2/3]

TrkBmSpotOnTrk * TrkBmSpotOnTrk::clone ( TrkRep * ,
const TrkDifTraj * t = 0 ) const
virtual

Implements TrkHitOnTrk.

◆ clone() [3/3]

TrkBmSpotOnTrk * TrkBmSpotOnTrk::clone ( TrkRep * ,
const TrkDifTraj * t = 0 ) const
virtual

Implements TrkHitOnTrk.

◆ FindBeamTrajectory() [1/3]

const TrkLineTraj TrkBmSpotOnTrk::FindBeamTrajectory ( const HepPoint3D & point,
const HepSymMatrix & error )
staticprotected

Definition at line 136 of file TrkBmSpotOnTrk.cxx.

137 {
138 int ifail;
139 HepSymMatrix cover( error.inverse( ifail ) );
140
141 if ( ifail )
142 {
143#ifdef MDCPATREC_FATAL
144 std::cout << "ErrMsg(fatal) TrkLineTraj: "
145 << "Error inverting beamspot error matrix" << std::endl;
146#endif
147 }
148 double dx = -cover.fast( 3, 1 ) / cover.fast( 1, 1 );
149 double dy = -cover.fast( 3, 2 ) / cover.fast( 2, 2 );
150
151 HepPoint3D p1 = point + Hep3Vector( -dx, -dy, -1 );
152 HepPoint3D p2 = point + Hep3Vector( +dx, +dy, +1 );
153
154 return TrkLineTraj( p1, p2 );
155}
double p2[4]
double p1[4]
HepGeom::Point3D< double > HepPoint3D

Referenced by TrkBmSpotOnTrk().

◆ FindBeamTrajectory() [2/3]

const TrkLineTraj TrkBmSpotOnTrk::FindBeamTrajectory ( const HepPoint3D & point,
const HepSymMatrix & error )
staticprotected

◆ FindBeamTrajectory() [3/3]

const TrkLineTraj TrkBmSpotOnTrk::FindBeamTrajectory ( const HepPoint3D & point,
const HepSymMatrix & error )
staticprotected

◆ GetRms() [1/3]

double TrkBmSpotOnTrk::GetRms ( )
protected

Definition at line 84 of file TrkBmSpotOnTrk.cxx.

84 {
85 //
86 // Get direction
87 //
88 const TrkDifTraj& trkTraj = getParentRep()->traj();
89 Hep3Vector trkDir = trkTraj.direction( fltLen() );
90
91 //
92 // Get errors (assume no correlation)
93 //
94 double Mxx = 1.0 / _size.fast( 1, 1 );
95 double Myy = 1.0 / _size.fast( 2, 2 );
96
97 //
98 // Normalized track directions in x/y
99 //
100 double vx = trkDir[0];
101 double vy = trkDir[1];
102 double normxy = ( vx * vx + vy * vy );
103 if ( normxy <= 0 ) return 999.9;
104 normxy = sqrt( normxy );
105
106 vx /= normxy;
107 vy /= normxy;
108
109 //
110 // Solve for point of least chi2
111 //
112 double s = vx * vy * ( Mxx - Myy ) / ( vx * vx * Mxx + vy * vy * Myy );
113
114 double dx = ( -vy + s * vx );
115 double dy = ( +vx + s * vy );
116
117 double chi2 = dx * dx * Mxx + dy * dy * Myy;
118
119 return chi2 <= 0 ? 0.0 : ( 1.0 / sqrt( chi2 ) );
120}
XmlRpcServer s
virtual const TrkDifTraj & traj() const =0

Referenced by updateMeasurement().

◆ GetRms() [2/3]

double TrkBmSpotOnTrk::GetRms ( )
protected

◆ GetRms() [3/3]

double TrkBmSpotOnTrk::GetRms ( )
protected

◆ hitTraj() [1/3]

const Trajectory * TrkBmSpotOnTrk::hitTraj ( ) const
virtual

Implements TrkHitOnTrk.

Definition at line 69 of file TrkBmSpotOnTrk.cxx.

69{ return &_beamTraj; }

◆ hitTraj() [2/3]

const Trajectory * TrkBmSpotOnTrk::hitTraj ( ) const
virtual

Implements TrkHitOnTrk.

◆ hitTraj() [3/3]

const Trajectory * TrkBmSpotOnTrk::hitTraj ( ) const
virtual

Implements TrkHitOnTrk.

◆ ip() [1/3]

const HepPoint3D & TrkBmSpotOnTrk::ip ( ) const

Definition at line 71 of file TrkBmSpotOnTrk.cxx.

71{ return _ip; }

Referenced by TrkBmSpotOnTrk(), and TrkBmSpotOnTrk().

◆ ip() [2/3]

const HepPoint3D & TrkBmSpotOnTrk::ip ( ) const

◆ ip() [3/3]

const HepPoint3D & TrkBmSpotOnTrk::ip ( ) const

◆ layerNumber() [1/3]

virtual unsigned TrkBmSpotOnTrk::layerNumber ( ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 34 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkBmSpotOnTrk.h.

34{ return 0; }

◆ layerNumber() [2/3]

virtual unsigned TrkBmSpotOnTrk::layerNumber ( ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 34 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkBmSpotOnTrk.h.

34{ return 0; }

◆ layerNumber() [3/3]

virtual unsigned TrkBmSpotOnTrk::layerNumber ( ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 34 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkBmSpotOnTrk.h.

34{ return 0; }

◆ timeAbsolute() [1/3]

virtual bool TrkBmSpotOnTrk::timeAbsolute ( double & t,
double & tErr ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 41 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkBmSpotOnTrk.h.

41{ return false; }

◆ timeAbsolute() [2/3]

virtual bool TrkBmSpotOnTrk::timeAbsolute ( double & t,
double & tErr ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 41 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkBmSpotOnTrk.h.

41{ return false; }

◆ timeAbsolute() [3/3]

virtual bool TrkBmSpotOnTrk::timeAbsolute ( double & t,
double & tErr ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 41 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkBmSpotOnTrk.h.

41{ return false; }

◆ timeResid() [1/3]

virtual bool TrkBmSpotOnTrk::timeResid ( double & t,
double & tErr ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 40 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkBmSpotOnTrk.h.

40{ return false; }

◆ timeResid() [2/3]

virtual bool TrkBmSpotOnTrk::timeResid ( double & t,
double & tErr ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 40 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkBmSpotOnTrk.h.

40{ return false; }

◆ timeResid() [3/3]

virtual bool TrkBmSpotOnTrk::timeResid ( double & t,
double & tErr ) const
inlinevirtual

Implements TrkHitOnTrk.

Definition at line 40 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkBmSpotOnTrk.h.

40{ return false; }

◆ updateMeasurement() [1/3]

TrkErrCode TrkBmSpotOnTrk::updateMeasurement ( const TrkDifTraj * traj,
bool maintainAmbiguity )
protectedvirtual

Implements TrkHitOnTrk.

Definition at line 48 of file TrkBmSpotOnTrk.cxx.

48 {
49 TrkErrCode status = updatePoca( traj, x );
50 if ( status.success() )
51 {
52 assert( _poca != 0 );
53 setHitResid( _poca->doca() );
54 setHitRms( GetRms() );
55 }
56 else
57 {
58#ifdef MDCPATREC_WARNING
59 std::cout << "ErrMsg(warning) TrkBmSpotOnTrk::updateMeasurement failed" << std::endl;
60#endif
61 setHitResid( 9999.9 );
62 setHitRms( 9999.9 );
63 }
64 return status;
65}
Double_t x[10]
TrkErrCode updatePoca(const TrkDifTraj *trkTraj, bool maintainAmbiguity)

◆ updateMeasurement() [2/3]

virtual TrkErrCode TrkBmSpotOnTrk::updateMeasurement ( const TrkDifTraj * traj,
bool maintainAmbiguity )
protectedvirtual

Implements TrkHitOnTrk.

◆ updateMeasurement() [3/3]

virtual TrkErrCode TrkBmSpotOnTrk::updateMeasurement ( const TrkDifTraj * traj,
bool maintainAmbiguity )
protectedvirtual

Implements TrkHitOnTrk.

◆ whatView() [1/3]

TrkEnums::TrkViewInfo TrkBmSpotOnTrk::whatView ( ) const
virtual

◆ whatView() [2/3]

virtual TrkEnums::TrkViewInfo TrkBmSpotOnTrk::whatView ( ) const
virtual

Implements TrkHitOnTrk.

◆ whatView() [3/3]

virtual TrkEnums::TrkViewInfo TrkBmSpotOnTrk::whatView ( ) const
virtual

Implements TrkHitOnTrk.


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