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

#include <HistoryContainer.h>

Collaboration diagram for LArSamples::HistoryContainer:

Public Member Functions

 HistoryContainer (CellInfo *cellInfo=0)
 Constructor (takes ownership of LArCellInfo object)
 HistoryContainer (const HistoryContainer &other)
virtual ~HistoryContainer ()
 Destructor.
unsigned int nDataContainers () const
const DataContainerdataContainer (unsigned int i) const
const CellInfocellInfo () const
void add (const DataContainer *data)
 append data (takes ownership)
bool isValid () const
double footprint () const

Private Member Functions

CellInfocell_info () const
HistoryContaineroperator= (const HistoryContainer &)

Private Attributes

std::vector< const DataContainer * > m_data
std::unique_ptr< CellInfom_cellInfo

Friends

class ::LArShapeDumper
class D3PDConverter

Detailed Description

Definition at line 29 of file HistoryContainer.h.

Constructor & Destructor Documentation

◆ HistoryContainer() [1/2]

HistoryContainer::HistoryContainer ( CellInfo * cellInfo = 0)

Constructor (takes ownership of LArCellInfo object)

Definition at line 18 of file HistoryContainer.cxx.

20{
21 ClassCounts::incrementInstanceCount("HistoryContainer");
22}
std::unique_ptr< CellInfo > m_cellInfo
const CellInfo * cellInfo() const

◆ HistoryContainer() [2/2]

HistoryContainer::HistoryContainer ( const HistoryContainer & other)

Definition at line 24 of file HistoryContainer.cxx.

25 : m_data(other.m_data)
26{
27 ClassCounts::incrementInstanceCount("HistoryContainer");
28 if (other.m_cellInfo) m_cellInfo = std::make_unique<CellInfo>(*other.m_cellInfo);
29}
std::vector< const DataContainer * > m_data

◆ ~HistoryContainer()

HistoryContainer::~HistoryContainer ( )
virtual

Destructor.

Definition at line 32 of file HistoryContainer.cxx.

33{
34 ClassCounts::decrementInstanceCount("HistoryContainer");
35 for (const DataContainer* data : m_data)
36 delete data;
37}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11

Member Function Documentation

◆ add()

void LArSamples::HistoryContainer::add ( const DataContainer * data)
inline

append data (takes ownership)

Definition at line 46 of file HistoryContainer.h.

46{ m_data.push_back(data); }

◆ cell_info()

CellInfo * LArSamples::HistoryContainer::cell_info ( ) const
inlineprivate

Definition at line 57 of file HistoryContainer.h.

57{ return m_cellInfo.get(); }

◆ cellInfo()

const CellInfo * LArSamples::HistoryContainer::cellInfo ( ) const
inline

Definition at line 43 of file HistoryContainer.h.

43{ return m_cellInfo.get(); }

◆ dataContainer()

const DataContainer * LArSamples::HistoryContainer::dataContainer ( unsigned int i) const
inline

Definition at line 41 of file HistoryContainer.h.

41{ return m_data[i]; }

◆ footprint()

double HistoryContainer::footprint ( ) const

Definition at line 40 of file HistoryContainer.cxx.

41{
42 double fp = sizeof(*this);
43 if (m_cellInfo) fp += m_cellInfo->footprint();
44
45 for (unsigned int i = 0; i < nDataContainers(); i++)
46 fp += dataContainer(i)->footprint();
47
48 return fp;
49}
unsigned int nDataContainers() const
const DataContainer * dataContainer(unsigned int i) const

◆ isValid()

bool HistoryContainer::isValid ( ) const

Definition at line 52 of file HistoryContainer.cxx.

53{
54 if (!m_cellInfo || !m_cellInfo->isValid()) return false;
55 if (nDataContainers() == 0) return false;
56
57 for (const DataContainer* data : m_data) {
58 if (!data->isValid()) return false;
59 }
60
61 return true;
62}

◆ nDataContainers()

unsigned int LArSamples::HistoryContainer::nDataContainers ( ) const
inline

Definition at line 40 of file HistoryContainer.h.

40{ return m_data.size(); }

◆ operator=()

HistoryContainer & LArSamples::HistoryContainer::operator= ( const HistoryContainer & )
private

◆ ::LArShapeDumper

friend class ::LArShapeDumper
friend

Definition at line 52 of file HistoryContainer.h.

◆ D3PDConverter

friend class D3PDConverter
friend

Definition at line 53 of file HistoryContainer.h.

Member Data Documentation

◆ m_cellInfo

std::unique_ptr<CellInfo> LArSamples::HistoryContainer::m_cellInfo
private

Definition at line 60 of file HistoryContainer.h.

◆ m_data

std::vector<const DataContainer*> LArSamples::HistoryContainer::m_data
private

Definition at line 59 of file HistoryContainer.h.


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