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 39 of file PndCACountersBase.h.

Constructor & Destructor Documentation

◆ TTracksCatCounters() [1/4]

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

Definition at line 45 of file PndCACountersBase.h.

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

◆ TTracksCatCounters() [2/4]

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

Definition at line 46 of file PndCACountersBase.h.

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

◆ TTracksCatCounters() [3/4]

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

Definition at line 45 of file Counters.h.

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

◆ TTracksCatCounters() [4/4]

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

Definition at line 46 of file Counters.h.

46 : 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 48 of file Counters.h.

49  {
50  NCounters++;
51  counters.push_back(T(0));
52  };

◆ AddCounters() [1/2]

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

Definition at line 53 of file PndCACountersBase.h.

54  {
55  NCounters += nCounters;
56  counters.resize(NCounters, T(0));
57  };

◆ AddCounters() [2/2]

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

Definition at line 53 of file Counters.h.

54  {
55  NCounters += nCounters;
56  counters.resize(NCounters, T(0));
57  };

◆ operator+() [1/2]

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

Definition at line 71 of file PndCACountersBase.h.

72  {
73  TTracksCatCounters res = *this;
74  res += a;
75  return res;
76  };
counters used for efficiency calculation

◆ operator+() [2/2]

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

Definition at line 71 of file Counters.h.

72  {
73  TTracksCatCounters res = *this;
74  res += a;
75  return res;
76  };
counters used for efficiency calculation

◆ operator+=() [1/2]

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

Definition at line 59 of file Counters.h.

60  {
61  if (NCounters != a.NCounters) {
62  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
63  } else {
64  for (int iC = 0; iC < NCounters; iC++) {
65  counters[iC] += a.counters[iC];
66  }
67  }
68  return *this;
69  };

◆ operator+=() [2/2]

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

Definition at line 59 of file PndCACountersBase.h.

Referenced by TEfficiencies::~TEfficiencies().

60  {
61  if (NCounters != a.NCounters) {
62  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
63  } else {
64  for (int iC = 0; iC < NCounters; iC++) {
65  counters[iC] += a.counters[iC];
66  }
67  }
68  return *this;
69  };

◆ operator/() [1/4]

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

Definition at line 79 of file PndCACountersBase.h.

80  {
82  if (NCounters != a.NCounters) {
83  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
84  } else {
85  for (int iC = 0; iC < NCounters; iC++) {
86  b.counters[iC] = Div(counters[iC], a.counters[iC]);
87  }
88  }
89  return b;
90  }

◆ operator/() [2/4]

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

Definition at line 79 of file Counters.h.

80  {
82  if (NCounters != a.NCounters) {
83  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
84  } else {
85  for (int iC = 0; iC < NCounters; iC++) {
86  b.counters[iC] = Div(counters[iC], a.counters[iC]);
87  }
88  }
89  return b;
90  }

◆ operator/() [3/4]

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

Definition at line 93 of file PndCACountersBase.h.

94  {
96  for (int iC = 0; iC < NCounters; iC++) {
97  b.counters[iC] = static_cast<T2>(Div(counters[iC], a));
98  }
99  return b;
100  }
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 93 of file Counters.h.

94  {
96  for (int iC = 0; iC < NCounters; iC++) {
97  b.counters[iC] = static_cast<T2>(Div(counters[iC], a));
98  }
99  return b;
100  }
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 102 of file PndCACountersBase.h.

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

◆ operator<< [2/4]

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

Definition at line 102 of file Counters.h.

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

◆ operator<< [3/4]

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

Definition at line 111 of file Counters.h.

112  {
113  strm << a.NCounters << " " << a.counters.size() << " ";
114  for (unsigned int iV = 0; iV < a.counters.size(); iV++)
115  strm << a.counters[iV] << " ";
116  strm << std::endl;
117  return strm;
118  }

◆ operator<< [4/4]

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

Definition at line 111 of file PndCACountersBase.h.

112  {
113  strm << a.NCounters << " " << a.counters.size() << " ";
114  for (unsigned int iV = 0; iV < a.counters.size(); iV++)
115  strm << a.counters[iV] << " ";
116  strm << std::endl;
117  return strm;
118  }

◆ operator>> [1/2]

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

Definition at line 120 of file PndCACountersBase.h.

121  {
122  int tmp;
123  strm >> tmp;
124  a.NCounters = tmp;
125  strm >> tmp;
126  a.counters.resize(tmp, T(0));
127  for (int iV = 0; iV < tmp; iV++) {
128  T tmp1;
129  strm >> tmp1;
130  a.counters[iV] = tmp1;
131  }
132  return strm;
133  }

◆ operator>> [2/2]

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

Definition at line 120 of file Counters.h.

121  {
122  int tmp;
123  strm >> tmp;
124  a.NCounters = tmp;
125  strm >> tmp;
126  a.counters.resize(tmp, T(0));
127  for (int iV = 0; iV < tmp; iV++) {
128  T tmp1;
129  strm >> tmp1;
130  a.counters[iV] = tmp1;
131  }
132  return strm;
133  }

Member Data Documentation

◆ counters

◆ NCounters


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