BmnRoot
Loading...
Searching...
No Matches
BmnUtils.h
Go to the documentation of this file.
1#ifndef BMNUTILS_H_
2#define BMNUTILS_H_
3
4class TCanvas;
5
6#include <vector>
7#include <string>
8#include <sstream>
9#include <iostream>
10
11using std::string;
12using std::vector;
13
14namespace lit
15{
16
17template <class T>
18string ToString(
19 const T& value)
20{
21 std::stringstream ss;
22 ss << (T)value;
23 return ss.str();
24}
25
26template <class T>
27string NumberToString(
28 const T& value, int precision = 1)
29{
30 // First determine number of digits in float
31 string digis = ToString<int>(value);
32 int ndigis = digis.size();
33
34 std::stringstream ss;
35 ss.precision(ndigis + precision);
36 ss << value;
37 return ss.str();
38}
39
40/* Returns -1 if x<0, +1 if x>0, 0 if x==0 */
41template <class T>
42int Sign(
43 const T& x)
44{
45 static const T ZERO = 0;
46 return (x > ZERO) ? 1 : ((x < ZERO) ? -1 : 0);
47}
48
50 TCanvas* c,
51 const std::string& dir);
52
53string FindAndReplace(
54 const string& name,
55 const string& oldSubstr,
56 const string& newSubstr);
57
58vector<string> Split(
59 const string& name,
60 char delimiter);
61}
62
63#endif /* BmnUTILS_H_ */
string FindAndReplace(const string &name, const string &oldSubstr, const string &newSubstr)
Definition BmnUtils.cxx:20
int Sign(const T &x)
Definition BmnUtils.h:42
void SaveCanvasAsImage(TCanvas *c, const std::string &dir)
Definition BmnUtils.cxx:9
string ToString(const T &value)
Definition BmnUtils.h:18
vector< string > Split(const string &name, char delimiter)
Definition BmnUtils.cxx:27
string NumberToString(const T &value, int precision=1)
Definition BmnUtils.h:27