PandaRoot
TTracksCatCounters< T > Struct Template Reference

counters used for efficiency calculation More...

#include <PndCACountersBase.h>

Public Member Functions

 TTracksCatCounters ()
 
 TTracksCatCounters (int nCounters)
 
void AddCounter ()
 
void AddCounters (int nCounters)
 
TTracksCatCountersoperator+= (TTracksCatCounters &a)
 
TTracksCatCounters operator+ (TTracksCatCounters &a)
 
template<typename T2 >
TTracksCatCounters< double > operator/ (TTracksCatCounters< T2 > &a)
 
template<typename T2 >
TTracksCatCounters< T2 > operator/ (double a)
 
 TTracksCatCounters ()
 
 TTracksCatCounters (int nCounters)
 
void AddCounter ()
 
void AddCounters (int nCounters)
 
TTracksCatCountersoperator+= (TTracksCatCounters &a)
 
TTracksCatCounters operator+ (TTracksCatCounters &a)
 
template<typename T2 >
TTracksCatCounters< double > operator/ (TTracksCatCounters< T2 > &a)
 
template<typename T2 >
TTracksCatCounters< T2 > operator/ (double a)
 

Public Attributes

int NCounters
 
vector< T > counters
 

Friends

std::fstream & operator<< (std::fstream &strm, const TTracksCatCounters< T > &a)
 
std::ostream & operator<< (std::ostream &strm, const TTracksCatCounters< T > &a)
 
std::fstream & operator>> (std::fstream &strm, TTracksCatCounters< T > &a)
 
std::fstream & operator<< (std::fstream &strm, const TTracksCatCounters< T > &a)
 
std::ostream & operator<< (std::ostream &strm, const TTracksCatCounters< T > &a)
 
std::fstream & operator>> (std::fstream &strm, TTracksCatCounters< T > &a)
 

Detailed Description

template<typename T>
struct TTracksCatCounters< T >

counters used for efficiency calculation

Definition at line 27 of file PndCACountersBase.h.

Constructor & Destructor Documentation

◆ TTracksCatCounters() [1/4]

template<typename T>
TTracksCatCounters< T >::TTracksCatCounters ( )
inline

Definition at line 33 of file PndCACountersBase.h.

33 : NCounters(0), counters() { counters.clear(); };

◆ TTracksCatCounters() [2/4]

template<typename T>
TTracksCatCounters< T >::TTracksCatCounters ( int  nCounters)
inline

Definition at line 34 of file PndCACountersBase.h.

34 : NCounters(nCounters), counters() { counters.resize(NCounters, T(0)); };

◆ TTracksCatCounters() [3/4]

template<typename T>
TTracksCatCounters< T >::TTracksCatCounters ( )
inline

Definition at line 33 of file Counters.h.

33 : NCounters(0), counters() { counters.clear(); };

◆ TTracksCatCounters() [4/4]

template<typename T>
TTracksCatCounters< T >::TTracksCatCounters ( int  nCounters)
inline

Definition at line 34 of file Counters.h.

34 : NCounters(nCounters), counters() { counters.resize(NCounters, T(0)); };

Member Function Documentation

◆ AddCounter() [1/2]

template<typename T>
void TTracksCatCounters< T >::AddCounter ( )
inline

◆ AddCounter() [2/2]

template<typename T>
void TTracksCatCounters< T >::AddCounter ( )
inline

Definition at line 36 of file Counters.h.

37  {
38  NCounters++;
39  counters.push_back(T(0));
40  };

◆ AddCounters() [1/2]

template<typename T>
void TTracksCatCounters< T >::AddCounters ( int  nCounters)
inline

Definition at line 41 of file PndCACountersBase.h.

42  {
43  NCounters += nCounters;
44  counters.resize(NCounters, T(0));
45  };

◆ AddCounters() [2/2]

template<typename T>
void TTracksCatCounters< T >::AddCounters ( int  nCounters)
inline

Definition at line 41 of file Counters.h.

42  {
43  NCounters += nCounters;
44  counters.resize(NCounters, T(0));
45  };

◆ operator+() [1/2]

template<typename T>
TTracksCatCounters TTracksCatCounters< T >::operator+ ( TTracksCatCounters< T > &  a)
inline

Definition at line 59 of file PndCACountersBase.h.

60  {
61  TTracksCatCounters res = *this;
62  res += a;
63  return res;
64  };
counters used for efficiency calculation

◆ operator+() [2/2]

template<typename T>
TTracksCatCounters TTracksCatCounters< T >::operator+ ( TTracksCatCounters< T > &  a)
inline

Definition at line 59 of file Counters.h.

60  {
61  TTracksCatCounters res = *this;
62  res += a;
63  return res;
64  };
counters used for efficiency calculation

◆ operator+=() [1/2]

template<typename T>
TTracksCatCounters& TTracksCatCounters< T >::operator+= ( TTracksCatCounters< T > &  a)
inline

Definition at line 47 of file Counters.h.

48  {
49  if (NCounters != a.NCounters) {
50  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
51  } else {
52  for (int iC = 0; iC < NCounters; iC++) {
53  counters[iC] += a.counters[iC];
54  }
55  }
56  return *this;
57  };

◆ operator+=() [2/2]

template<typename T>
TTracksCatCounters& TTracksCatCounters< T >::operator+= ( TTracksCatCounters< T > &  a)
inline

Definition at line 47 of file PndCACountersBase.h.

Referenced by TEfficiencies::~TEfficiencies().

48  {
49  if (NCounters != a.NCounters) {
50  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
51  } else {
52  for (int iC = 0; iC < NCounters; iC++) {
53  counters[iC] += a.counters[iC];
54  }
55  }
56  return *this;
57  };

◆ operator/() [1/4]

template<typename T>
template<typename T2 >
TTracksCatCounters<double> TTracksCatCounters< T >::operator/ ( TTracksCatCounters< T2 > &  a)
inline

Definition at line 67 of file PndCACountersBase.h.

68  {
70  if (NCounters != a.NCounters) {
71  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
72  } else {
73  for (int iC = 0; iC < NCounters; iC++) {
74  b.counters[iC] = Div(counters[iC], a.counters[iC]);
75  }
76  }
77  return b;
78  }

◆ operator/() [2/4]

template<typename T>
template<typename T2 >
TTracksCatCounters<double> TTracksCatCounters< T >::operator/ ( TTracksCatCounters< T2 > &  a)
inline

Definition at line 67 of file Counters.h.

68  {
70  if (NCounters != a.NCounters) {
71  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
72  } else {
73  for (int iC = 0; iC < NCounters; iC++) {
74  b.counters[iC] = Div(counters[iC], a.counters[iC]);
75  }
76  }
77  return b;
78  }

◆ operator/() [3/4]

template<typename T>
template<typename T2 >
TTracksCatCounters<T2> TTracksCatCounters< T >::operator/ ( double  a)
inline

Definition at line 81 of file PndCACountersBase.h.

82  {
84  for (int iC = 0; iC < NCounters; iC++) {
85  b.counters[iC] = static_cast<T2>(Div(counters[iC], a));
86  }
87  return b;
88  }
counters used for efficiency calculation

◆ operator/() [4/4]

template<typename T>
template<typename T2 >
TTracksCatCounters<T2> TTracksCatCounters< T >::operator/ ( double  a)
inline

Definition at line 81 of file Counters.h.

82  {
84  for (int iC = 0; iC < NCounters; iC++) {
85  b.counters[iC] = static_cast<T2>(Div(counters[iC], a));
86  }
87  return b;
88  }
counters used for efficiency calculation

Friends And Related Function Documentation

◆ operator<< [1/4]

template<typename T>
std::fstream& operator<< ( std::fstream &  strm,
const TTracksCatCounters< T > &  a 
)
friend

Definition at line 90 of file PndCACountersBase.h.

91  {
92  strm << a.NCounters << " " << a.counters.size() << " ";
93  for (unsigned int iV = 0; iV < a.counters.size(); iV++)
94  strm << a.counters[iV] << " ";
95  strm << std::endl;
96  return strm;
97  }

◆ operator<< [2/4]

template<typename T>
std::fstream& operator<< ( std::fstream &  strm,
const TTracksCatCounters< T > &  a 
)
friend

Definition at line 90 of file Counters.h.

91  {
92  strm << a.NCounters << " " << a.counters.size() << " ";
93  for (unsigned int iV = 0; iV < a.counters.size(); iV++)
94  strm << a.counters[iV] << " ";
95  strm << std::endl;
96  return strm;
97  }

◆ operator<< [3/4]

template<typename T>
std::ostream& operator<< ( std::ostream &  strm,
const TTracksCatCounters< T > &  a 
)
friend

Definition at line 99 of file Counters.h.

100  {
101  strm << a.NCounters << " " << a.counters.size() << " ";
102  for (unsigned int iV = 0; iV < a.counters.size(); iV++)
103  strm << a.counters[iV] << " ";
104  strm << std::endl;
105  return strm;
106  }

◆ operator<< [4/4]

template<typename T>
std::ostream& operator<< ( std::ostream &  strm,
const TTracksCatCounters< T > &  a 
)
friend

Definition at line 99 of file PndCACountersBase.h.

100  {
101  strm << a.NCounters << " " << a.counters.size() << " ";
102  for (unsigned int iV = 0; iV < a.counters.size(); iV++)
103  strm << a.counters[iV] << " ";
104  strm << std::endl;
105  return strm;
106  }

◆ operator>> [1/2]

template<typename T>
std::fstream& operator>> ( std::fstream &  strm,
TTracksCatCounters< T > &  a 
)
friend

Definition at line 108 of file PndCACountersBase.h.

109  {
110  int tmp;
111  strm >> tmp;
112  a.NCounters = tmp;
113  strm >> tmp;
114  a.counters.resize(tmp, T(0));
115  for (int iV = 0; iV < tmp; iV++) {
116  T tmp1;
117  strm >> tmp1;
118  a.counters[iV] = tmp1;
119  }
120  return strm;
121  }

◆ operator>> [2/2]

template<typename T>
std::fstream& operator>> ( std::fstream &  strm,
TTracksCatCounters< T > &  a 
)
friend

Definition at line 108 of file Counters.h.

109  {
110  int tmp;
111  strm >> tmp;
112  a.NCounters = tmp;
113  strm >> tmp;
114  a.counters.resize(tmp, T(0));
115  for (int iV = 0; iV < tmp; iV++) {
116  T tmp1;
117  strm >> tmp1;
118  a.counters[iV] = tmp1;
119  }
120  return strm;
121  }

Member Data Documentation

◆ counters

◆ NCounters


The documentation for this struct was generated from the following files: