Belle II Software development
|
Class to calculate the Harmonic moments up to order 8 with respect to a given axis. More...
#include <HarmonicMoments.h>
Public Member Functions | |
HarmonicMoments () | |
Default constructor. | |
HarmonicMoments (const std::vector< ROOT::Math::XYZVector > &momenta, const ROOT::Math::XYZVector &axis) | |
Constructor. | |
~HarmonicMoments () | |
Default destructor. | |
void | setMomenta (const std::vector< ROOT::Math::XYZVector > &momenta) |
Sets the list of momenta, overwriting whatever list has been set before. | |
void | setAxis (ROOT::Math::XYZVector axis) |
Sets the reference axis. | |
void | calculateBasicMoments () |
Calculates the moments up to order 4. | |
void | calculateAllMoments () |
Calculates the moments up to order 8. | |
double | getMoment (short i, double sqrts) const |
Returns the moment of order i. | |
Private Attributes | |
double | m_moment [9] = {0.} |
The harmonic moments. | |
std::vector< ROOT::Math::XYZVector > | m_momenta |
The list of particles. | |
ROOT::Math::XYZVector | m_axis |
The reference axis. | |
Class to calculate the Harmonic moments up to order 8 with respect to a given axis.
Since the most common user case is the calculation of the moments up to order 4, and the calculation of the momenta 5-8 takes much longer, two methods have been implemented. HarmonicMoments::calculateBasicMoments will calculate the moments up to 4, while HarmonicMoments::calculateAllMoments will perform the calculation up to order 8. The two options have been implemented in two separate methods instead of using an if condition simply to minimize the computing time.
Definition at line 28 of file HarmonicMoments.h.
|
inline |
Default constructor.
Definition at line 34 of file HarmonicMoments.h.
|
inline |
Constructor.
momenta | A vector of XYZVectors containing the 3-momenta to be used to the moments' calculation |
axis | The reference axis |
Definition at line 44 of file HarmonicMoments.h.
|
inline |
void calculateAllMoments | ( | ) |
Calculates the moments up to order 8.
The execution time of this function is significantly longer than calculateBasicMoments().
Definition at line 42 of file HarmonicMoments.cc.
void calculateBasicMoments | ( | ) |
Calculates the moments up to order 4.
Definition at line 16 of file HarmonicMoments.cc.
|
inline |
Returns the moment of order i.
i | the order (0-8) |
sqrts | the center of mass energy |
Definition at line 94 of file HarmonicMoments.h.
|
inline |
Sets the reference axis.
axis | The reference axis |
Definition at line 71 of file HarmonicMoments.h.
|
inline |
Sets the list of momenta, overwriting whatever list has been set before.
momenta | A vector of XYZVectors containing the 3-momenta to be used to the moments' calculation |
Definition at line 60 of file HarmonicMoments.h.
|
private |
The reference axis.
Definition at line 105 of file HarmonicMoments.h.
|
private |
The harmonic moments.
Definition at line 103 of file HarmonicMoments.h.
|
private |
The list of particles.
Definition at line 104 of file HarmonicMoments.h.