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

#include <BField.h>

Public Member Functions

 ~VertexFitBField ()
double getBFieldZ (const HepPoint3D &vtx)
double getBFieldZRef ()
double getCBz (const HepVector &vtx, const HepVector &trackPosition)
 ~VertexFitBField ()
double getBFieldZ (const HepPoint3D &vtx)
double getBFieldZRef ()
double getCBz (const HepVector &vtx, const HepVector &trackPosition)
 ~VertexFitBField ()
double getBFieldZ (const HepPoint3D &vtx)
double getBFieldZRef ()
double getCBz (const HepVector &vtx, const HepVector &trackPosition)

Static Public Member Functions

static VertexFitBFieldinstance ()
static VertexFitBFieldinstance ()
static VertexFitBFieldinstance ()

Detailed Description

Constructor & Destructor Documentation

◆ ~VertexFitBField() [1/3]

VertexFitBField::~VertexFitBField ( )
inline

Definition at line 29 of file Analysis/VertexFit/include/VertexFit/BField.h.

29{}

◆ ~VertexFitBField() [2/3]

VertexFitBField::~VertexFitBField ( )
inline

◆ ~VertexFitBField() [3/3]

VertexFitBField::~VertexFitBField ( )
inline

Member Function Documentation

◆ getBFieldZ() [1/3]

double VertexFitBField::getBFieldZ ( const HepPoint3D & vtx)

Definition at line 51 of file Analysis/VertexFit/src/BField.cxx.

51 {
52 HepVector3D vector( 0.0, 0.0, 0.0 );
53 // fixed 2008-8-1
54 double radius = sqrt( vtx.x() * vtx.x() + vtx.y() * vtx.y() );
55 if ( radius < 150 && abs( vtx.z() ) < 150 )
56 {
57 m_pIMF->fieldVector( 10.0 * vtx, vector );
58 return 1000 * vector.z(); // unit of m_BFieldZ is Tesla
59 }
60 else { return 1000 * m_pIMF->getReferField(); }
61}
HepGeom::Vector3D< double > HepVector3D

Referenced by HTrackParameter::center(), HTrackParameter::dHdp(), HTrackParameter::dHdx(), HTrackParameter::HTrackParameter(), HTrackParameter::positionTwoHelix(), and HTrackParameter::radius().

◆ getBFieldZ() [2/3]

double VertexFitBField::getBFieldZ ( const HepPoint3D & vtx)

◆ getBFieldZ() [3/3]

double VertexFitBField::getBFieldZ ( const HepPoint3D & vtx)

◆ getBFieldZRef() [1/3]

double VertexFitBField::getBFieldZRef ( )

Definition at line 63 of file Analysis/VertexFit/src/BField.cxx.

63{ return 1000 * m_pIMF->getReferField(); }

Referenced by FastVertexFit::addTrack(), VFHelix::VFHelix(), VFHelix::VFHelix(), and VFHelix::VFHelix().

◆ getBFieldZRef() [2/3]

double VertexFitBField::getBFieldZRef ( )

◆ getBFieldZRef() [3/3]

double VertexFitBField::getBFieldZRef ( )

◆ getCBz() [1/3]

double VertexFitBField::getCBz ( const HepVector & vtx,
const HepVector & trackPosition )

Definition at line 65 of file Analysis/VertexFit/src/BField.cxx.

65 {
66 HepPoint3D Vtx( vtx[0], vtx[1], vtx[2] );
67 HepPoint3D TrkPosition( trackPosition[0], trackPosition[1], trackPosition[2] );
68
69 HepVector3D vector_vtx( 0.0, 0.0, 0.0 );
70 HepVector3D vector_trk( 0.0, 0.0, 0.0 );
71 double radius = sqrt( vtx[0] * vtx[0] + vtx[1] * vtx[1] );
72 if ( radius < 150 && abs( vtx[2] ) < 150 )
73 {
74 m_pIMF->fieldVector( 10.0 * Vtx, vector_vtx );
75 m_pIMF->fieldVector( 10.0 * TrkPosition, vector_trk );
76 return 1000 * alpha * ( vector_vtx.z() + vector_trk.z() ) / 2; // unit of m_BFieldZ is
77 // Tesla
78 }
79 else { return 1000 * alpha * m_pIMF->getReferField(); }
80}
HepGeom::Point3D< double > HepPoint3D

Referenced by VertexFit::BuildVirtualParticle(), SecondVertexFit::Fit(), and VertexConstraints::UpdateConstraints().

◆ getCBz() [2/3]

double VertexFitBField::getCBz ( const HepVector & vtx,
const HepVector & trackPosition )

◆ getCBz() [3/3]

double VertexFitBField::getCBz ( const HepVector & vtx,
const HepVector & trackPosition )

◆ instance() [1/3]

◆ instance() [2/3]

VertexFitBField * VertexFitBField::instance ( )
inlinestatic

Definition at line 24 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/BField.h.

24 {
25 if ( s_bfield == 0 ) { s_bfield = new VertexFitBField(); }
26 return s_bfield;
27 }

◆ instance() [3/3]

VertexFitBField * VertexFitBField::instance ( )
inlinestatic

Definition at line 24 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/BField.h.

24 {
25 if ( s_bfield == 0 ) { s_bfield = new VertexFitBField(); }
26 return s_bfield;
27 }

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