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::Jigsaw Class Referenceabstract

Detailed Description

abstract base class for all Jigsaw objects

The Jigsaw class is the base class for all Jigsaws. Jigsaws are a collection of algorithms.
Each Jigsaw resolves unknowns using different constraints and assumptions, with a customizable combination available for studying any process of interest.

Definition at line 44 of file Jigsaw.hh.

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

Public Member Functions

 Jigsaw (const std::string &sname, const std::string &stitle, int Nchild, int Ndependancy)
 Standard constructor. More...
 
 Jigsaw ()
 Empty constructor.
 
virtual void Clear ()
 Clears Jigsaw of all connections to other objects.
 
JigsawType GetType () const
 Returns jigsaw (JigsawType) type. More...
 
virtual std::string GetLabel () const
 Returns name of this Jigsaw. More...
 
virtual std::string PrintString (LogType type) const
 Prints string of information associated with Jigsaw. More...
 
bool IsInvisibleJigsaw () const
 Is invisible jigsaw? (true/false)
 
bool IsCombinatoricJigsaw () const
 Is combinatoric jigsaw? (true/false)
 
virtual void SetGroup (Group &group=Group::Empty())
 Sets group (Group) to current jigsaw. More...
 
virtual GroupGetGroup () const
 Returns group (Group) associated with this jigsaw. More...
 
virtual ConstRestFrameList GetParentFrames () const
 Returns list of parent frames associated with this jigsaw. More...
 
virtual ConstRestFrameList const & GetChildFrames (int i) const
 Returns list of child frames associated with this jigsaw. More...
 
virtual ConstRestFrameList const & GetDependancyFrames (int i) const
 Returns list of frames in which this jigsaw depends on. More...
 
void RemoveFrame (const RestFrame &frame)
 Removes a frame from this jigsaw. More...
 
void RemoveFrames (const ConstRestFrameList &frames)
 Removes a list of frames from this jigsaw. 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 JigsawEmpty ()
 Returns empty Jigsaw. More...
 
- Static Public Member Functions inherited from RestFrames::RFBase
static RFBaseEmpty ()
 Returns empty RFBase. More...
 

Protected Member Functions

virtual bool IsSoundBody () const
 
virtual bool AnalyzeEvent ()=0
 
bool CanResolve (const State &state) const
 
bool CanResolve (const ConstRestFrameList &frames) const
 
bool DependsOnJigsaw (const Jigsaw &jigsaw) const
 
virtual bool InitializeTree ()
 
virtual bool InitializeAnalysis ()
 
virtual bool InitializeDependancyJigsaws ()
 
virtual bool InitializeJigsawExecutionList (JigsawList &exec_jigsaws, JigsawList &todo_jigsaws)=0
 
void AddChildFrame (const RestFrame &frame, int i=0)
 
void AddDependancyFrame (const RestFrame &frame, int i=0)
 
virtual int GetNChildren () const
 
virtual StateGetChildState (int i) const
 
virtual StateList const & GetChildStates () const
 
int GetNDependancyStates () const
 
virtual StateList const & GetDependancyStates (int i) const
 
void SetParentState ()
 
virtual void SetParentState (State &state)
 
virtual State const & GetParentState () const
 
virtual StateGetNewChildState ()=0
 
virtual void FillJigsawDependancies (JigsawList &jigsaws) const
 
virtual void FillGroupJigsawDependancies (JigsawList &jigsaws) const
 
virtual void FillGroupJigsawDependants (JigsawList &jigsaws) const
 
- 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

JigsawType m_Type
 
- Protected Attributes inherited from RestFrames::RFBase
RFLog m_Log
 
RFBasem_This
 

Friends

class TreePlot
 
class Group
 
class LabRecoFrame
 
class InvisibleJigsaw
 
class CombinatoricJigsaw
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ Jigsaw()

RestFrames::Jigsaw::Jigsaw ( const std::string &  sname,
const std::string &  stitle,
int  Nchild,
int  Ndependancy 
)

Standard constructor.

Parameters
snameClass instance name used for log statements
stitleClass instance title used in figures
NchildNumber of childs of Jigsaw
NdependancyNumber of dependancies of JIgsaw

Definition at line 42 of file Jigsaw.cc.

Member Function Documentation

◆ Empty()

Jigsaw & RestFrames::Jigsaw::Empty ( )
static

Returns empty Jigsaw.

Returns
Empty Jigsaw

Definition at line 70 of file Jigsaw.cc.

◆ GetChildFrames()

ConstRestFrameList const & RestFrames::Jigsaw::GetChildFrames ( int  i) const
virtual

Returns list of child frames associated with this jigsaw.

Parameters
iIndex of list of frames
Returns
List of child frames associated with this jigsaw

Definition at line 208 of file Jigsaw.cc.

◆ GetDependancyFrames()

ConstRestFrameList const & RestFrames::Jigsaw::GetDependancyFrames ( int  i) const
virtual

Returns list of frames in which this jigsaw depends on.

Parameters
iIndex of list of frames
Returns
List of frames this jigsaw depends on

Definition at line 214 of file Jigsaw.cc.

◆ GetGroup()

Group & RestFrames::Jigsaw::GetGroup ( ) const
virtual

Returns group (Group) associated with this jigsaw.

Returns
Group associated with this jigsaw

Reimplemented in RestFrames::CombinatoricJigsaw, and RestFrames::InvisibleJigsaw.

Definition at line 130 of file Jigsaw.cc.

◆ GetLabel()

virtual std::string RestFrames::Jigsaw::GetLabel ( ) const
inlinevirtual

◆ GetParentFrames()

ConstRestFrameList RestFrames::Jigsaw::GetParentFrames ( ) const
virtual

Returns list of parent frames associated with this jigsaw.

Returns
List of parent frames associated with this jigsaw

Definition at line 201 of file Jigsaw.cc.

◆ GetType()

JigsawType RestFrames::Jigsaw::GetType ( ) const
inline

Returns jigsaw (JigsawType) type.

Returns
Jygsaw type

Definition at line 68 of file Jigsaw.hh.

◆ PrintString()

std::string RestFrames::Jigsaw::PrintString ( LogType  type) const
virtual

Prints string of information associated with Jigsaw.

Returns
String of information associated with jigsaw

Reimplemented from RestFrames::RFBase.

Definition at line 100 of file Jigsaw.cc.

◆ RemoveFrame()

void RestFrames::Jigsaw::RemoveFrame ( const RestFrame frame)

Removes a frame from this jigsaw.

Parameters
frameFrame to be removed

Definition at line 364 of file Jigsaw.cc.

◆ RemoveFrames()

void RestFrames::Jigsaw::RemoveFrames ( const ConstRestFrameList frames)

Removes a list of frames from this jigsaw.

Parameters
framesList of frames to be removed

Definition at line 376 of file Jigsaw.cc.

◆ SetGroup()

void RestFrames::Jigsaw::SetGroup ( Group group = Group::Empty())
virtual

Sets group (Group) to current jigsaw.

Parameters
Groupto be set

Method for setting a group to this jigsaw. If group is set to another jigsaw it is removed from that jigsaw and added to this one.

See also
What does it mean to set a group to a jigsaw? Jigsaws

Reimplemented in RestFrames::CombinatoricJigsaw, and RestFrames::InvisibleJigsaw.

Definition at line 109 of file Jigsaw.cc.

#include "RestFrames/Jigsaw.hh"

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

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