KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
List of all members | Public Member Functions | List of all members
KVFrameTransform Class Reference

Utility class for kinematical transformations of KVParticle class.

Created by KVClassFactory on Thu Jan 19 15:37:43 2017 Author: John Frankland,,,

This class is used as a generic argument for the KVEvent::SetFrame() and KVParticle::SetFrame() methods (amongst others).

It is not always necessary to explicitly use this class when calling these methods. Any class for which a single-argument KVFrameTransform constructor is defined can be used, even a temporary (unnamed) object:

e.g. for KVParticle::SetFrame(const Char_t* frame, const KVFrameTransform& ft) the following calls are valid:

TVector3 boost(0,0,3.0);// in cm/ns
p.SetFrame("toto", boost);
p.SetFrame("toto", TVector3(0,0,3.0)); // same effect as previous
rot.RotateZ(TMath::PiOver2()); // 90 deg. rotation around beam
p.SetFrame("titi", rot);
Base class for relativistic kinematics of massive particles.
Definition: KVParticle.h:398
void SetFrame(const Char_t *frame, const KVFrameTransform &)
Definition: KVParticle.cpp:741
TRotation & RotateZ(Double_t)
LVector boost(const LVector &v, const BoostVector &b)
constexpr Double_t PiOver2()

On the other hand, when more than one argument to the KVFrameTransform constructor is required, before C++11 you had to explicitly call the constructor in question, although once again it is sufficient to use a temporary object in the method call:

p.SetFrame("tata", KVFrameTransform(TVector3(0,0,0.1),kTRUE));
--> boost to frame moving at 0.1c in beam direction
p.SetFrame("tutu", KVFrameTransform(rot, TVector3(0,0,0.1), kTRUE));
--> rotation around beam axis followed by boost 0.1c
#define c(i)

With C++11 this becomes

p.SetFrame("tata", {TVector3(0,0,0.1),kTRUE});
--> boost to frame moving at 0.1c in beam direction
p.SetFrame("tutu", {rot, TVector3(0,0,0.1), kTRUE});
--> rotation around beam axis followed by boost 0.1c
const Bool_t kTRUE
Note
for boosts, default units are cm/ns
for rotations (TRotation), default units are radians

Definition at line 60 of file KVFrameTransform.h.

Public Member Functions

 KVFrameTransform ()
 
 KVFrameTransform (const KVFrameTransform &r)
 Copy constructor. More...
 
 KVFrameTransform (const TLorentzRotation &r)
 Construct frame transformation using a TLorentzRotation. More...
 
 KVFrameTransform (const TRotation &r)
 Construct frame transformation using rotation of axes. More...
 
 KVFrameTransform (const TRotation &r, const TVector3 &boost, Bool_t beta=kFALSE)
 
 KVFrameTransform (const TVector3 &boost, Bool_t beta=kFALSE)
 
 KVFrameTransform (const TVector3 &boost, const TRotation &r, Bool_t beta=kFALSE)
 
virtual ~KVFrameTransform ()
 
KVFrameTransformoperator= (const KVFrameTransform &)
 assignment by copy More...
 
- Public Member Functions inherited from TLorentzRotation
 TLorentzRotation ()
 
 TLorentzRotation (const TLorentzRotation &)
 
 TLorentzRotation (const TRotation &)
 
 TLorentzRotation (const TVector3 &)
 
 TLorentzRotation (Double_t, Double_t, Double_t)
 
TLorentzRotationBoost (const TVector3 &)
 
TLorentzRotationBoost (Double_t, Double_t, Double_t)
 
TLorentzRotation Inverse () const
 
TLorentzRotationInvert ()
 
Bool_t IsIdentity () const
 
TLorentzRotation MatrixMultiplication (const TLorentzRotation &) const
 
Bool_t operator!= (const TLorentzRotation &) const
 
Double_t operator() (int, int) const
 
TLorentzRotation operator* (const TLorentzRotation &) const
 
TLorentzVector operator* (const TLorentzVector &) const
 
TLorentzRotationoperator*= (const TLorentzRotation &)
 
TLorentzRotationoperator= (const TLorentzRotation &)
 
TLorentzRotationoperator= (const TRotation &)
 
Bool_t operator== (const TLorentzRotation &) const
 
TLorentzRotationRow operator[] (int) const
 
TLorentzRotationRotate (Double_t, const TVector3 &)
 
TLorentzRotationRotate (Double_t, const TVector3 *)
 
TLorentzRotationRotateX (Double_t)
 
TLorentzRotationRotateY (Double_t)
 
TLorentzRotationRotateZ (Double_t)
 
TLorentzRotationTransform (const TLorentzRotation &)
 
TLorentzRotationTransform (const TRotation &)
 
Double_t TT () const
 
Double_t TX () const
 
Double_t TY () const
 
Double_t TZ () const
 
TLorentzVector VectorMultiplication (const TLorentzVector &) const
 
Double_t XT () const
 
Double_t XX () const
 
Double_t XY () const
 
Double_t XZ () const
 
Double_t YT () const
 
Double_t YX () const
 
Double_t YY () const
 
Double_t YZ () const
 
Double_t ZT () const
 
Double_t ZX () const
 
Double_t ZY () const
 
Double_t ZZ () const
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 
virtual Int_t Compare (const TObject *obj) const
 
virtual void Copy (TObject &object) const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual const char * GetName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
virtual ULong_t Hash () const
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
virtual void Inspect () const
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete[] (void *ptr)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual void Print (Option_t *option="") const
 
virtual Int_t Read (const char *name)
 
virtual void RecursiveRemove (TObject *obj)
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetUniqueID (UInt_t uid)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 

Additional Inherited Members

- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Static Public Member Functions inherited from TObject
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Member Functions inherited from TLorentzRotation
 TLorentzRotation (Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t)
 
void SetBoost (Double_t, Double_t, Double_t)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Protected Attributes inherited from TLorentzRotation
Double_t ftt
 
Double_t ftx
 
Double_t fty
 
Double_t ftz
 
Double_t fxt
 
Double_t fxx
 
Double_t fxy
 
Double_t fxz
 
Double_t fyt
 
Double_t fyx
 
Double_t fyy
 
Double_t fyz
 
Double_t fzt
 
Double_t fzx
 
Double_t fzy
 
Double_t fzz
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

#include <KVFrameTransform.h>

Inheritance diagram for KVFrameTransform:
Inheritance graph
[legend]

Constructor & Destructor Documentation

◆ KVFrameTransform() [1/7]

KVFrameTransform::KVFrameTransform ( )
inline

Definition at line 62 of file KVFrameTransform.h.

◆ KVFrameTransform() [2/7]

KVFrameTransform::KVFrameTransform ( const TVector3 boost,
Bool_t  beta = kFALSE 
)

Construct frame transformation using velocity boost vector if beta=kTRUE, velocity given in light speed units if beta=kFALSE [default], velocity given in cm/ns units.

Definition at line 16 of file KVFrameTransform.cpp.

◆ KVFrameTransform() [3/7]

KVFrameTransform::KVFrameTransform ( const TRotation r)

Construct frame transformation using rotation of axes.

Definition at line 37 of file KVFrameTransform.cpp.

◆ KVFrameTransform() [4/7]

KVFrameTransform::KVFrameTransform ( const TLorentzRotation r)

Construct frame transformation using a TLorentzRotation.

Definition at line 49 of file KVFrameTransform.cpp.

◆ KVFrameTransform() [5/7]

KVFrameTransform::KVFrameTransform ( const KVFrameTransform r)

Copy constructor.

Definition at line 60 of file KVFrameTransform.cpp.

◆ KVFrameTransform() [6/7]

KVFrameTransform::KVFrameTransform ( const TVector3 boost,
const TRotation r,
Bool_t  beta = kFALSE 
)

Construct frame transformation using rotation & velocity boost vector in the order: BOOST then ROTATION if beta=kTRUE, velocity given in light speed units if beta=kFALSE [default], velocity given in cm/ns units.

Definition at line 75 of file KVFrameTransform.cpp.

◆ KVFrameTransform() [7/7]

KVFrameTransform::KVFrameTransform ( const TRotation r,
const TVector3 boost,
Bool_t  beta = kFALSE 
)

Construct frame transformation using rotation & velocity boost vector in the order: ROTATION then BOOST if beta=kTRUE, velocity given in light speed units if beta=kFALSE [default], velocity given in cm/ns units.

Definition at line 100 of file KVFrameTransform.cpp.

◆ ~KVFrameTransform()

virtual KVFrameTransform::~KVFrameTransform ( )
inlinevirtual

Definition at line 70 of file KVFrameTransform.h.

Member Function Documentation

◆ operator=()

KVFrameTransform & KVFrameTransform::operator= ( const KVFrameTransform p)

assignment by copy

Definition at line 121 of file KVFrameTransform.cpp.


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