RestFrames
v1.0.1
RestFrames HEP Event Analysis Software Library
|
Go to the documentation of this file.
30 #ifndef CombinatoricJigsaw_HH
31 #define CombinatoricJigsaw_HH
38 namespace RestFrames {
50 const std::string& stitle,
51 int Ncomb,
int Nobject);
202 virtual bool IsSoundBody()
const;
205 virtual bool InitializeAnalysis();
207 virtual bool InitializeCombinatoric();
208 virtual bool LoopCombinatoric();
210 virtual bool EvaluateMetric(
double& metric)
const = 0;
212 virtual bool AnalyzeEvent();
214 int GetNInputStates()
const;
217 int GetNinputForChild(
int i = 0)
const;
218 bool IsNinputExclForChild(
int i = 0)
const;
220 bool IsChargeSetForChild(
int i = 0)
const;
221 RFCharge GetChargeForChild(
int i = 0)
const;
222 bool IsChargeSetForObject(
int i = 0)
const;
223 RFCharge GetChargeForObject(
int i = 0)
const;
233 bool ExecuteDependancyJigsaws();
235 bool IsTransverse()
const;
236 const TVector3& GetTransverseAxis()
const;
245 bool m_NExclusiveTOT;
246 std::vector<int> m_NForChild;
247 std::vector<int> m_NExclusive;
248 mutable std::map<int, RFCharge> m_ChargeForChild;
249 mutable std::map<int, RFCharge> m_ChargeForObject;
251 bool m_SetTransverse;
static Group & Empty()
Returns empty Group.
abstract base class for all Frame objects
abstract base class for all Group objects
void SetTransverse(bool tran=true, const TVector3 &axis=RestFrame::GetAxis())
Sets transverse momentum.
void SetObjectCharge(const RFCharge &charge, int i)
Sets charge of ith object frame.
static CombinatoricJigsaw & Empty()
Returns empty CombinatoricJigsaw.
void AddCombFrames(const ConstRestFrameList &frames, int i=0)
Adds a list of frames (RestFrame) to this jigsaw.
virtual void AddCombFrame(const RestFrame &frame, int i=0)
Adds a frame (RestFrame) to this jigsaw.
CombinatoricJigsaw()
Empty constructor.
virtual CombinatoricGroup & GetGroup() const
Returns group (Group) associated with this jigsaw.
void AddObjectFrames(const ConstRestFrameList &frames, int i=0)
Adds a frame to this jigsaw.
virtual void Clear()
Clears CombinatoricJigsaw from all connections to other objects.
static State & Empty()
Returns empty state.
virtual void AddObjectFrame(const RestFrame &frame, int i=0)
Adds a frame to this jigsaw.
static TVector3 const & GetAxis()
Retrieve axis which defines transverse plane.
virtual void SetGroup(Group &group=Group::Empty())
Sets group (Group) to current jigsaw.
void UnsetObjectCharge(int i)
Unsets charge of the ith object frame.
void UnsetCombCharge(int i)
Unsets charge of the ith combinatoric frame.
abstract base class for all Jigsaw objects
Abstract base class for all State objects.
void SetCombCharge(const RFCharge &charge, int i)
Sets charge of ith combinatoric frame.