GamR  0.0.0
GammaROOT
Loading...
Searching...
No Matches
Utilities.hh
Go to the documentation of this file.
1/* General computational utility functions */
2/* Tim Gray - timothy.gray@anu.edu.au */
3
4#ifndef GAMR_UTILS_UTILITIES_HH
5#define GAMR_UTILS_UTILITIES_HH
6
7#include <string>
8#include <fstream>
9#include <complex>
10
11#include <TCanvas.h>
12#include <TH1.h>
13#include <TH2.h>
14#include <TGraph.h>
15
16namespace GamR {
21
25 namespace Utils {
26 double Fac10(int n);
27 //void GetClick(TVirtualPad *canvas);
28
29 class Clicker {
30 public:
31 void GetClick(Int_t,Int_t,Int_t,TObject*);
32 void GetDrawClick(Int_t,Int_t,Int_t,TObject*);
33 int GetClicks(TVirtualPad *canvas, int n, std::vector<std::string> &messages, int draw=0, int print=0);
34 int px, py;
35 double cx, cy;
36 bool waiting=false;
37 TGraph *line;
38 std::vector<double> xs;
39 std::vector<double> ys;
40 };
41
42 TH1D *GetHist1D(TVirtualPad *canvas);
43 std::vector<TH1D*> GetHists1D(TVirtualPad *canvas);
44 TH2D *GetHist2D(TVirtualPad *canvas);
45 int wrresult(char *out, float value, float err, int minlen);
46 std::string wrresult(double value, double err);
47 // Routine to convert a C++ string into a fortran character array. Don't forget to delete memory after use.
48 char *c_to_f_str(std::string strin);
49 //This computes the Simpson's-rule integral cross an array of values
50 double Simps(double *y, int n, double dx);
51 //This computes the Simpson's-rule integral across an array of tensors
52 std::complex<double> **Simps(std::complex<double> ***rho, int n, double dx);
53 std::string getline(std::ifstream &f);
54 int catcherr(std::string inp, double &val, bool require_positive = true);
55 int catcherr(std::string inp, float &val, bool require_positive = true);
56 int catcherr(std::string inp, int &val, bool require_positive = true);
57 int GetInput(std::string prompt, double &val, bool require_positive = true);
58 int GetInput(std::string prompt, float &val, bool require_positive = true);
59 int GetInput(std::string prompt, int &val, bool require_positive = true);
60 int GetNPads(TVirtualPad *pad);
61
62 } // namespace Utils
64} // namespace GamR
65
66#endif
std::vector< double > xs
Definition Utilities.hh:38
std::vector< double > ys
Definition Utilities.hh:39
void GetClick(Int_t, Int_t, Int_t, TObject *)
Definition Utilities.cc:66
void GetDrawClick(Int_t, Int_t, Int_t, TObject *)
Definition Utilities.cc:90
int GetClicks(TVirtualPad *canvas, int n, std::vector< std::string > &messages, int draw=0, int print=0)
Definition Utilities.cc:127
std::string getline(std::ifstream &f)
Definition Utilities.cc:330
int GetNPads(TVirtualPad *pad)
Definition Utilities.cc:411
TH1D * GetHist1D(TVirtualPad *canvas)
Definition Utilities.cc:182
char * c_to_f_str(std::string strin)
Definition Utilities.cc:284
double Fac10(int n)
Definition Utilities.cc:18
std::vector< TH1D * > GetHists1D(TVirtualPad *canvas)
Definition Utilities.cc:204
int wrresult(char *out, float value, float err, int minlen)
Definition Utilities.cc:241
double Simps(double *y, int n, double dx)
Definition Utilities.cc:301
int catcherr(std::string inp, double &val, bool require_positive)
Definition Utilities.cc:340
TH2D * GetHist2D(TVirtualPad *canvas)
Definition Utilities.cc:221
int GetInput(std::string prompt, double &val, bool require_positive)
Definition Utilities.cc:379
Definition Gain.cc:19