Belle II Software  release-08-01-10
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 ROOT::Math::XYZVector getVertex (const ROOT::Math::XYZVector &vector) const =0
 Get vertex 3-vector in reference frame. More...
 
virtual ROOT::Math::XYZVector getVertex (const Particle *particle) const
 Wrapper for particles. More...
 
virtual ROOT::Math::PxPyPzEVector getMomentum (const ROOT::Math::PxPyPzEVector &vector) const =0
 Get momentum 4-vector in reference frame. More...
 
virtual ROOT::Math::PxPyPzEVector 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 29 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 ROOT::Math::PxPyPzEVector getMomentum ( const Particle particle) const
inlinevirtual

Wrapper for particles.

Parameters
particleparticle
Returns
momentum 4-vector in reference frame

Definition at line 60 of file ReferenceFrame.h.

61  {
62  return getMomentum(particle->get4Vector());
63  }
virtual ROOT::Math::PxPyPzEVector getMomentum(const ROOT::Math::PxPyPzEVector &vector) const =0
Get momentum 4-vector in reference frame.

◆ getMomentum() [2/2]

virtual ROOT::Math::PxPyPzEVector getMomentum ( const ROOT::Math::PxPyPzEVector &  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 77 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 ROOT::Math::XYZVector getVertex ( const Particle particle) const
inlinevirtual

Wrapper for particles.

Parameters
particle
Returns
3-vector in reference frame

Definition at line 43 of file ReferenceFrame.h.

◆ getVertex() [2/2]

virtual ROOT::Math::XYZVector getVertex ( const ROOT::Math::XYZVector &  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 94 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 110 of file ReferenceFrame.h.


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