ATLAS Offline Software
Loading...
Searching...
No Matches
LArSamples::ClassCounts Class Reference

#include <ClassCounts.h>

Collaboration diagram for LArSamples::ClassCounts:

Public Member Functions

 ClassCounts (const TString &name)
 Constructor.
virtual ~ClassCounts ()
const TString & className () const
void incrementInstanceCount () const
void decrementInstanceCount () const
int instanceCount () const
 ClassCounts (const TString &name)
 Constructor.
virtual ~ClassCounts ()
const TString & className () const
void incrementInstanceCount () const
void decrementInstanceCount () const
int instanceCount () const

Static Public Member Functions

static std::map< TString, int > & counts ()
static void incrementInstanceCount (const TString &name)
static void decrementInstanceCount (const TString &name)
static int instanceCount (const TString &name)
static void printCountsTable ()
static std::map< TString, int > & counts ()
static void incrementInstanceCount (const TString &name)
static void decrementInstanceCount (const TString &name)
static int instanceCount (const TString &name)
static void printCountsTable ()

Private Attributes

TString m_className

Static Private Attributes

static std::map< TString, int > * m_counts = nullptr

Detailed Description

Definition at line 20 of file LArCafJobs/LArCafJobs/ClassCounts.h.

Constructor & Destructor Documentation

◆ ClassCounts() [1/2]

ClassCounts::ClassCounts ( const TString & name)

Constructor.

Definition at line 16 of file ClassCounts.cxx.

18{
19 counts()[className] = 0;
20}
static std::map< TString, int > & counts()

◆ ~ClassCounts() [1/2]

ClassCounts::~ClassCounts ( )
virtual

Definition at line 23 of file ClassCounts.cxx.

24{
25 m_counts->erase(className());
26 if (m_counts->empty()) {
27 delete m_counts;
28 m_counts = nullptr;
29 }
30}
static std::map< TString, int > * m_counts

◆ ClassCounts() [2/2]

LArSamples::ClassCounts::ClassCounts ( const TString & name)

Constructor.

◆ ~ClassCounts() [2/2]

virtual LArSamples::ClassCounts::~ClassCounts ( )
virtual

Member Function Documentation

◆ className() [1/2]

const TString & LArSamples::ClassCounts::className ( ) const
inline

Definition at line 29 of file LArCafJobs/LArCafJobs/ClassCounts.h.

29{ return m_className; }

◆ className() [2/2]

const TString & LArSamples::ClassCounts::className ( ) const
inline

Definition at line 28 of file LArSamplesMon/LArSamplesMon/ClassCounts.h.

28{ return m_className; }

◆ counts() [1/2]

std::map< TString, int > & ClassCounts::counts ( )
static

Definition at line 33 of file ClassCounts.cxx.

34{
35 if (!m_counts) m_counts = new std::map<TString, int>();
36 return *m_counts;
37}

◆ counts() [2/2]

std::map< TString, int > & LArSamples::ClassCounts::counts ( )
static

◆ decrementInstanceCount() [1/4]

void LArSamples::ClassCounts::decrementInstanceCount ( ) const
inline

◆ decrementInstanceCount() [2/4]

void LArSamples::ClassCounts::decrementInstanceCount ( ) const
inline

◆ decrementInstanceCount() [3/4]

void LArSamples::ClassCounts::decrementInstanceCount ( const TString & name)
inlinestatic

Definition at line 36 of file LArCafJobs/LArCafJobs/ClassCounts.h.

◆ decrementInstanceCount() [4/4]

void LArSamples::ClassCounts::decrementInstanceCount ( const TString & name)
inlinestatic

Definition at line 35 of file LArSamplesMon/LArSamplesMon/ClassCounts.h.

35{ counts()[name]--; }

◆ incrementInstanceCount() [1/4]

void LArSamples::ClassCounts::incrementInstanceCount ( ) const
inline

◆ incrementInstanceCount() [2/4]

void LArSamples::ClassCounts::incrementInstanceCount ( ) const
inline

◆ incrementInstanceCount() [3/4]

void LArSamples::ClassCounts::incrementInstanceCount ( const TString & name)
inlinestatic

Definition at line 35 of file LArCafJobs/LArCafJobs/ClassCounts.h.

35{ counts()[name]++; }

◆ incrementInstanceCount() [4/4]

void LArSamples::ClassCounts::incrementInstanceCount ( const TString & name)
inlinestatic

Definition at line 34 of file LArSamplesMon/LArSamplesMon/ClassCounts.h.

34{ counts()[name]++; }

◆ instanceCount() [1/4]

int LArSamples::ClassCounts::instanceCount ( ) const
inline

◆ instanceCount() [2/4]

int LArSamples::ClassCounts::instanceCount ( ) const
inline

Definition at line 37 of file LArSamplesMon/LArSamplesMon/ClassCounts.h.

37{ return instanceCount(className()); }

◆ instanceCount() [3/4]

int LArSamples::ClassCounts::instanceCount ( const TString & name)
inlinestatic

Definition at line 39 of file LArCafJobs/LArCafJobs/ClassCounts.h.

39{ return m_counts ? (*m_counts)[name] : 0; }

◆ instanceCount() [4/4]

int LArSamples::ClassCounts::instanceCount ( const TString & name)
inlinestatic

Definition at line 38 of file LArSamplesMon/LArSamplesMon/ClassCounts.h.

38{ return m_counts ? (*m_counts)[name] : 0; }

◆ printCountsTable() [1/2]

void ClassCounts::printCountsTable ( )
static

Definition at line 40 of file ClassCounts.cxx.

41{
42 cout << "Class instance counts : " << endl;
43 if (!m_counts) return;
44 for (const std::pair<const TString, int>& p : counts())
45 cout << Form("%20s : %-d", p.first.Data(), p.second) << endl;
46}

◆ printCountsTable() [2/2]

void LArSamples::ClassCounts::printCountsTable ( )
static

Member Data Documentation

◆ m_className

TString ClassCounts::m_className
private

Definition at line 45 of file LArCafJobs/LArCafJobs/ClassCounts.h.

◆ m_counts

std::map< TString, int > * ClassCounts::m_counts = nullptr
staticprivate

Definition at line 46 of file LArCafJobs/LArCafJobs/ClassCounts.h.


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