FairRoot/PandaRoot
Public Member Functions | Public Attributes | Private Member Functions | Friends | List of all members
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< Tcounters
 

Private Member Functions

double Div (double a, double b)
 
double Div (double a, double b)
 

Friends

std::fstream & operator<< (std::fstream &strm, const TTracksCatCounters< T > &a)
 
std::ostreamoperator<< (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::ostreamoperator<< (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 28 of file PndCACountersBase.h.

Constructor & Destructor Documentation

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

Definition at line 34 of file PndCACountersBase.h.

34 :NCounters(0),counters(){ counters.clear(); };
template<typename T>
TTracksCatCounters< T >::TTracksCatCounters ( int  nCounters)
inline

Definition at line 35 of file PndCACountersBase.h.

35 :NCounters(nCounters),counters(){ counters.resize( NCounters, T(0)); };
TTree * T
Definition: anaLmdReco.C:32
template<typename T>
TTracksCatCounters< T >::TTracksCatCounters ( )
inline

Definition at line 34 of file Counters.h.

34 :NCounters(0),counters(){ counters.clear(); };
template<typename T>
TTracksCatCounters< T >::TTracksCatCounters ( int  nCounters)
inline

Definition at line 35 of file Counters.h.

35 :NCounters(nCounters),counters(){ counters.resize( NCounters, T(0)); };
TTree * T
Definition: anaLmdReco.C:32

Member Function Documentation

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

Definition at line 37 of file Counters.h.

37 { NCounters++; counters.push_back(T(0)); };
TTree * T
Definition: anaLmdReco.C:32
template<typename T>
void TTracksCatCounters< T >::AddCounters ( int  nCounters)
inline

Definition at line 38 of file PndCACountersBase.h.

38 { NCounters += nCounters; counters.resize( NCounters, T(0)); };
TTree * T
Definition: anaLmdReco.C:32
template<typename T>
void TTracksCatCounters< T >::AddCounters ( int  nCounters)
inline

Definition at line 38 of file Counters.h.

38 { NCounters += nCounters; counters.resize( NCounters, T(0)); };
TTree * T
Definition: anaLmdReco.C:32
template<typename T>
double TTracksCatCounters< T >::Div ( double  a,
double  b 
)
inlineprivate

Definition at line 113 of file PndCACountersBase.h.

Referenced by TTracksCatCounters< int >::operator/().

113 {return (b > 0) ? a/b : -1.;};
TTree * b
Int_t a
Definition: anaLmdDigi.C:126
template<typename T>
double TTracksCatCounters< T >::Div ( double  a,
double  b 
)
inlineprivate

Definition at line 113 of file Counters.h.

113 {return (b > 0) ? a/b : -1.;};
TTree * b
Int_t a
Definition: anaLmdDigi.C:126
template<typename T>
TTracksCatCounters TTracksCatCounters< T >::operator+ ( TTracksCatCounters< T > &  a)
inline

Definition at line 52 of file PndCACountersBase.h.

52  {
53  TTracksCatCounters res = *this;
54  res += a;
55  return res;
56  };
Int_t res
Definition: anadigi.C:166
counters used for efficiency calculation
Int_t a
Definition: anaLmdDigi.C:126
template<typename T>
TTracksCatCounters TTracksCatCounters< T >::operator+ ( TTracksCatCounters< T > &  a)
inline

Definition at line 52 of file Counters.h.

52  {
53  TTracksCatCounters res = *this;
54  res += a;
55  return res;
56  };
Int_t res
Definition: anadigi.C:166
counters used for efficiency calculation
Int_t a
Definition: anaLmdDigi.C:126
template<typename T>
TTracksCatCounters& TTracksCatCounters< T >::operator+= ( TTracksCatCounters< T > &  a)
inline

Definition at line 40 of file PndCACountersBase.h.

40  {
41  if (NCounters != a.NCounters){
42  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
43  }
44  else{
45  for (int iC = 0; iC < NCounters; iC++){
46  counters[iC] += a.counters[iC];
47  }
48  }
49  return *this;
50  };
template<typename T>
TTracksCatCounters& TTracksCatCounters< T >::operator+= ( TTracksCatCounters< T > &  a)
inline

Definition at line 40 of file Counters.h.

40  {
41  if (NCounters != a.NCounters){
42  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
43  }
44  else{
45  for (int iC = 0; iC < NCounters; iC++){
46  counters[iC] += a.counters[iC];
47  }
48  }
49  return *this;
50  };
template<typename T>
template<typename T2 >
TTracksCatCounters<double> TTracksCatCounters< T >::operator/ ( TTracksCatCounters< T2 > &  a)
inline

Definition at line 59 of file PndCACountersBase.h.

59  {
61  if (NCounters != a.NCounters){
62  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
63  }
64  else{
65  for (int iC = 0; iC < NCounters; iC++){
66  b.counters[iC] = Div(counters[iC],a.counters[iC]);
67  }
68  }
69  return b;
70  }
TTree * b
double Div(double a, double b)
template<typename T>
template<typename T2 >
TTracksCatCounters<double> TTracksCatCounters< T >::operator/ ( TTracksCatCounters< T2 > &  a)
inline

Definition at line 59 of file Counters.h.

59  {
61  if (NCounters != a.NCounters){
62  cout << " TTracksCatCounters: Error. Addition of counters of different sizes: " << NCounters << " " << a.NCounters << endl;
63  }
64  else{
65  for (int iC = 0; iC < NCounters; iC++){
66  b.counters[iC] = Div(counters[iC],a.counters[iC]);
67  }
68  }
69  return b;
70  }
TTree * b
double Div(double a, double b)
template<typename T>
template<typename T2 >
TTracksCatCounters<T2> TTracksCatCounters< T >::operator/ ( double  a)
inline

Definition at line 73 of file Counters.h.

73  {
75  for (int iC = 0; iC < NCounters; iC++){
76  b.counters[iC] = static_cast<T2>( Div(counters[iC],a) );
77  }
78  return b;
79  }
TTree * b
counters used for efficiency calculation
Int_t a
Definition: anaLmdDigi.C:126
double Div(double a, double b)
template<typename T>
template<typename T2 >
TTracksCatCounters<T2> TTracksCatCounters< T >::operator/ ( double  a)
inline

Definition at line 73 of file PndCACountersBase.h.

73  {
75  for (int iC = 0; iC < NCounters; iC++){
76  b.counters[iC] = static_cast<T2>( Div(counters[iC],a) );
77  }
78  return b;
79  }
TTree * b
counters used for efficiency calculation
Int_t a
Definition: anaLmdDigi.C:126
double Div(double a, double b)

Friends And Related Function Documentation

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

Definition at line 81 of file PndCACountersBase.h.

81  {
82  strm << a.NCounters << " " << a.counters.size() << " ";
83  for(unsigned int iV=0; iV<a.counters.size(); iV++)
84  strm << a.counters[iV] << " ";
85  strm << std::endl;
86  return strm;
87  }
template<typename T>
std::fstream& operator<< ( std::fstream &  strm,
const TTracksCatCounters< T > &  a 
)
friend

Definition at line 81 of file Counters.h.

81  {
82  strm << a.NCounters << " " << a.counters.size() << " ";
83  for(unsigned int iV=0; iV<a.counters.size(); iV++)
84  strm << a.counters[iV] << " ";
85  strm << std::endl;
86  return strm;
87  }
template<typename T>
std::ostream& operator<< ( std::ostream strm,
const TTracksCatCounters< T > &  a 
)
friend

Definition at line 89 of file Counters.h.

89  {
90  strm << a.NCounters << " " << a.counters.size() << " ";
91  for(unsigned int iV=0; iV<a.counters.size(); iV++)
92  strm << a.counters[iV] << " ";
93  strm << std::endl;
94  return strm;
95  }
template<typename T>
std::ostream& operator<< ( std::ostream strm,
const TTracksCatCounters< T > &  a 
)
friend

Definition at line 89 of file PndCACountersBase.h.

89  {
90  strm << a.NCounters << " " << a.counters.size() << " ";
91  for(unsigned int iV=0; iV<a.counters.size(); iV++)
92  strm << a.counters[iV] << " ";
93  strm << std::endl;
94  return strm;
95  }
template<typename T>
std::fstream& operator>> ( std::fstream &  strm,
TTracksCatCounters< T > &  a 
)
friend

Definition at line 97 of file PndCACountersBase.h.

97  {
98  int tmp;
99  strm >> tmp;
100  a.NCounters = tmp;
101  strm >> tmp;
102  a.counters.resize(tmp,T(0));
103  for(int iV=0; iV<tmp; iV++)
104  {
105  T tmp1;
106  strm >> tmp1;
107  a.counters[iV] = tmp1;
108  }
109  return strm;
110  }
TTree * T
Definition: anaLmdReco.C:32
template<typename T>
std::fstream& operator>> ( std::fstream &  strm,
TTracksCatCounters< T > &  a 
)
friend

Definition at line 97 of file Counters.h.

97  {
98  int tmp;
99  strm >> tmp;
100  a.NCounters = tmp;
101  strm >> tmp;
102  a.counters.resize(tmp,T(0));
103  for(int iV=0; iV<tmp; iV++)
104  {
105  T tmp1;
106  strm >> tmp1;
107  a.counters[iV] = tmp1;
108  }
109  return strm;
110  }
TTree * T
Definition: anaLmdReco.C:32

Member Data Documentation

template<typename T>
vector< T > TTracksCatCounters< T >::counters
template<typename T>
int TTracksCatCounters< T >::NCounters

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