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