LOGO

RestFrames  v1.0.1
RestFrames HEP Event Analysis Software Library
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
RestFrames::CombinatoricGroup Class Reference

Detailed Description

Definition at line 39 of file CombinatoricGroup.hh.

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

Public Member Functions

 CombinatoricGroup (const std::string &sname, const std::string &stitle)
 Standard constructor. More...
 
 CombinatoricGroup ()
 Empty constructor.
 
virtual void Clear ()
 Clears CombinatoricGroup of all connections to other objects.
 
virtual void AddFrame (RestFrame &frame)
 Adds a frame (RestFrame) to this combinatoric group. More...
 
virtual void AddJigsaw (Jigsaw &jigsaw)
 Adds a jigsaw (Jigsaw) to this combinatoric group. More...
 
virtual void RemoveFrame (RestFrame &frame)
 Removes a frame (RestFrame) from this combinatoric group. More...
 
virtual void SetNElementsForFrame (const RestFrame &frame, int N, bool exclusive_N=false)
 Assigns to frame a required min/max number of elements. More...
 
virtual void GetNElementsForFrame (const RestFrame &frame, int &N, bool &exclusive_N) const
 Tells number of elements required for this frame. More...
 
RFKey AddLabFrameFourVector (const TLorentzVector &V, const RFCharge &charge=RFCharge())
 Adds four-vector (TLorentzVector) in the lab frame. More...
 
RFKey AddLabFrameFourVector (const TLorentzVector &V, int charge)
 Adds four-vector (TLorentzVector) in the lab frame. More...
 
RFKey AddLabFrameFourVector (const TLorentzVector &V, int charge_num, int charge_den)
 Adds four-vector (TLorentzVector) in the lab frame. More...
 
RestFrame const & GetFrame (const RFKey &key) const
 Returns frame (RestFrame) that contains key More...
 
TLorentzVector GetLabFrameFourVector (const RFKey &key) const
 Returns lab frame's four-vector (TLorentzVector) of frame that contains key More...
 
int GetNElementsInFrame (const RestFrame &frame) const
 Returns number of elements in a frame. More...
 
- Public Member Functions inherited from RestFrames::Group
 Group (const std::string &sname, const std::string &stitle)
 Standard constructor. More...
 
 Group ()
 Empty constructor.
 
bool IsInvisibleGroup () const
 Is this an InvisibleGroup? (true/false)
 
bool IsCombinatoricGroup () const
 Is this a CombinatoricGroup? (true/false)
 
GroupType GetType () const
 Returns group (GroupType) type. More...
 
virtual void AddFrames (const RestFrameList &frames)
 Adds a list of RestFrames to this group. More...
 
void RemoveFrames ()
 Removes all frames (RestFrame) from this group. More...
 
void RemoveJigsaw (Jigsaw &jigsaw)
 Removes a jigsaw (Jigsaw) from this group. More...
 
void RemoveJigsaws ()
 Removes all jigsaws (Jigsaw) from current group. More...
 
bool ContainsFrame (const RestFrame &frame) const
 Is frame (RestFrame) contained in this group? (true/false) More...
 
int GetNFrames () const
 Returns the number of frames (RestFrame) contained in this group. More...
 
const RestFrameListGetListFrames () const
 Returns a list of frames (RestFrame) contained in this group. More...
 
const JigsawListGetListJigsaws () const
 Returns a list of jigsaws (Jigsaw) contained in this group. 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.
 
virtual std::string PrintString (LogType type) const
 String of 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 CombinatoricGroupEmpty ()
 Returns empty CombinatoricGroup. More...
 
- Static Public Member Functions inherited from RestFrames::Group
static GroupEmpty ()
 Returns empty Group. More...
 
- Static Public Member Functions inherited from RestFrames::RFBase
static RFBaseEmpty ()
 Returns empty RFBase. More...
 

Protected Member Functions

virtual bool ClearEvent ()
 
virtual bool AnalyzeEvent ()
 
virtual CombinatoricStateInitializeParentState ()
 
virtual CombinatoricStateGetParentState () const
 
virtual CombinatoricStateGetChildState (int i) const
 
- Protected Member Functions inherited from RestFrames::Group
virtual bool InitializeAnalysis ()
 
int GetNChildStates () const
 
StateGetChildState (const RestFrame &frame) const
 
StateList GetChildStates (const RestFrameList &frames) const
 
RestFrame const & GetLabFrame () 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 IsSoundBody () 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
 

Additional Inherited Members

- Protected Attributes inherited from RestFrames::Group
GroupType m_Type
 
Statem_GroupStatePtr
 
- Protected Attributes inherited from RestFrames::RFBase
RFLog m_Log
 
RFBasem_This
 
- Static Protected Attributes inherited from RestFrames::RFBase
static const TVector3 m_Empty3Vector
 
static const TLorentzVector m_Empty4Vector
 

Constructor & Destructor Documentation

◆ CombinatoricGroup()

RestFrames::CombinatoricGroup::CombinatoricGroup ( 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 42 of file CombinatoricGroup.cc.

Member Function Documentation

◆ AddFrame()

void RestFrames::CombinatoricGroup::AddFrame ( RestFrame frame)
virtual

Adds a frame (RestFrame) to this combinatoric group.

Parameters
frameRestFrame to be added
Warning
frame will not be added if it is not a ReconstructionFrame or a VisibleFrame type frame.

Reimplemented from RestFrames::Group.

Definition at line 65 of file CombinatoricGroup.cc.

◆ AddJigsaw()

void RestFrames::CombinatoricGroup::AddJigsaw ( Jigsaw jigsaw)
virtual

Adds a jigsaw (Jigsaw) to this combinatoric group.

Parameters
jigsawJigsaw to be added
Warning
jigsaw will not be added if it is not a CombinatoricJigsaw type jigsaw

Reimplemented from RestFrames::Group.

Definition at line 109 of file CombinatoricGroup.cc.

◆ AddLabFrameFourVector() [1/3]

RFKey RestFrames::CombinatoricGroup::AddLabFrameFourVector ( const TLorentzVector &  V,
const RFCharge charge = RFCharge() 
)

Adds four-vector (TLorentzVector) in the lab frame.

Parameters
VFour-vector to be added
chargeCharge of four-vector
Returns
Key of this four-vector

Definition at line 154 of file CombinatoricGroup.cc.

◆ AddLabFrameFourVector() [2/3]

RFKey RestFrames::CombinatoricGroup::AddLabFrameFourVector ( const TLorentzVector &  V,
int  charge 
)

Adds four-vector (TLorentzVector) in the lab frame.

Parameters
VFour-vector to be added
chargeCharge of four-vector

Method to add four-vector V as lab frame's four-vector

Returns
Key of this four-vector

Definition at line 169 of file CombinatoricGroup.cc.

◆ AddLabFrameFourVector() [3/3]

RFKey RestFrames::CombinatoricGroup::AddLabFrameFourVector ( const TLorentzVector &  V,
int  charge_num,
int  charge_den 
)

Adds four-vector (TLorentzVector) in the lab frame.

Parameters
VFour-vector to be added
charge_numCharge numerator
charge_denCharge denominator
Returns
Key of four-vector

Definition at line 174 of file CombinatoricGroup.cc.

◆ Empty()

CombinatoricGroup & RestFrames::CombinatoricGroup::Empty ( )
static

Returns empty CombinatoricGroup.

Returns
Empty CombinatoricGroup

Definition at line 53 of file CombinatoricGroup.cc.

◆ GetFrame()

RestFrame const & RestFrames::CombinatoricGroup::GetFrame ( const RFKey key) const

Returns frame (RestFrame) that contains key

Parameters
keyUnique id contained of a particular frame
Returns
Frame that contains key
Warning
If no frame is found containing key an empty frame is returned.

Definition at line 180 of file CombinatoricGroup.cc.

◆ GetLabFrameFourVector()

TLorentzVector RestFrames::CombinatoricGroup::GetLabFrameFourVector ( const RFKey key) const

Returns lab frame's four-vector (TLorentzVector) of frame that contains key

Parameters
keyUnique id of a particular frame
Returns
Lab frame's four-vector of frame that contains key
Warning
If no frame is found containing key an empty four-vector is returned.

Definition at line 188 of file CombinatoricGroup.cc.

◆ GetNElementsForFrame()

void RestFrames::CombinatoricGroup::GetNElementsForFrame ( const RestFrame frame,
int &  N,
bool &  exclusive_N 
) const
virtual

Tells number of elements required for this frame.

Parameters
frameRestFrame
NNumber of elements
exclusive_NDetermines if N is exclusive or inclusive

Method tells nunber of elements required for frame and if it is exclusive or inclusive. This method is usually just called by jigsaws

Definition at line 101 of file CombinatoricGroup.cc.

◆ GetNElementsInFrame()

int RestFrames::CombinatoricGroup::GetNElementsInFrame ( const RestFrame frame) const

Returns number of elements in a frame.

Parameters
frameFrame where elements are located
Returns
Number of elements in frame

Definition at line 197 of file CombinatoricGroup.cc.

◆ RemoveFrame()

void RestFrames::CombinatoricGroup::RemoveFrame ( RestFrame frame)
virtual

Removes a frame (RestFrame) from this combinatoric group.

Parameters
frameFrame to be removed
Warning
frame will not be removed if it is not contained in this group

Reimplemented from RestFrames::Group.

Definition at line 79 of file CombinatoricGroup.cc.

◆ SetNElementsForFrame()

void RestFrames::CombinatoricGroup::SetNElementsForFrame ( const RestFrame frame,
int  N,
bool  exclusive_N = false 
)
virtual

Assigns to frame a required min/max number of elements.

Parameters
frameRestFrame
NNumber of elements
exclusive_NDetermines if N is exclusive or inclusive

Method to set a required number of elements to frame and sets if N is exclusive or inclusive.

Definition at line 87 of file CombinatoricGroup.cc.

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

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