Belle II Software development
PCmsLabTransform Class Reference

Class to hold Lorentz transformations from/to CMS and boost vector. More...

#include <PCmsLabTransform.h>

Public Member Functions

 PCmsLabTransform ()
 Constructor.
 
ROOT::Math::XYZVector getBoostVector () const
 Returns boost vector (beta=p/E)
 
double getCMSEnergy () const
 Returns CMS energy of e+e- (aka.
 
ROOT::Math::PxPyPzEVector getBeamFourMomentum () const
 Returns LAB four-momentum of e+e-, i.e.
 
const ROOT::Math::LorentzRotation rotateLabToCms () const
 Returns Lorentz transformation from Lab to CMS.
 
const ROOT::Math::LorentzRotation rotateCmsToLab () const
 Returns Lorentz transformation from CMS to Lab.
 

Static Public Member Functions

static ROOT::Math::PxPyPzMVector labToCms (const ROOT::Math::PxPyPzMVector &vec)
 Transforms Lorentz vector into CM System.
 
static ROOT::Math::PxPyPzMVector cmsToLab (const ROOT::Math::PxPyPzMVector &vec)
 Transforms Lorentz vector into Laboratory System.
 
static ROOT::Math::PxPyPzEVector labToCms (const ROOT::Math::PxPyPzEVector &vec)
 Transforms Lorentz vector into CM System.
 
static ROOT::Math::PxPyPzEVector cmsToLab (const ROOT::Math::PxPyPzEVector &vec)
 Transforms Lorentz vector into Laboratory System.
 

Private Attributes

const DBObjPtr< CollisionInvariantMassm_invariantMassDB
 db object for invariant mass.
 
const DBObjPtr< CollisionBoostVectorm_boostVectorDB
 db object for boost vector.
 
const DBObjPtr< CollisionAxisCMSm_axisCmsDB
 db object for collision axis in CM system from boost.
 

Detailed Description

Class to hold Lorentz transformations from/to CMS and boost vector.

Definition at line 29 of file PCmsLabTransform.h.

Member Function Documentation

◆ cmsToLab() [1/2]

ROOT::Math::PxPyPzEVector cmsToLab ( const ROOT::Math::PxPyPzEVector & vec)
static

Transforms Lorentz vector into Laboratory System.

Parameters
vecLorentz vector in CM System
Returns
Lorentz vector in Laboratory System

Definition at line 31 of file PCmsLabTransform.cc.

32{
34 return T.rotateCmsToLab() * vector;
35}
PCmsLabTransform()
Constructor.
const ROOT::Math::LorentzRotation rotateCmsToLab() const
Returns Lorentz transformation from CMS to Lab.

◆ cmsToLab() [2/2]

ROOT::Math::PxPyPzMVector cmsToLab ( const ROOT::Math::PxPyPzMVector & vec)
static

Transforms Lorentz vector into Laboratory System.

Parameters
vecLorentz vector in CM System
Returns
Lorentz vector in Laboratory System

Definition at line 19 of file PCmsLabTransform.cc.

20{
22 return T.rotateCmsToLab() * vector;
23}

◆ getBeamFourMomentum()

ROOT::Math::PxPyPzEVector getBeamFourMomentum ( ) const
inline

Returns LAB four-momentum of e+e-, i.e.

pHER + pLER

Definition at line 57 of file PCmsLabTransform.h.

58 {
59 return rotateCmsToLab() * ROOT::Math::PxPyPzEVector(0, 0, 0, getCMSEnergy());
60 }

◆ getBoostVector()

ROOT::Math::XYZVector getBoostVector ( ) const
inline

Returns boost vector (beta=p/E)

Definition at line 41 of file PCmsLabTransform.h.

42 {
43 return ROOT::Math::XYZVector(m_boostVectorDB->getBoost());
44 }

◆ getCMSEnergy()

double getCMSEnergy ( ) const
inline

Returns CMS energy of e+e- (aka.

invariant mass in any system)

Definition at line 49 of file PCmsLabTransform.h.

50 {
51 return m_invariantMassDB->getMass();
52 }

◆ labToCms() [1/2]

ROOT::Math::PxPyPzEVector labToCms ( const ROOT::Math::PxPyPzEVector & vec)
static

Transforms Lorentz vector into CM System.

Parameters
vecLorentz vector in Laboratory System
Returns
Lorentz vector in CM System

Definition at line 25 of file PCmsLabTransform.cc.

26{
28 return T.rotateLabToCms() * vector;
29}
const ROOT::Math::LorentzRotation rotateLabToCms() const
Returns Lorentz transformation from Lab to CMS.

◆ labToCms() [2/2]

ROOT::Math::PxPyPzMVector labToCms ( const ROOT::Math::PxPyPzMVector & vec)
static

Transforms Lorentz vector into CM System.

Parameters
vecLorentz vector in Laboratory System
Returns
Lorentz vector in CM System

Definition at line 13 of file PCmsLabTransform.cc.

14{
16 return T.rotateLabToCms() * vector;
17}

◆ rotateCmsToLab()

const ROOT::Math::LorentzRotation rotateCmsToLab ( ) const
inline

Returns Lorentz transformation from CMS to Lab.

Returns
const reference to Lorentz rotation matrix

Definition at line 75 of file PCmsLabTransform.h.

76 {
77 return rotateLabToCms().Inverse();
78 }

◆ rotateLabToCms()

const ROOT::Math::LorentzRotation rotateLabToCms ( ) const
inline

Returns Lorentz transformation from Lab to CMS.

Returns
const reference to Lorentz rotation matrix

Definition at line 66 of file PCmsLabTransform.h.

67 {
68 return LabToCms::rotateLabToCms(getBoostVector(), m_axisCmsDB->getAngleXZ(), m_axisCmsDB->getAngleYZ());
69 }

Member Data Documentation

◆ m_axisCmsDB

const DBObjPtr<CollisionAxisCMS> m_axisCmsDB
private

db object for collision axis in CM system from boost.

Definition at line 111 of file PCmsLabTransform.h.

◆ m_boostVectorDB

const DBObjPtr<CollisionBoostVector> m_boostVectorDB
private

db object for boost vector.

Definition at line 110 of file PCmsLabTransform.h.

◆ m_invariantMassDB

const DBObjPtr<CollisionInvariantMass> m_invariantMassDB
private

db object for invariant mass.

Definition at line 109 of file PCmsLabTransform.h.


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