37 #include <TLorentzVector.h>
45 static const double RF_tol = 1e-6;
63 RFBase(
const std::string& sname,
const std::string& stitle,
int key);
118 void Print(LogType type)
const;
121 virtual std::string
PrintString(LogType type)
const;
128 bool SetBody(
bool body)
const;
129 bool SetMind(
bool mind)
const;
130 bool SetSpirit(
bool spirit)
const;
132 virtual bool IsSoundBody()
const;
133 virtual bool IsSoundMind()
const;
134 virtual bool IsSoundSpirit()
const;
136 void UnSoundBody(
const std::string&
function)
const;
137 void UnSoundMind(
const std::string&
function)
const;
138 void UnSoundSpirit(
const std::string&
function)
const;
145 static const TVector3 m_Empty3Vector;
146 static const TLorentzVector m_Empty4Vector;
155 mutable bool m_Spirit;
157 std::vector<RFBase*> m_Owns;
161 static int m_BodyCount;
162 static int m_MindCount;
163 static int m_SpiritCount;
165 static int m_WarningTolerance;
168 double GetP(
double Mp,
double Mc1,
double Mc2);
171 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__)
172 # define RF_FUNCTION __PRETTY_FUNCTION__
173 #elif defined(__DMC__) && (__DMC__ >= 0x810)
174 # define RF_FUNCTION __PRETTY_FUNCTION__
175 #elif defined(__FUNCSIG__)
176 # define RF_FUNCTION __FUNCSIG__
177 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
178 # define RF_FUNCTION __FUNCTION__
179 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
180 # define RF_FUNCTION __FUNC__
181 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
182 # define RF_FUNCTION __func__
183 #elif defined(__cplusplus) && (__cplusplus >= 201103)
184 # define RF_FUNCTION __func__
186 # define RF_FUNCTION "(unknown)"
197 void SetWarningTolerance(
int NMAX = -1);
198 void TooManyBodies(
const RFBase& obj);
199 void TooManyMinds(
const RFBase& obj);
200 void TooManySpirits(
const RFBase& obj);
virtual std::string PrintString(LogType type) const
String of information associated with object.
Base class for all RestFrame package objects.
std::string GetName() const
Returns object name.
std::string GetTitle() const
Returns object title.
virtual void Clear()
Clears RFBase of all connections to other objects.
friend void SetWarningTolerance(int NMAX)
Set the tolerance for number of RestFrames warnings.
bool IsEmpty() const
Checks whether this is default (empty) instance of class.
RFKey GetKey() const
gets object identification key
void AddDependent(RFBase *dep)
pointer to RFBase object owned by this one
bool operator==(const RFKey &key) const
Tests whether key is the same as this.
bool IsSame(const RFKey &key) const
Tests whether key is the same as this.
bool operator!() const
Tests whether key is the same as this.
void Print(LogType type) const
Print information associated with object.
bool operator!=(const RFKey &key) const
Tests whether key is the same as this.