4 #include "KVKinematicalFrame.h"
15 :
TNamed(name, "Kinematical frame"), fTransform(trans), fParticle((
KVParticle*)original->IsA()->New())
20 ReapplyTransform(original);
21 fParticle->SetFrameName(
name);
44 :
TNamed(), fTransform(t), fParticle(nullptr)
59 fParticle(o.GetParticle() ? (
KVParticle*)o.GetParticle()->
IsA()->New() : nullptr)
79 if (&o ==
this)
return (*
this);
winID h TVirtualViewer3D TVirtualGLPainter p
TClass * IsA() const override
Kinematical representation of a particle in different reference frames.
std::unique_ptr< KVParticle > fParticle
kinematically transformed particle
KVParticle * GetParticle() const
KVKinematicalFrame & operator=(const KVKinematicalFrame &)
Assignment operator required for rootcint (not rootcling)
KVFrameTransform fTransform
kinematical transform wrt 'parent' frame
void ReapplyTransform(const KVParticle *original)
Apply stored kinematical transformation to the particle.
KVKinematicalFrame(const Char_t *name, const KVParticle *original, const KVFrameTransform &trans)
void ApplyTransform(const KVParticle *original, const KVFrameTransform &trans)
Apply new kinematical transformation to the particle and update all subframes.
Base class for relativistic kinematics of massive particles.
const Char_t * GetFrameName(void) const
void ResetFrameCopyOnly() const
virtual void Copy(TObject &) const
void SetFrameCopyOnly() const
void * New(ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
TLorentzRotation Inverse() const
TClass * IsA() const override