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

#include <VertexExtrapolate.h>

Public Member Functions

 ~VertexExtrapolate ()
void KalFitExt (const HepPoint3D &point, DstMdcKalTrack *kalTrack, const int pid)
const HepVector getHelixVector () const
const HepSymMatrix getErrorMatrix () const
 ~VertexExtrapolate ()
void KalFitExt (const HepPoint3D &point, DstMdcKalTrack *kalTrack, const int pid)
const HepVector getHelixVector () const
const HepSymMatrix getErrorMatrix () const
 ~VertexExtrapolate ()
void KalFitExt (const HepPoint3D &point, DstMdcKalTrack *kalTrack, const int pid)
const HepVector getHelixVector () const
const HepSymMatrix getErrorMatrix () const

Static Public Member Functions

static VertexExtrapolateinstance ()
static VertexExtrapolateinstance ()
static VertexExtrapolateinstance ()

Detailed Description

Constructor & Destructor Documentation

◆ ~VertexExtrapolate() [1/3]

VertexExtrapolate::~VertexExtrapolate ( )
inline

◆ ~VertexExtrapolate() [2/3]

VertexExtrapolate::~VertexExtrapolate ( )
inline

◆ ~VertexExtrapolate() [3/3]

VertexExtrapolate::~VertexExtrapolate ( )
inline

Member Function Documentation

◆ getErrorMatrix() [1/3]

const HepSymMatrix VertexExtrapolate::getErrorMatrix ( ) const
inline

Definition at line 69 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexExtrapolate.h.

69{ return m_errorMatrix; }

◆ getErrorMatrix() [2/3]

const HepSymMatrix VertexExtrapolate::getErrorMatrix ( ) const

◆ getErrorMatrix() [3/3]

const HepSymMatrix VertexExtrapolate::getErrorMatrix ( ) const

◆ getHelixVector() [1/3]

const HepVector VertexExtrapolate::getHelixVector ( ) const
inline

Definition at line 67 of file Analysis/VertexFitRefine/include/VertexFitRefine/VertexExtrapolate.h.

67{ return m_helixVector; }

◆ getHelixVector() [2/3]

const HepVector VertexExtrapolate::getHelixVector ( ) const

◆ getHelixVector() [3/3]

const HepVector VertexExtrapolate::getHelixVector ( ) const

◆ instance() [1/3]

VertexExtrapolate * VertexExtrapolate::instance ( )
static

Definition at line 28 of file VertexExtrapolate.cxx.

28 {
29 if ( m_instance == nullptr ) m_instance = new VertexExtrapolate();
30 return m_instance;
31}

Referenced by VertexFitRefine::init().

◆ instance() [2/3]

VertexExtrapolate * VertexExtrapolate::instance ( )
static

◆ instance() [3/3]

VertexExtrapolate * VertexExtrapolate::instance ( )
static

◆ KalFitExt() [1/3]

void VertexExtrapolate::KalFitExt ( const HepPoint3D & point,
DstMdcKalTrack * kalTrack,
const int pid )

Definition at line 188 of file VertexExtrapolate.cxx.

189 {
190 HepVector tdsHelix = kalTrack->getFHelix( pid );
191 HepSymMatrix tdsMatrix = kalTrack->getFError( pid );
192
193 HepPoint3D IP( 0., 0., 0. );
194 // construct a KalFitTrack
195 KalFitTrack fitTrack( IP, tdsHelix, tdsMatrix, pid, 0, 0 );
196
197 // const double radius = 7.885; // centimeter first MDC wire?
198 const double rp = point.perp();
199 // const double radius = m_BesKalmanExtWalls[m_BesKalmanExtWalls.size() - 1]
200 // .radius(); // outer radius
201 const double radius = m_BesKalmanExtWalls[0].radius(); // outer radius
202 const double dphi = fitTrack.intersect_cylinder( std::max( rp, radius ) );
203 const HepPoint3D lastPivot = fitTrack.x( dphi );
204 fitTrack.pivot( lastPivot );
205 if ( rp <= radius ) extToAnyPoint( fitTrack, point );
206
207 ///////// why pivot to IP? ///////
208 // // set the pivot back to IP
209 fitTrack.pivot( IP ); // for convention?
210 setHelixVector( fitTrack.a() );
211 setErrorMatrix( fitTrack.Ea() );
212}
HepGeom::Point3D< double > HepPoint3D
const HepSymMatrix & getFError(const int pid) const
const HepVector & getFHelix(const int pid) const

◆ KalFitExt() [2/3]

void VertexExtrapolate::KalFitExt ( const HepPoint3D & point,
DstMdcKalTrack * kalTrack,
const int pid )

◆ KalFitExt() [3/3]

void VertexExtrapolate::KalFitExt ( const HepPoint3D & point,
DstMdcKalTrack * kalTrack,
const int pid )

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