Belle II Software  release-06-00-14
ReferenceFrame Class Referenceabstract

Abstract base class of all reference frames. More...

#include <ReferenceFrame.h>

Inheritance diagram for ReferenceFrame:
Collaboration diagram for ReferenceFrame:

Public Member Functions

virtual TVector3 getVertex (const TVector3 &vector) const =0
 Get vertex 3-vector in reference frame. More...
 
virtual TVector3 getVertex (const Particle *particle) const
 Wrapper for particles. More...
 
virtual TLorentzVector getMomentum (const TLorentzVector &vector) const =0
 Get momentum 4-vector in reference frame. More...
 
virtual TLorentzVector getMomentum (const Particle *particle) const
 Wrapper for particles. More...
 
virtual TMatrixFSym getMomentumErrorMatrix (const TMatrixFSym &matrix) const =0
 Get Momentum error matrix in reference frame. More...
 
virtual TMatrixFSym getMomentumErrorMatrix (const Particle *particle) const
 Wrapper for particles. More...
 
virtual TMatrixFSym getVertexErrorMatrix (const TMatrixFSym &matrix) const =0
 Get Vertex error matrix in reference frame. More...
 
virtual TMatrixFSym getVertexErrorMatrix (const Particle *particle) const
 Wrapper for particles. More...
 

Static Public Member Functions

static const ReferenceFrameGetCurrent ()
 Get current rest frame. More...
 

Static Private Member Functions

static void Push (const ReferenceFrame *frame)
 Push rest frame of given particle. More...
 
static void Pop ()
 Pop current rest frame.
 

Static Private Attributes

static std::stack< const ReferenceFrame * > m_reference_frames
 Stack of current rest frames.
 

Friends

template<class T >
class UseReferenceFrame
 

Detailed Description

Abstract base class of all reference frames.

Definition at line 28 of file ReferenceFrame.h.

Member Function Documentation

◆ GetCurrent()

const ReferenceFrame & GetCurrent ( )
static

Get current rest frame.

Returns
RestFrame

Definition at line 26 of file ReferenceFrame.cc.

27 {
28  if (m_reference_frames.empty()) {
29  static LabFrame _default;
30  return _default;
31  } else {
32  return *m_reference_frames.top();
33  }
34 }
static std::stack< const ReferenceFrame * > m_reference_frames
Stack of current rest frames.

◆ getMomentum() [1/2]

virtual TLorentzVector getMomentum ( const Particle particle) const
inlinevirtual

Wrapper for particles.

Parameters
particleparticle
Returns
momentum 4-vector in reference frame

Definition at line 59 of file ReferenceFrame.h.

60  {
61  return getMomentum(particle->get4Vector());
62  }
virtual TLorentzVector getMomentum(const TLorentzVector &vector) const =0
Get momentum 4-vector in reference frame.

◆ getMomentum() [2/2]

virtual TLorentzVector getMomentum ( const TLorentzVector &  vector) const
pure virtual

Get momentum 4-vector in reference frame.

Parameters
vector4-vector from particle
Returns
momentum 4-vector in reference frame

Implemented in CMSRotationFrame, RotationFrame, CMSFrame, LabFrame, and RestFrame.

◆ getMomentumErrorMatrix() [1/2]

virtual TMatrixFSym getMomentumErrorMatrix ( const Particle particle) const
inlinevirtual

Wrapper for particles.

Parameters
particleparticle
Returns
Covariance matrix in reference frame

Definition at line 76 of file ReferenceFrame.h.

◆ getMomentumErrorMatrix() [2/2]

virtual TMatrixFSym getMomentumErrorMatrix ( const TMatrixFSym &  matrix) const
pure virtual

Get Momentum error matrix in reference frame.

Parameters
matrixCovariance matrix of particle
Returns
Covariance matrix in reference frame

Implemented in CMSRotationFrame, RotationFrame, CMSFrame, LabFrame, and RestFrame.

◆ getVertex() [1/2]

virtual TVector3 getVertex ( const Particle particle) const
inlinevirtual

Wrapper for particles.

Parameters
particle
Returns
3-vector in reference frame

Definition at line 42 of file ReferenceFrame.h.

◆ getVertex() [2/2]

virtual TVector3 getVertex ( const TVector3 &  vector) const
pure virtual

Get vertex 3-vector in reference frame.

Parameters
vector3-vector from particle
Returns
3-vector in reference frame

Implemented in CMSRotationFrame, RotationFrame, CMSFrame, LabFrame, and RestFrame.

◆ getVertexErrorMatrix() [1/2]

virtual TMatrixFSym getVertexErrorMatrix ( const Particle particle) const
inlinevirtual

Wrapper for particles.

Parameters
particle
Returns
Covariance matrix in reference frame

Definition at line 93 of file ReferenceFrame.h.

◆ getVertexErrorMatrix() [2/2]

virtual TMatrixFSym getVertexErrorMatrix ( const TMatrixFSym &  matrix) const
pure virtual

Get Vertex error matrix in reference frame.

Parameters
matrixCovariance matrix of particle
Returns
Covariance matrix in reference frame

Implemented in CMSRotationFrame, RotationFrame, CMSFrame, LabFrame, and RestFrame.

◆ Push()

static void Push ( const ReferenceFrame frame)
inlinestaticprivate

Push rest frame of given particle.

Parameters
frameUse this reference frame

Definition at line 109 of file ReferenceFrame.h.


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