NCFS-Pack
A generic (astro)particle physics analysis framework
 
Loading...
Searching...
No Matches
NcBoost Class Reference

Perform various Lorentz transformations. More...

#include "NcBoost.h"

Inheritance diagram for NcBoost:

Detailed Description

Perform various Lorentz transformations.


Copyright(c) 1996 NCFS/IIHE, All Rights Reserved. *
*
Authors: The Netherlands Center for Fundamental Studies (NCFS). *
The Inter-university Institute for High Energies (IIHE). *
Website : http://www.iihe.ac.be *
Contact : Nick van Eijndhoven (nickve.nl@gmail.com) *
*
Contributors are mentioned in the code where appropriate. *
*
No part of this software may be used, copied, modified or distributed *
by any means nor transmitted or translated into machine language for *
commercial purposes without written permission by the IIHE representative. *
Permission to use the software strictly for non-commercial purposes *
is hereby granted without fee, provided that the above copyright notice *
appears in all copies and that both the copyright notice and this *
permission notice appear in the supporting documentation. *
This software is provided "as is" without express or implied warranty. *
The authors make no claims that this software is free of error, or is *
consistent with any particular standard of merchantability, or that it *
will meet your requirements for any particular application, other than *
indicated in the corresponding documentation. *
This software should not be relied on for solving a problem whose *
incorrect solution could result in injury to a person or loss of property. *
If you do use this software in such a manner, it is at your own risk. *
The authors disclaim all liability for direct or consequential damage *
resulting from your use of this software. *

// Class NcBoost
// Perform various Lorentz transformations.
//
// Example :
// =========
//
// Float_t a[3]={0.1,0.2,0.3};
// Float_t ea[3]={0.01,0.02,0.03};
// Nc3Vector beta;
// beta.SetVector(a,"car");
// beta.SetErrors(ea,"car");
//
// NcBoost b1;
// b1.SetBeta(beta);
// b1.Data();
//
// Float_t b[4]={14,1,2,3};
// Float_t eb[4]={1.4,0.1,0.2,0.3};
// Nc4Vector p;
// p.SetVector(b,"car");
// p.SetErrors(eb,"car");
// Nc4Vector pprim=b1.Boost(p);
// p.Data();
// pprim.Data();
//
// p=b1.Inverse(pprim);
// pprim.Data();
// p.Data();
//
// Float_t c[4]={5,0,0,4};
// Float_t ec[4]={0.5,0,0,0.4};
// Nc4Vector q;
// q.SetVector(c,"car");
// q.SetErrors(ec,"car");
//
// NcBoost b2;
// b2.Set4Momentum(q);
// b2.Data("sph");
//
//--- Author: Nick van Eijndhoven 14-may-1996 Utrecht University
//- Modified: NvE $Date: 2016-05-19 20:01:23 +0200 (Thu, 19 May 2016) $ NCFS

Definition at line 16 of file NcBoost.h.

Public Member Functions

 NcBoost ()
 
 NcBoost (const NcBoost &b)
 
virtual ~NcBoost ()
 
Nc4Vector Boost (Nc4Vector &v)
 
void Data (TString f="car")
 
Double_t GetBeta ()
 
Nc3Vector GetBetaVector () const
 
Double_t GetGamma ()
 
Double_t GetResultError () const
 
Nc4Vector Inverse (Nc4Vector &v)
 
void Set4Momentum (Nc4Vector &p)
 
void SetBeta (Nc3Vector &b)
 

Protected Attributes

Nc3Vector fBeta
 
Double32_t fDgamma
 
Double32_t fDresult
 ! Error on scalar result
 
Double32_t fGamma
 

Constructor & Destructor Documentation

◆ NcBoost() [1/2]

NcBoost::NcBoost ( )
// Creation of a Lorentz boost object and initialisation of parameters.
// Beta is set to (0,0,0) and consequently Gamma=1.
// All errors are initialised to 0.

Definition at line 86 of file NcBoost.cxx.

◆ ~NcBoost()

NcBoost::~NcBoost ( )
virtual
// Default destructor.

Definition at line 103 of file NcBoost.cxx.

◆ NcBoost() [2/2]

NcBoost::NcBoost ( const NcBoost & b)
// Copy constructor.

Definition at line 112 of file NcBoost.cxx.

Member Function Documentation

◆ Boost()

Nc4Vector NcBoost::Boost ( Nc4Vector & v)
// Perform the Lorentz boost on the 4-vector v.
// Error propagation is performed automatically.
// Note : As an approximation Beta and p.Dot(Beta) are considered as
// independent quantities.

Definition at line 253 of file NcBoost.cxx.

◆ Data()

void NcBoost::Data ( TString f = "car")
// Printing of the boost parameter info in coordinate frame f.

Definition at line 237 of file NcBoost.cxx.

◆ GetBeta()

Double_t NcBoost::GetBeta ( )
// Provide the norm of the beta 3-vector.
// The error on the value can be obtained via GetResultError().

Definition at line 198 of file NcBoost.cxx.

◆ GetBetaVector()

Nc3Vector NcBoost::GetBetaVector ( ) const
// Provide the beta 3-vector.

Definition at line 187 of file NcBoost.cxx.

◆ GetGamma()

Double_t NcBoost::GetGamma ( )
// Provide the gamma factor.
// The error on the value can be obtained via GetResultError().

Definition at line 212 of file NcBoost.cxx.

◆ GetResultError()

Double_t NcBoost::GetResultError ( ) const
// Provide the error on the result of an operation yielding a scalar.
// E.g. GetBeta() or GetGamma()

Definition at line 225 of file NcBoost.cxx.

◆ Inverse()

Nc4Vector NcBoost::Inverse ( Nc4Vector & v)
// Perform the inverse Lorentz boost on the 4-vector vprim.
// Error propagation is performed automatically.
// Note : As an approximation Beta and pprim.Dot(Beta) are considered as
// independent quantities.

Definition at line 325 of file NcBoost.cxx.

◆ Set4Momentum()

void NcBoost::Set4Momentum ( Nc4Vector & p)
// Setting of boost parameters on basis of momentum 4-vector data.
// The errors of the input 4-vector are used to calculate the
// errors on the beta 3-vector and the gamma factor.

Definition at line 154 of file NcBoost.cxx.

◆ SetBeta()

void NcBoost::SetBeta ( Nc3Vector & b)
// Setting of boost parameters on basis of beta 3-vector.
// The errors on the beta 3-vector are taken from the input 3-vector.
// The gamma value and its error are calculated accordingly.

Definition at line 126 of file NcBoost.cxx.

Member Data Documentation

◆ fBeta

Nc3Vector NcBoost::fBeta
protected

Definition at line 33 of file NcBoost.h.

◆ fDgamma

Double32_t NcBoost::fDgamma
protected

Definition at line 35 of file NcBoost.h.

◆ fDresult

Double32_t NcBoost::fDresult
protected

! Error on scalar result

Definition at line 36 of file NcBoost.h.

◆ fGamma

Double32_t NcBoost::fGamma
protected

Definition at line 34 of file NcBoost.h.


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