GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TTransition.h
Go to the documentation of this file.
1#ifndef TTRANSITION_H
2#define TTRANSITION_H
3
4/** \addtogroup Fitting Fitting & Analysis
5 * @{
6 */
7
8#include <cstdio>
9
10#include "TClass.h"
11#include "TObject.h"
12
13/////////////////////////////////////////////////////////////////
14///
15/// \class TTransition
16///
17/// This Class contains the information about a nuclear
18/// transition. These transitions are a part of a TNucleus
19/// and are typically set within the TNucleus framework
20///
21/////////////////////////////////////////////////////////////////
22
23class TTransition : public TObject {
24 friend class TNucleus;
25
26public:
29 TTransition(const TTransition&) = default;
30 TTransition(TTransition&&) noexcept = default;
31
32 TTransition& operator=(const TTransition&) = default;
33 TTransition& operator=(TTransition&&) noexcept = default;
34
35 bool IsSortable() const override { return true; }
36 int Compare(const TObject* obj) const override;
37 int CompareIntensity(const TObject* obj) const;
38 int CompareEnergy(const TObject* obj) const;
39
40 void SetEnergy(const double& tmpenergy) { fEnergy = tmpenergy; }
41 void SetEnergyUncertainty(const double& tmperror) { fEngUncertainty = tmperror; }
42 void SetIntensity(const double& tmpintens) { fIntensity = tmpintens; }
43 void SetIntensityUncertainty(const double& tmpinterror) { fIntUncertainty = tmpinterror; }
44 void SetCompareIntensity(const bool& val) { fCompareIntensity = val; }
45
46 double GetEnergy() const { return fEnergy; }
47 double GetEnergyUncertainty() const { return fEngUncertainty; }
48 double GetIntensity() const { return fIntensity; }
49 double GetIntensityUncertainty() const { return fIntUncertainty; }
50
51 void Clear(Option_t* opt = "") override;
52 void Print(Option_t* opt = "") const override;
53
54 std::string PrintToString() const;
55
56 bool operator>(const TTransition& rhs) const { return GetEnergy() > rhs.GetEnergy(); }
57 bool operator<(const TTransition& rhs) const { return GetEnergy() < rhs.GetEnergy(); }
58
59private:
60 double fEnergy{0.}; ///< Energy of the transition
61 double fEngUncertainty{0.}; ///< Uncertainty in the energy of the transition
62 double fIntensity{0.}; ///< Intensity of the transition
63 double fIntUncertainty{0.}; ///< Uncertainty in the intensity
64 bool fCompareIntensity{true}; ///< Whether to sort by intensity or energy
65
66 /// \cond CLASSIMP
67 ClassDefOverride(TTransition, 0) // NOLINT(readability-else-after-return)
68 /// \endcond
69};
70/*! @} */
71#endif
double GetIntensityUncertainty() const
Definition TTransition.h:49
bool operator<(const TTransition &rhs) const
Definition TTransition.h:57
void Print(Option_t *opt="") const override
double fEngUncertainty
Uncertainty in the energy of the transition.
Definition TTransition.h:61
TTransition(TTransition &&) noexcept=default
double fIntUncertainty
Uncertainty in the intensity.
Definition TTransition.h:63
double GetIntensity() const
Definition TTransition.h:48
int CompareIntensity(const TObject *obj) const
double GetEnergyUncertainty() const
Definition TTransition.h:47
TTransition(const TTransition &)=default
int CompareEnergy(const TObject *obj) const
double fIntensity
Intensity of the transition.
Definition TTransition.h:62
bool operator>(const TTransition &rhs) const
Definition TTransition.h:56
int Compare(const TObject *obj) const override
double fEnergy
Energy of the transition.
Definition TTransition.h:60
double GetEnergy() const
Definition TTransition.h:46
bool fCompareIntensity
Whether to sort by intensity or energy.
Definition TTransition.h:64
void SetEnergyUncertainty(const double &tmperror)
Definition TTransition.h:41
void SetIntensity(const double &tmpintens)
Definition TTransition.h:42
void SetCompareIntensity(const bool &val)
Definition TTransition.h:44
void Clear(Option_t *opt="") override
bool IsSortable() const override
Definition TTransition.h:35
std::string PrintToString() const
void SetIntensityUncertainty(const double &tmpinterror)
Definition TTransition.h:43
void SetEnergy(const double &tmpenergy)
Definition TTransition.h:40