RestFrames
v1.0.1
RestFrames HEP Event Analysis Software Library
|
Go to the documentation of this file.
35 namespace RestFrames {
42 const std::string& stitle) :
45 m_Type = kInvisibleGroup;
51 InvisibleGroup::~InvisibleGroup() {}
54 return InvisibleGroup::m_Empty;
75 std::string name =
GetName()+
"_parent";
81 InvisibleState& InvisibleGroup::GetParentState()
const {
83 return static_cast<InvisibleState&
>(*m_GroupStatePtr);
85 return InvisibleState::Empty();
88 InvisibleState& InvisibleGroup::GetChildState(
int i)
const {
89 if(!Group::GetChildState(i))
90 return InvisibleState::Empty();
92 return static_cast<InvisibleState&
>(Group::GetChildState(i));
95 bool InvisibleGroup::ClearEvent(){
98 return SetSpirit(
false);
99 m_Lab_P.SetPxPyPzE(0.,0.,0.,0.);
104 m_Lab_P.SetVectM(m_Lab_P.Vect(), std::max(0., M));
108 m_Lab_P.SetVectM(V.Vect(), std::max(0., V.M()));
112 m_Lab_P.SetVectM(V, m_Lab_P.M());
119 bool InvisibleGroup::AnalyzeEvent(){
121 UnSoundMind(RF_FUNCTION);
122 return SetSpirit(
false);
125 return SetSpirit(
true);
128 InvisibleGroup InvisibleGroup::m_Empty;
virtual void Clear()
Clears Group of all connections to other objects.
bool IsRecoFrame() const
Is this an ReconstructionFrame ? (yes/no)
abstract base class for all Frame objects
abstract base class for all Group objects
virtual void SetFourVector(const TLorentzVector &V)
Sets four-vector of this frame.
virtual void AddJigsaw(Jigsaw &jigsaw)
Adds a jigsaw (Jigsaw) to current group.
virtual void SetLabFrameFourVector(const TLorentzVector &V)
Sets lab frame's four-vector.
virtual TLorentzVector GetLabFrameFourVector() const
Returns lab frame's four-vector.
bool IsInvisibleJigsaw() const
Is invisible jigsaw? (true/false)
virtual void AddFrame(RestFrame &frame)
Adds a frame (RestFrame) to this group.
std::string GetName() const
Returns object name.
bool IsInvisibleFrame() const
Is this an InvisibleFrame ? (yes/no)
virtual void AddFrame(RestFrame &frame)
Adds a frame (RestFrame) to this invisible group.
virtual void Clear()
Clears InvisibleGroup from all connections to other objects.
virtual void SetLabFrameThreeVector(const TVector3 &V)
Sets lab frame's three-vector.
abstract base class for all Jigsaw objects
virtual void AddJigsaw(Jigsaw &jigsaw)
Adds a jigsaw (Jigsaw) to this invisible group.
InvisibleGroup()
Empty constructor.
void AddDependent(RFBase *dep)
pointer to RFBase object owned by this one
static InvisibleGroup & Empty()
Returns empty InvisibleGroup.
virtual void SetMass(double M)
Sets mass of four-vector.