ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
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) More...
 
 HistoryContainer (const HistoryContainer &other)
 
virtual ~HistoryContainer ()
 Destructor. More...
 
unsigned int nDataContainers () const
 
const DataContainerdataContainer (unsigned int i) const
 
const CellInfocellInfo () const
 
void add (const DataContainer *data)
 append data (takes ownership) More...
 
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 }

◆ 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 }

◆ ~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 }

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 }

◆ 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

Friends And Related Function Documentation

◆ ::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:
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
LArSamples::HistoryContainer::dataContainer
const DataContainer * dataContainer(unsigned int i) const
Definition: HistoryContainer.h:41
LArSamples::HistoryContainer::m_cellInfo
std::unique_ptr< CellInfo > m_cellInfo
Definition: HistoryContainer.h:60
lumiFormat.i
int i
Definition: lumiFormat.py:92
trigmenu_modify_prescale_json.fp
fp
Definition: trigmenu_modify_prescale_json.py:53
LArSamples::ClassCounts::decrementInstanceCount
void decrementInstanceCount() const
Definition: LArCafJobs/LArCafJobs/ClassCounts.h:33
LArSamples::HistoryContainer::m_data
std::vector< const DataContainer * > m_data
Definition: HistoryContainer.h:59
LArSamples::ClassCounts::incrementInstanceCount
void incrementInstanceCount() const
Definition: LArCafJobs/LArCafJobs/ClassCounts.h:32
LArSamples::HistoryContainer::cellInfo
const CellInfo * cellInfo() const
Definition: HistoryContainer.h:43
LArSamples::DataContainer
Definition: DataContainer.h:25
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
LArSamples::DataContainer::footprint
double footprint() const
Definition: DataContainer.h:88
LArSamples::HistoryContainer::nDataContainers
unsigned int nDataContainers() const
Definition: HistoryContainer.h:40