ATLAS Offline Software
HistoryContainer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
10 #include "TString.h"
11 #include "TArrayI.h"
12 #include <vector>
13 #include "AthenaKernel/CLASS_DEF.h"
15 
16 #ifndef LArSamples_HistoryContainer_H
17 #define LArSamples_HistoryContainer_H
18 
19 class LArShapeDumper;
20 
21 namespace LArSamples {
22 
23  class D3PDConverter;
24  class DataContainer;
25  class SimpleShape;
26  class CellInfo;
27  class OFC;
28 
30 
31  public:
32 
34  HistoryContainer(CellInfo* cellInfo = 0);
36 
38  virtual ~HistoryContainer();
39 
40  unsigned int nDataContainers() const { return m_data.size(); }
41  const DataContainer* dataContainer(unsigned int i) const { return m_data[i]; }
42 
43  const CellInfo* cellInfo() const { return m_cellInfo.get(); }
44 
46  void add(const DataContainer* data) { m_data.push_back(data); }
47 
48  bool isValid() const;
49 
50  double footprint() const;
51 
52  friend class ::LArShapeDumper;
53  friend class D3PDConverter;
54 
55  private:
56 
57  CellInfo* cell_info() const { return m_cellInfo.get(); }
58 
59  std::vector<const DataContainer*> m_data;
60  std::unique_ptr<CellInfo> m_cellInfo;
61 
62  HistoryContainer& operator= (const HistoryContainer&);
63  };
64 }
65 
67 
68 #endif
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
LArSamples::D3PDConverter
storage of the time histories of all the cells
Definition: D3PDConverter.h:23
m_data
std::vector< T > m_data
Definition: TrackTruthMatchingBaseAlg.cxx:660
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
LArSamples
Definition: AbsShape.h:24
isValid
bool isValid(const T &p)
Definition: AtlasPID.h:214
LArShapeDumper
Definition: LArShapeDumper.h:64
lumiFormat.i
int i
Definition: lumiFormat.py:92
CellInfo
Definition: TileMuonFitter.h:63
LArSamples::HistoryContainer::cell_info
CellInfo * cell_info() const
Definition: HistoryContainer.h:57
LArSamples::HistoryContainer::m_data
std::vector< const DataContainer * > m_data
Definition: HistoryContainer.h:59
LArSamples::CellInfo
Definition: CellInfo.h:31
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::HistoryContainer
Definition: HistoryContainer.h:29
LArSamples::HistoryContainer::add
void add(const DataContainer *data)
append data (takes ownership)
Definition: HistoryContainer.h:46
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
checker_macros.h
Define macros for attributes used to control the static checker.
CLASS_DEF.h
macros to associate a CLID to a type
LArSamples::HistoryContainer::nDataContainers
unsigned int nDataContainers() const
Definition: HistoryContainer.h:40