LOGO

RestFrames  v1.0.1
RestFrames HEP Event Analysis Software Library
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
RestFrames::RestFrame Class Referenceabstract

Detailed Description

abstract base class for all Frame objects

The RestFrame class is the base class for all frames objects.

Definition at line 45 of file RestFrame.hh.

Inheritance diagram for RestFrames::RestFrame:
Inheritance graph
[legend]

Public Member Functions

 RestFrame (const std::string &sname, const std::string &stitle)
 Standard constructor. More...
 
 RestFrame ()
 Empty constructor.
 
virtual void Clear ()
 Clears RestFrame of all connections to other objects.
 
RestFrame type methods

RestFrame type query member functions

Member functions for identifying FrameType and AnaType of RestFrame.

FrameType GetType () const
 Returns RestFrame (FrameType) type.
 
bool IsVisibleFrame () const
 Is this a VisibleFrame ? (yes/no)
 
bool IsInvisibleFrame () const
 Is this an InvisibleFrame ? (yes/no)
 
bool IsDecayFrame () const
 Is this a DecayFrame ? (yes/no)
 
bool IsLabFrame () const
 Is this a LabFrame ? (yes/no)
 
bool IsRecoFrame () const
 Is this an ReconstructionFrame ? (yes/no)
 
bool IsGenFrame () const
 Is this a GeneratorFrame ? (yes/no)
 
virtual std::string PrintString (LogType type) const
 String of information about RestFrame.
 
RestFrame tree construction methods

Member functions for assembling/disassembling trees of connected RestFrame

virtual void AddChildFrame (RestFrame &frame)
 Adds a child RestFrame to this frame. More...
 
void AddChildFrames (const RestFrameList &frames)
 Adds a list of children to this frame. More...
 
virtual void SetParentFrame (RestFrame &frame=RestFrame::Empty())
 Sets the parent frame for this frame. More...
 
void RemoveChildFrame (RestFrame &frame)
 Removes a child of this frame. More...
 
void RemoveChildFrames ()
 Removes all the children of this frame. More...
 
RestFrame tree structure methods

Member functions which can be used to access RestFrames connected to this frame through parent(s) or children.

int GetNChildren () const
 Returns the number of child frames inheriting from this one.
 
int GetNDescendants () const
 Returns the number of descendents of this frame.
 
virtual RestFrame const & GetParentFrame () const
 Returns the parent of this frame. More...
 
virtual RestFrameGetChildFrame (int i=0) const
 Get the RestFrame of the i th child. More...
 
RestFrameList const & GetChildFrames () const
 Returns a list of this frame's child RestFrames. More...
 
virtual RestFrame const & GetLabFrame () const
 Returns the LabFrame that this frame inherits from. More...
 
virtual RestFrame const & GetProductionFrame () const
 Returns the production frame of this frame. More...
 
virtual RestFrame const & GetSiblingFrame () const
 Returns the sibling frame of this frame. More...
 
int GetFrameDepth (const RestFrame &frame) const
 Returns the depth of frame More...
 
virtual RestFrame const & GetFrameAtDepth (int depth, const RestFrame &frame) const
 Returns the frame at depth. More...
 
virtual RestFrameList GetListFrames (FrameType type=kLabFrame) const
 Returns a list of frames inheriting from this one. More...
 
virtual RestFrameList GetListVisibleFrames () const
 Returns a list of VisibleFrame s inheriting from this.
 
virtual RestFrameList GetListInvisibleFrames () const
 Returns a list of InvisibleFrame s inheriting from this.
 
RestFrame event analysis functions

Member functions which can be used to analyze an event. Each these functions generally requires that the method "AnalyzeEvent()" be successfully called from a LabFrame which is connected to this frame. Otherwise, a trivial value will be returned and a warning message printed.

RestFrameList operator+ (RestFrame &frame)
 Combines RestFrames into RestFrameList. More...
 
RestFrameList operator+ (const RestFrameList &frames)
 Combines RestFrames into RestFrameList. More...
 
virtual RFCharge GetCharge () const
 Returns the charge of this frame. More...
 
virtual double GetMass () const
 Returns the mass of this frame. More...
 
TLorentzVector GetFourVector (const RestFrame &frame=RestFrame::Empty()) const
 Returns this frame's four-vector in a specified frame. More...
 
TLorentzVector GetTransverseFourVector (const RestFrame &frame=RestFrame::Empty(), const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &axis_frame=RestFrame::Empty()) const
 Returns this frame's four-vector in a specified frame. More...
 
TLorentzVector GetVisibleFourVector (const RestFrame &frame=RestFrame::Empty()) const
 Returns four-vector of visible descendants. More...
 
TLorentzVector GetInvisibleFourVector (const RestFrame &frame=RestFrame::Empty()) const
 Returns four-vector of invisible descendants. More...
 
double GetEnergy (const RestFrame &frame) const
 Returns energy of this frame in specified reference frame. More...
 
double GetMomentum (const RestFrame &frame) const
 Returns magnitude of momentum. More...
 
TLorentzVector GetFourVector (const TLorentzVector &P, const RestFrame &def_frame=RestFrame::Empty()) const
 Returns four vector boosted to different frame. More...
 
TLorentzVector GetTransverseFourVector (const TLorentzVector &P, const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &axis_frame=RestFrame::Empty()) const
 Returns transverse four vector in this frame.
 
double GetTransverseMomentum (const RestFrame &frame=RestFrame::Empty(), const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &axis_frame=RestFrame::Empty()) const
 Returns magnitude of transverse momentum. More...
 
double GetTransverseMomentum (const TLorentzVector &P, const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &axis_frame=RestFrame::Empty()) const
 Returns magnitude of transverse momentum of this frame. More...
 
double GetVisibleShape () const
 Returns visible shape of frame. More...
 
double GetSumVisibleMomentum () const
 Returns scalar sum of visible child momenta. More...
 
double GetSumInvisibleMomentum () const
 Returns scalar sum of invisible child momenta. More...
 
TVector3 GetBoostInParentFrame () const
 Returns the boost of this frame in it's parent's frame. More...
 
double GetGammaInParentFrame () const
 Returns the gamma of this frame in its parent's frame. More...
 
TVector3 GetDecayPlaneNormalVector (const RestFrame &frame=RestFrame::Empty()) const
 Returns the vector normal to the decay plane of this frame. More...
 
double GetDeltaPhiDecayPlanes (const RestFrame &frame) const
 Returns difference of azimuthal angle between decay planes. More...
 
double GetCosDecayAngle (const RestFrame &frame=RestFrame::Empty()) const
 Returns the cosine of this frame's decay angle. More...
 
double GetDeltaPhiDecayAngle (const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &frame=RestFrame::Empty()) const
 Returns difference of azimuthal decay angles in an axis. More...
 
double GetDeltaPhiBoostVisible (const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &frame=RestFrame::Empty()) const
 Returns difference of azimuthal angles between the decay angles of the visible particles decaying from this frame. More...
 
double GetDeltaPhiDecayVisible (const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &frame=RestFrame::Empty()) const
 Returns difference of azimuthal angles between the decay angles of the visible particles decaying from this frame. More...
 
double GetDeltaPhiVisible (const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &frame=RestFrame::Empty()) const
 Returns difference of azimuthal angles between the angles of its visible particles kids. More...
 
- Public Member Functions inherited from RestFrames::RFBase
 RFBase (const std::string &sname, const std::string &stitle, int key)
 Standard constructor. More...
 
 RFBase ()
 Empty constructor.
 
bool IsEmpty () const
 Checks whether this is default (empty) instance of class.
 
bool operator! () const
 Tests whether key is the same as this.
 
void Print (LogType type) const
 Print information associated with object.
 
RFKey GetKey () const
 gets object identification key
 
std::string GetName () const
 Returns object name.
 
std::string GetTitle () const
 Returns object title.
 
bool IsSame (const RFKey &key) const
 Tests whether key is the same as this.
 
bool IsSame (const RFBase &obj) const
 Tests whether obj is the same as this.
 
bool operator== (const RFKey &key) const
 Tests whether key is the same as this.
 
bool operator== (const RFBase &obj) const
 Tests whether obj is the same as this.
 
bool operator!= (const RFKey &key) const
 Tests whether key is the same as this.
 
bool operator!= (const RFBase &obj) const
 Tests whether obj is the same as this.
 

Static Public Member Functions

static void SetAxis (const TVector3 &axis)
 Set axis perpendicular to transverse plane. More...
 
static TVector3 const & GetAxis ()
 Retrieve axis which defines transverse plane. More...
 
static RestFrameEmpty ()
 Returns empty RestFrame. More...
 
static ConstRestFrameList const & EmptyList ()
 Returns empty RestFrameList. More...
 
- Static Public Member Functions inherited from RestFrames::RFBase
static RFBaseEmpty ()
 Returns empty RFBase. More...
 

Protected Member Functions

virtual bool IsSoundBody () const
 
TVector3 const & GetChildBoostVector (RestFrame &frame) const
 
TVector3 const & GetParentBoostVector () const
 
virtual bool InitializeTreeRecursive ()
 Recursively initialize this frame's tree.
 
virtual bool InitializeAnalysisRecursive ()=0
 Recursively initialize this frame and its children for analysis.
 
virtual bool AnalyzeEventRecursive ()=0
 Recursively analyze event in this frame and its children.
 
virtual bool ClearEventRecursive ()=0
 Recursively clear event information from this frame and its children.
 
bool IsCircularTree (std::vector< RFKey > &keys) const
 Check this RestFrame 's tree for circular connections.
 
- Protected Member Functions inherited from RestFrames::RFBase
bool SetBody (bool body) const
 
bool SetMind (bool mind) const
 
bool SetSpirit (bool spirit) const
 
virtual bool IsSoundMind () const
 
virtual bool IsSoundSpirit () const
 
void UnSoundBody (const std::string &function) const
 
void UnSoundMind (const std::string &function) const
 
void UnSoundSpirit (const std::string &function) const
 
void AddDependent (RFBase *dep)
 pointer to RFBase object owned by this one
 

Protected Attributes

FrameType m_Type
 
AnaType m_Ana
 
- Protected Attributes inherited from RestFrames::RFBase
RFLog m_Log
 
RFBasem_This
 

Friends

class ReconstructionFrame
 
class GeneratorFrame
 

Additional Inherited Members

- Static Protected Attributes inherited from RestFrames::RFBase
static const TVector3 m_Empty3Vector
 
static const TLorentzVector m_Empty4Vector
 

Constructor & Destructor Documentation

◆ RestFrame()

RestFrames::RestFrame::RestFrame ( const std::string &  sname,
const std::string &  stitle 
)

Standard constructor.

Parameters
snameClass instance name used for log statements
stitleClass instance title used in figures

Definition at line 48 of file RestFrame.cc.

Member Function Documentation

◆ AddChildFrame()

void RestFrames::RestFrame::AddChildFrame ( RestFrame frame)
virtual

Adds a child RestFrame to this frame.

Parameters
frameRestFrame to be added as child

Method for adding a RestFrame as a child of this frame.

Warning
frame will not be added as a child if it is a LabFrame type frame

Reimplemented in RestFrames::GeneratorFrame, and RestFrames::ReconstructionFrame.

Definition at line 198 of file RestFrame.cc.

◆ AddChildFrames()

void RestFrames::RestFrame::AddChildFrames ( const RestFrameList frames)

Adds a list of children to this frame.

Parameters
framesRestFrames to be added as children

Method for adding a list of RestFrames as childs of this frame. Calls AddChildFrame() for each RestFrame on the list

Definition at line 225 of file RestFrame.cc.

◆ Empty()

RestFrame & RestFrames::RestFrame::Empty ( )
static

Returns empty RestFrame.

Returns
Empty RestFrame

Definition at line 62 of file RestFrame.cc.

◆ EmptyList()

ConstRestFrameList const & RestFrames::RestFrame::EmptyList ( )
static

Returns empty RestFrameList.

Returns
Empty RestFrameList

Definition at line 66 of file RestFrame.cc.

◆ GetAxis()

TVector3 const & RestFrames::RestFrame::GetAxis ( )
static

Retrieve axis which defines transverse plane.

Returns
Axis which defines the transverse plane

Definition at line 76 of file RestFrame.cc.

◆ GetBoostInParentFrame()

TVector3 RestFrames::RestFrame::GetBoostInParentFrame ( ) const

Returns the boost of this frame in it's parent's frame.

Returns
The three-vector of this frame's momenta, evaluated in it's parent's rest frame. The orientation of the parent frame is defined as that which occurs if one boosts from the LabFrame to this frame via each intermediate frame in the tree

Definition at line 889 of file RestFrame.cc.

◆ GetCharge()

RFCharge RestFrames::RestFrame::GetCharge ( ) const
virtual

Returns the charge of this frame.

Returns
Charge of this frame

Definition at line 427 of file RestFrame.cc.

◆ GetChildFrame()

RestFrame & RestFrames::RestFrame::GetChildFrame ( int  i = 0) const
virtual

Get the RestFrame of the i th child.

Returns
RestFrame of the i th child

Reimplemented in RestFrames::ReconstructionFrame, and RestFrames::GeneratorFrame.

Definition at line 235 of file RestFrame.cc.

◆ GetChildFrames()

RestFrameList const & RestFrames::RestFrame::GetChildFrames ( ) const

Returns a list of this frame's child RestFrames.

Returns
List of this frame's child RestFrames

Definition at line 252 of file RestFrame.cc.

◆ GetCosDecayAngle()

double RestFrames::RestFrame::GetCosDecayAngle ( const RestFrame frame = RestFrame::Empty()) const

Returns the cosine of this frame's decay angle.

Parameters
frame(optional) Frame defining child axis
Returns
The cosine of this frame's decay angle

Definition at line 912 of file RestFrame.cc.

◆ GetDecayPlaneNormalVector()

TVector3 RestFrames::RestFrame::GetDecayPlaneNormalVector ( const RestFrame frame = RestFrame::Empty()) const

Returns the vector normal to the decay plane of this frame.

Parameters
frame(optional) Frame defining child axis
Returns
The vector normal to the decay plane of this frame. The normal vector, \(\hat{n}_{\perp}\), is defined as:

\[ \hat{n}_{\perp}\ = \frac{ \vec{p}_{C}^{~P} \times \vec{p}_{F}^{~P} } {\left|\vec{p}_{C}^{~P} \times \vec{p}_{F}^{~P}\right|}~, \]

where \(\vec{p}_{F}^{~P}\) is the momentum of this frame evaluated in it's parent's rest frame and \(\vec{p}_{C}^{~P}\) is the momentum of it's first child frame evaluated in the same frame. If this frame is of type LabFrame then \(\hat{n}_{\perp}\) is defined alternatively as:

\[ \hat{n}_{\perp}\ = \frac{ \vec{p}_{C}^{~F} \times \vec{n}_{\parallel} } {\left|\vec{p}_{C}^{~F} \times \vec{n}_{\parallel}\right|}~, \]

where \(\vec{p}_{C}^{~F}\) is the momentum of the child frame evaluated in this frame and \(\vec{n}_{\parallel}\) is the vector defining the transverse plane as returned by RestFrame::GetAxis().
Warning
If this frame has no children then RestFrame::GetAxis() is returned.

Definition at line 933 of file RestFrame.cc.

◆ GetDeltaPhiBoostVisible()

double RestFrames::RestFrame::GetDeltaPhiBoostVisible ( const TVector3 &  axis = RestFrame::GetAxis(),
const RestFrame frame = RestFrame::Empty() 
) const

Returns difference of azimuthal angles between the decay angles of the visible particles decaying from this frame.

Parameters
axisAxis to define coordinates (default is z-axis)
frame(optional) frame defining child axis
Returns
Difference of azimuthal angles

Method boosts to visible particles frame and calculates difference of azimuthal angles between the decay angles of the visible particles decaying from this frame

Definition at line 1026 of file RestFrame.cc.

◆ GetDeltaPhiDecayAngle()

double RestFrames::RestFrame::GetDeltaPhiDecayAngle ( const TVector3 &  axis = RestFrame::GetAxis(),
const RestFrame frame = RestFrame::Empty() 
) const

Returns difference of azimuthal decay angles in an axis.

Parameters
axisAxis to define coordinates (default is z-axis)
frame(optional) Frame defining child axis
Returns
Difference of azimuthal decay angles

Definition at line 997 of file RestFrame.cc.

◆ GetDeltaPhiDecayPlanes()

double RestFrames::RestFrame::GetDeltaPhiDecayPlanes ( const RestFrame frame) const

Returns difference of azimuthal angle between decay planes.

Parameters
frameFrame corresponding to other decay plane
Returns
The azimuthal angle between the decay planes of this frame and frame . The decay planes are defined by their normal vectors, as returned by GetDecayPlaneNormalVector().

Definition at line 977 of file RestFrame.cc.

◆ GetDeltaPhiDecayVisible()

double RestFrames::RestFrame::GetDeltaPhiDecayVisible ( const TVector3 &  axis = RestFrame::GetAxis(),
const RestFrame frame = RestFrame::Empty() 
) const

Returns difference of azimuthal angles between the decay angles of the visible particles decaying from this frame.

Parameters
axisAxis to define coordinates (default is z-axis)
frame(optional) frame defining child axis
Returns
Difference of azimuthal decay angles

Definition at line 1052 of file RestFrame.cc.

◆ GetDeltaPhiVisible()

double RestFrames::RestFrame::GetDeltaPhiVisible ( const TVector3 &  axis = RestFrame::GetAxis(),
const RestFrame frame = RestFrame::Empty() 
) const

Returns difference of azimuthal angles between the angles of its visible particles kids.

Parameters
axisAxis to define coordinates (default is z-axis)
frame(optional) frame defining child axis
Returns
Difference of azimuthal angles

Definition at line 1084 of file RestFrame.cc.

◆ GetEnergy()

double RestFrames::RestFrame::GetEnergy ( const RestFrame frame) const

Returns energy of this frame in specified reference frame.

Parameters
frameRest frame in which to evaluate energy
Returns
Energy of this frame, evaluated in the rest frame of frame.
Warning
If frame is empty, then the four-vector will be evaluated in the LabFrame associated with this frame.

Definition at line 544 of file RestFrame.cc.

◆ GetFourVector() [1/2]

TLorentzVector RestFrames::RestFrame::GetFourVector ( const RestFrame frame = RestFrame::Empty()) const

Returns this frame's four-vector in a specified frame.

Parameters
frameRest frame in which to evaluate four-vector
Returns
The four-vector of this frame evaluated in the rest frame of frame.
Warning
If frame is empty, then the four-vector will be evaluated in the LabFrame associated with this frame.

Definition at line 451 of file RestFrame.cc.

◆ GetFourVector() [2/2]

TLorentzVector RestFrames::RestFrame::GetFourVector ( const TLorentzVector &  P,
const RestFrame def_frame = RestFrame::Empty() 
) const

Returns four vector boosted to different frame.

Parameters
PFour-vector to boost
<br>

Definition at line 595 of file RestFrame.cc.

◆ GetFrameAtDepth()

RestFrame const & RestFrames::RestFrame::GetFrameAtDepth ( int  depth,
const RestFrame frame 
) const
virtual

Returns the frame at depth.

Parameters
depthDepth of desired frame
frameDescendent frame that defines path
Returns
Frame at a depth depth down from this frame. The path through the descendents of this frame is defined as that proceeding towards frame.
Warning
If no frame exists at depth along this path, an empty frame is returned.

Definition at line 806 of file RestFrame.cc.

◆ GetFrameDepth()

int RestFrames::RestFrame::GetFrameDepth ( const RestFrame frame) const

Returns the depth of frame

Parameters
frameFrame whose depth is returned
Returns
Depth of frame relative to this frame.
Warning
If frame is not among the descendents of this frame, -1 is returned.

Definition at line 790 of file RestFrame.cc.

◆ GetGammaInParentFrame()

double RestFrames::RestFrame::GetGammaInParentFrame ( ) const

Returns the gamma of this frame in its parent's frame.

Returns
The gamma of this frame in its parent's frame

Definition at line 901 of file RestFrame.cc.

◆ GetInvisibleFourVector()

TLorentzVector RestFrames::RestFrame::GetInvisibleFourVector ( const RestFrame frame = RestFrame::Empty()) const

Returns four-vector of invisible descendants.

Parameters
frameRest frame in which to evaluate four-vector
Returns
The four-vector all of the invisible descendants of this frame, evaluated in the rest frame of frame.
Warning
If frame is empty, then the four-vector will be evaluated in the LabFrame associated with this frame.

Definition at line 517 of file RestFrame.cc.

◆ GetLabFrame()

RestFrame const & RestFrames::RestFrame::GetLabFrame ( ) const
virtual

Returns the LabFrame that this frame inherits from.

Returns
LabFrame frame of this frame's tree.
Warning
If a LabFrame cannot be found, an empty frame is returned.

Definition at line 256 of file RestFrame.cc.

◆ GetListFrames()

RestFrameList RestFrames::RestFrame::GetListFrames ( FrameType  type = kLabFrame) const
virtual

Returns a list of frames inheriting from this one.

Returns
List of frames that inherit from this one, filled recursively and including children of children which are of FrameType type. If type is LabFrame (default) then all frames, regardless of type, are included.

Definition at line 338 of file RestFrame.cc.

◆ GetMass()

double RestFrames::RestFrame::GetMass ( ) const
virtual

Returns the mass of this frame.

Returns
Mass of this frame

Reimplemented in RestFrames::GeneratorFrame.

Definition at line 443 of file RestFrame.cc.

◆ GetMomentum()

double RestFrames::RestFrame::GetMomentum ( const RestFrame frame) const

Returns magnitude of momentum.

Parameters
frameRest frame in which to evaluate momentum
Returns
The momentum of this frame, evaluated in the rest frame of frame.
Warning
If frame is empty, then the four-vector will be evaluated in the LabFrame associated with this frame.

Definition at line 552 of file RestFrame.cc.

◆ GetParentFrame()

RestFrame const & RestFrames::RestFrame::GetParentFrame ( ) const
virtual

Returns the parent of this frame.

Returns
Parent frame of this frame.
Warning
If the parent frame is not set, an empty frame is returned.

Reimplemented in RestFrames::ReconstructionFrame, and RestFrames::GeneratorFrame.

Definition at line 245 of file RestFrame.cc.

◆ GetProductionFrame()

RestFrame const & RestFrames::RestFrame::GetProductionFrame ( ) const
virtual

Returns the production frame of this frame.

Returns
Production frame of this frame

Definition at line 877 of file RestFrame.cc.

◆ GetSiblingFrame()

RestFrame const & RestFrames::RestFrame::GetSiblingFrame ( ) const
virtual

Returns the sibling frame of this frame.

Returns
First child frame of the parent frame of this one that is not this frame.
Warning
Returns an empty frame if there is no sibling frame.

Definition at line 269 of file RestFrame.cc.

◆ GetSumInvisibleMomentum()

double RestFrames::RestFrame::GetSumInvisibleMomentum ( ) const

Returns scalar sum of invisible child momenta.

Returns
The scalar sum of the momenta of the invisible frames associated with this frame's children. The four-vectors of all the invisible frames associated with with each child frame are evaluated in this rest frame.

Definition at line 863 of file RestFrame.cc.

◆ GetSumVisibleMomentum()

double RestFrames::RestFrame::GetSumVisibleMomentum ( ) const

Returns scalar sum of visible child momenta.

Returns
The scalar sum of the momenta of the visible frames associated with this frame's children. The four-vectors of all the visible frames associated with with each child frame are evaluated in this rest frame.

Definition at line 849 of file RestFrame.cc.

◆ GetTransverseFourVector()

TLorentzVector RestFrames::RestFrame::GetTransverseFourVector ( const RestFrame frame = RestFrame::Empty(),
const TVector3 &  axis = RestFrame::GetAxis(),
const RestFrame axis_frame = RestFrame::Empty() 
) const

Returns this frame's four-vector in a specified frame.

Parameters
frameRest frame in which to evaluate four-vector
axisLongitudinal axis
axis_frameRest frame in which axis is defined
Returns
Four-vector with transverse momentum component substracted off evaluated in the rest frame of frame.
Warning
If frame is empty, then the four-vector will be evaluated in the LabFrame associated with this frame.

Definition at line 633 of file RestFrame.cc.

◆ GetTransverseMomentum() [1/2]

double RestFrames::RestFrame::GetTransverseMomentum ( const RestFrame frame = RestFrame::Empty(),
const TVector3 &  axis = RestFrame::GetAxis(),
const RestFrame axis_frame = RestFrame::Empty() 
) const

Returns magnitude of transverse momentum.

Parameters
frameRest frame in which to evaluate momentum
axisLongitudinal axis
axis_frameRest frame in which axis is defined
Returns
The transverse momentum of this frame, evaluated in the rest frame of frame.
Warning
If frame is empty, then the four-vector will be evaluated in the LabFrame associated with this frame.

Definition at line 560 of file RestFrame.cc.

◆ GetTransverseMomentum() [2/2]

double RestFrames::RestFrame::GetTransverseMomentum ( const TLorentzVector &  P,
const TVector3 &  axis = RestFrame::GetAxis(),
const RestFrame axis_frame = RestFrame::Empty() 
) const

Returns magnitude of transverse momentum of this frame.

Parameters
PFour-vector of frame
axisLongitudinal axis
axis_frameRest frame in which axis is defined
Returns
The transverse momentum of four-vector, evaluated in the rest frame of the frame I am calling this method from.
Warning
If frame is empty, then the four-vector will be evaluated in the LabFrame associated with this frame.

Definition at line 733 of file RestFrame.cc.

◆ GetVisibleFourVector()

TLorentzVector RestFrames::RestFrame::GetVisibleFourVector ( const RestFrame frame = RestFrame::Empty()) const

Returns four-vector of visible descendants.

Parameters
frameRest frame in which to evaluate four-vector
Returns
The four-vector all of the visible descendants of this frame, evaluated in the rest frame of frame.
Warning
If frame is empty, then the four-vector will be evaluated in the LabFrame associated with this frame.

Definition at line 490 of file RestFrame.cc.

◆ GetVisibleShape()

double RestFrames::RestFrame::GetVisibleShape ( ) const

Returns visible shape of frame.

Returns
The visible shape of the frame, calculated from visible frames associated with the children of this frame. For each of the N child frames, the four-vector of all the visible frames associated with the frame is evaluated in this rest frame. The visible shape is then defined as:

\[ \mathrm{visible~shape} \equiv \frac{ \sqrt{ \sum_{i}^{N}\sum_{j < i}^{N} 2\left(\left|\vec{p}_{i}\right|\left|\vec{p}_{j}\right|+ \vec{p}_{i}\cdot\vec{p}_{j}\right) } } { \sum_{i}^{N}\left|\vec{p}_{i}\right| }~. \]

Warning
If this frame has no children then zero is returned.

Definition at line 826 of file RestFrame.cc.

◆ operator+() [1/2]

RestFrameList RestFrames::RestFrame::operator+ ( const RestFrameList frames)

Combines RestFrames into RestFrameList.

Parameters
framesList of additional RestFrames to add in list
Returns
List of RestFrames containing frames and this

Definition at line 87 of file RestFrame.cc.

◆ operator+() [2/2]

RestFrameList RestFrames::RestFrame::operator+ ( RestFrame frame)

Combines RestFrames into RestFrameList.

Parameters
frameAdditional RestFrame to add in list
Returns
List of RestFrames containing frame and this

Definition at line 80 of file RestFrame.cc.

◆ RemoveChildFrame()

void RestFrames::RestFrame::RemoveChildFrame ( RestFrame frame)

Removes a child of this frame.

Parameters
frameChild frame to be removed

Method for removing a child RestFrame from the list of children of this frame

Warning
Child will not be removed if it is not in that list.

Definition at line 164 of file RestFrame.cc.

◆ RemoveChildFrames()

void RestFrames::RestFrame::RemoveChildFrames ( )

Removes all the children of this frame.

Method for removing all the children of this frame. No child left behind.

Definition at line 173 of file RestFrame.cc.

◆ SetAxis()

void RestFrames::RestFrame::SetAxis ( const TVector3 &  axis)
static

Set axis perpendicular to transverse plane.

Parameters
axisInput axis

Method sets axis to define the "transverse plane", perpendicular to the axis.

Definition at line 72 of file RestFrame.cc.

◆ SetParentFrame()

void RestFrames::RestFrame::SetParentFrame ( RestFrame frame = RestFrame::Empty())
virtual

Sets the parent frame for this frame.

Parameters
frameFrame to be set as parent

Method for connecting a child frame to its parent frame Empty default sets parent frame to none

Reimplemented in RestFrames::ReconstructionFrame, and RestFrames::GeneratorFrame.

Definition at line 181 of file RestFrame.cc.

#include "RestFrames/RestFrame.hh"

Collaboration diagram for RestFrames::RestFrame:
Collaboration graph
[legend]

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