Header file for vector operation, Regression and FindFitParameters functions.
More...
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
Go to the source code of this file.
|
double | PS (vector< double > U, vector< double > V) |
| Scalar product of 3D vectors U and V.
|
|
void | RotateVector (vector< double > &V, double phi, double theta=0, double psi=0) |
| Rotate a Vector clockwise. ??? why a shape member?
|
|
void | RotatePoint (double *P, double phi, double theta=0, double psi=0, double *center=nullptr) |
| Rotate a Point clockwise.??? why a shape member?
|
|
void | RotatePoint (vector< double > &P, double phi, double theta=0, double psi=0, double *center=nullptr) |
| Rotate a Point clockwise.??? why a shape member?
|
|
void | Regression (int N, const vector< double > &x, const vector< double > &y, const vector< double > &y_sdev, double &A, double &B, double &A_sdev, double &B_sdev, double &chi2) |
| Linear Regression function.
|
|
void | FindFitParameters (int N, const vector< double > &x, const vector< double > &y, const vector< double > &y_sdev, double &A, double &B) |
| Find Slope and Intersept of fit.
|
|
string | __macro_method_name__ (string x) |
| this is for METHOD_NAME macro, extracting method name from PRETTY_FUNCTION
|
|
string | wordwrap (string x, int w) |
| word-wrap a string
|
|
double | CylVol (double Radius, double Height) |
|
double | OnionRingVol (double Radius_a, double Radius_i, double Height) |
|
double | OnionRingVol (double Radius_a, double Radius_i, double Height_a, double Height_i) |
|
Header file for vector operation, Regression and FindFitParameters functions.
◆ __macro_method_name__()
string __macro_method_name__ |
( |
string |
x | ) |
|
this is for METHOD_NAME macro, extracting method name from PRETTY_FUNCTION
◆ CylVol()
double CylVol |
( |
double |
Radius, |
|
|
double |
Height |
|
) |
| |
◆ FindFitParameters()
void FindFitParameters |
( |
int |
N, |
|
|
const vector< double > & |
x, |
|
|
const vector< double > & |
y, |
|
|
const vector< double > & |
y_sdev, |
|
|
double & |
A, |
|
|
double & |
B |
|
) |
| |
Find Slope and Intersept of fit.
The method uses the Regression function.
- Author
- PTO
- Version
- 1.0
- Parameters
-
N | : Number of point to use for the regression |
x | : vector of X axis (only the N first are taken into account) |
y | : vector of Y axis value (only the N first are taken into account) |
y_sdev | : vector of Y axis error value (only the N first are taken into account). if size=0 no weights are used |
A | : the slope of the regression |
B | : the intersept of the regression |
◆ OnionRingVol() [1/2]
double OnionRingVol |
( |
double |
Radius_a, |
|
|
double |
Radius_i, |
|
|
double |
Height |
|
) |
| |
◆ OnionRingVol() [2/2]
double OnionRingVol |
( |
double |
Radius_a, |
|
|
double |
Radius_i, |
|
|
double |
Height_a, |
|
|
double |
Height_i |
|
) |
| |
◆ PS()
double PS |
( |
vector< double > |
U, |
|
|
vector< double > |
V |
|
) |
| |
Scalar product of 3D vectors U and V.
◆ Regression()
void Regression |
( |
int |
N, |
|
|
const vector< double > & |
x, |
|
|
const vector< double > & |
y, |
|
|
const vector< double > & |
y_sdev, |
|
|
double & |
A, |
|
|
double & |
B, |
|
|
double & |
A_sdev, |
|
|
double & |
B_sdev, |
|
|
double & |
chi2 |
|
) |
| |
Linear Regression function.
The method is taken from Numerical Recipes and converted in C++ form.
- Author
- PTO
- Version
- 1.0
- Parameters
-
N | : Number of point to use for the regression |
x | : vector of X axis (only the N first are taken into account) |
y | : vector of Y axis value (only the N first are taken into account) |
y_sdev | : vector of Y axis error value (only the N first are taken into account). if size=0 no weights are used |
A | : the slope of the regression |
B | : the intersept of the regression |
A_sdev | : the slope error of the regression |
B_sdev | : the slope intersept of the regression |
chi2 | the chi square |
◆ RotatePoint() [1/2]
void RotatePoint |
( |
double * |
P, |
|
|
double |
phi, |
|
|
double |
theta = 0 , |
|
|
double |
psi = 0 , |
|
|
double * |
center = nullptr |
|
) |
| |
Rotate a Point clockwise.??? why a shape member?
- Parameters
-
P | : 3D point |
phi | : angle around z axis |
theta | : angle around y axis |
psi | : arround x axis |
center | : the center of rotation (Default=origin) |
◆ RotatePoint() [2/2]
void RotatePoint |
( |
vector< double > & |
P, |
|
|
double |
phi, |
|
|
double |
theta = 0 , |
|
|
double |
psi = 0 , |
|
|
double * |
center = nullptr |
|
) |
| |
Rotate a Point clockwise.??? why a shape member?
- Parameters
-
P | : 3D point |
phi | : angle around z axis |
theta | : angle around y axis |
psi | : arround x axis |
center | : the center of rotation (Default=origin) |
◆ RotateVector()
void RotateVector |
( |
vector< double > & |
V, |
|
|
double |
phi, |
|
|
double |
theta = 0 , |
|
|
double |
psi = 0 |
|
) |
| |
Rotate a Vector clockwise. ??? why a shape member?
- Parameters
-
V | : 3D vector |
phi | : arround z axis |
theta | : arround y axis |
psi | : arround x axis |
◆ wordwrap()
string wordwrap |
( |
string |
x, |
|
|
int |
w |
|
) |
| |
word-wrap a string
- Parameters
-
x | : String to be wrapped |
w | : Maximum width |