ATLAS Offline Software
CaloCellFastCopyTool.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 /*
8  * CaloCellFastCopyTool.h
9  *
10  * Created on: Oct 7, 2013
11  *
12  */
13 
14 #ifndef CALOREC_CALOCELLFASTCOPYTOOL_H_
15 #define CALOREC_CALOCELLFASTCOPYTOOL_H_
16 
37 // Athena includes
40 
41 // Calo includes
45 
46 #include <vector>
47 
48 // Forward declaration
49 class CaloCell_ID;
50 
51 
53  : public extends<AthAlgTool,ICaloCellMakerTool, ICaloConstCellMakerTool>
54 {
55  public:
56 
58  CaloCellFastCopyTool(const std::string& type,
59  const std::string& name,
60  const IInterface* parent);
61 
62  virtual StatusCode initialize() override;
63  virtual StatusCode process (CaloCellContainer* theCellContainer,
64  const EventContext& ctx) const override;
65  virtual StatusCode process (CaloConstCellContainer* theCellContainer,
66  const EventContext& ctx) const override;
67 
68 
69 private:
71  CaloConstCellContainer* destCont) const;
73  CaloConstCellContainer* destCont) const;
75  CaloConstCellContainer* destCont) const;
77  CaloConstCellContainer* destCont) const;
78 
79 
80  template <class CONTAINER>
82  CONTAINER* destCont) const;
83  template <class CONTAINER>
85  CONTAINER* destCont) const;
86 
87  template <class CONTAINER>
89  CONTAINER* destCont) const;
90  template <class CONTAINER>
92  CONTAINER* destCont) const;
93 
95  CaloCellContainer* destCont) const;
97  CaloConstCellContainer* destCont) const;
98 
104 
105  std::vector<std::string> m_acceptedSampleNames;
106  std::vector<CaloCell_ID::SUBCALO> m_acceptedCalos;
107 
108  // Calo cell hashes
109  std::vector<IdentifierHash> m_acceptedCellHashes;
110  std::vector<bool> m_cellsToBeCopied;
111 };
112 
113 
114 #endif /* CALOREC_CALOCELLFASTCOPYTOOL_H_ */
CaloCellFastCopyTool::m_acceptedCalos
std::vector< CaloCell_ID::SUBCALO > m_acceptedCalos
Definition: CaloCellFastCopyTool.h:106
CaloCellFastCopyTool::cloneAvoidingDuplicatesFindCellIsFast
StatusCode cloneAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Definition: CaloCellFastCopyTool.cxx:247
CaloCellFastCopyTool::m_isFindCellFast
bool m_isFindCellFast
Definition: CaloCellFastCopyTool.h:101
CaloCellFastCopyTool::m_acceptedCellHashes
std::vector< IdentifierHash > m_acceptedCellHashes
Definition: CaloCellFastCopyTool.h:109
CaloCellFastCopyTool::dispatchCopyConst
StatusCode dispatchCopyConst(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition: CaloCellFastCopyTool.cxx:352
CaloCellFastCopyTool::m_srcCellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_srcCellContainerKey
Definition: CaloCellFastCopyTool.h:99
ICaloConstCellMakerTool.h
Operate on pointers to const CaloCell.
CaloCellFastCopyTool::dispatchCopy
StatusCode dispatchCopy(const CaloCellContainer *srcCont, CaloCellContainer *destCont) const
Definition: CaloCellFastCopyTool.cxx:318
CaloCellFastCopyTool::m_hashMax
IdentifierHash m_hashMax
Definition: CaloCellFastCopyTool.h:102
SG::ReadHandleKey< CaloCellContainer >
CaloCellFastCopyTool::m_cellsToBeCopied
std::vector< bool > m_cellsToBeCopied
Definition: CaloCellFastCopyTool.h:110
CaloCell_ID.h
CaloCellFastCopyTool::m_caloID
const CaloCell_ID * m_caloID
Pointer to CaloID helper.
Definition: CaloCellFastCopyTool.h:103
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloCellFastCopyTool::viewAvoidingDuplicatesFindCellIsNotFast
StatusCode viewAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition: CaloCellFastCopyTool.cxx:204
CaloCellFastCopyTool::viewAvoidingDuplicatesFindCellIsFast
StatusCode viewAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition: CaloCellFastCopyTool.cxx:162
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
CaloCellFastCopyTool::initialize
virtual StatusCode initialize() override
Definition: CaloCellFastCopyTool.cxx:49
CaloCellFastCopyTool::cloneNotAvoidingDuplicatesFindCellIsNotFast
StatusCode cloneNotAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Definition: CaloCellFastCopyTool.cxx:273
CaloCellFastCopyTool::process
virtual StatusCode process(CaloCellContainer *theCellContainer, const EventContext &ctx) const override
Definition: CaloCellFastCopyTool.cxx:111
CaloCellFastCopyTool::cloneAvoidingDuplicatesFindCellIsNotFast
StatusCode cloneAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Definition: CaloCellFastCopyTool.cxx:293
CaloCellFastCopyTool::viewNotAvoidingDuplicatesFindCellIsNotFast
StatusCode viewNotAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition: CaloCellFastCopyTool.cxx:186
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IdentifierHash.h
CaloCellFastCopyTool::m_acceptedSampleNames
std::vector< std::string > m_acceptedSampleNames
Definition: CaloCellFastCopyTool.h:105
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
CaloCellFastCopyTool::viewNotAvoidingDuplicatesFindCellIsFast
StatusCode viewNotAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition: CaloCellFastCopyTool.cxx:146
ICaloCellMakerTool.h
CaloConstCellContainer
CaloCellContainer that can accept const cell pointers.
Definition: CaloConstCellContainer.h:45
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloCellFastCopyTool
Concrete tool for coping Calo cells.
Definition: CaloCellFastCopyTool.h:54
CaloCellFastCopyTool::cloneNotAvoidingDuplicatesFindCellIsFast
StatusCode cloneNotAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Definition: CaloCellFastCopyTool.cxx:230
IdentifierHash
Definition: IdentifierHash.h:38
CaloCellFastCopyTool::CaloCellFastCopyTool
CaloCellFastCopyTool(const std::string &type, const std::string &name, const IInterface *parent)
AthAlgTool constructor.
Definition: CaloCellFastCopyTool.cxx:30
CaloCellFastCopyTool::m_avoidDuplicates
bool m_avoidDuplicates
Definition: CaloCellFastCopyTool.h:100