ATLAS Offline Software
Loading...
Searching...
No Matches
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
35
36
37// Athena includes
40
41// Calo includes
45
46#include <vector>
47
48// Forward declaration
49class CaloCell_ID;
50
51
53 : public extends<AthAlgTool,ICaloCellMakerTool, ICaloConstCellMakerTool>
54{
55 public:
56 using base_class::base_class;
57
58 virtual StatusCode initialize() override;
59 virtual StatusCode process (CaloCellContainer* theCellContainer,
60 const EventContext& ctx) const override;
61 virtual StatusCode process (CaloConstCellContainer* theCellContainer,
62 const EventContext& ctx) const override;
63
64
65private:
67 CaloConstCellContainer* destCont) const;
69 CaloConstCellContainer* destCont) const;
71 CaloConstCellContainer* destCont) const;
73 CaloConstCellContainer* destCont) const;
74
75
76 template <class CONTAINER>
78 CONTAINER* destCont) const;
79 template <class CONTAINER>
81 CONTAINER* destCont) const;
82
83 template <class CONTAINER>
85 CONTAINER* destCont) const;
86 template <class CONTAINER>
88 CONTAINER* destCont) const;
89
90 StatusCode dispatchCopy(const CaloCellContainer* srcCont,
91 CaloCellContainer* destCont) const;
92 StatusCode dispatchCopyConst(const CaloCellContainer* srcCont,
93 CaloConstCellContainer* destCont) const;
94
96 Gaudi::Property<bool> m_avoidDuplicates{this, "AvoidDuplicates", false};
97 Gaudi::Property<bool> m_isFindCellFast{this, "IsFindCellFast", false};
99 const CaloCell_ID* m_caloID = nullptr;
100
101 Gaudi::Property<std::vector<std::string> > m_acceptedSampleNames{this, "includeSamplings", {}};
102 std::vector<CaloCell_ID::SUBCALO> m_acceptedCalos;
103
104 // Calo cell hashes
105 std::vector<IdentifierHash> m_acceptedCellHashes;
106 std::vector<bool> m_cellsToBeCopied;
107};
108
109#endif /* CALOREC_CALOCELLFASTCOPYTOOL_H_ */
Operate on pointers to const CaloCell.
Container class for CaloCell.
Concrete tool for coping Calo cells.
Gaudi::Property< bool > m_avoidDuplicates
Gaudi::Property< std::vector< std::string > > m_acceptedSampleNames
StatusCode viewNotAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
StatusCode cloneAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
StatusCode dispatchCopy(const CaloCellContainer *srcCont, CaloCellContainer *destCont) const
std::vector< bool > m_cellsToBeCopied
const CaloCell_ID * m_caloID
Pointer to CaloID helper.
std::vector< CaloCell_ID::SUBCALO > m_acceptedCalos
StatusCode dispatchCopyConst(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
virtual StatusCode initialize() override
StatusCode cloneNotAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
std::vector< IdentifierHash > m_acceptedCellHashes
SG::ReadHandleKey< CaloCellContainer > m_srcCellContainerKey
StatusCode viewAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
StatusCode viewNotAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
StatusCode cloneAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
StatusCode cloneNotAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Gaudi::Property< bool > m_isFindCellFast
StatusCode viewAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
CaloCellContainer that can accept const cell pointers.
This is a "hash" representation of an Identifier.
Property holding a SG store/key/clid from which a ReadHandle is made.
const std::string process