ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloRec
src
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
38
#include "
AthenaBaseComps/AthAlgTool.h
"
39
#include "
Identifier/IdentifierHash.h
"
40
41
// Calo includes
42
#include "
CaloInterface/ICaloCellMakerTool.h
"
43
#include "
CaloInterface/ICaloConstCellMakerTool.h
"
44
#include "
CaloIdentifier/CaloCell_ID.h
"
45
46
#include <vector>
47
48
// Forward declaration
49
class
CaloCell_ID
;
50
51
52
class
CaloCellFastCopyTool
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
65
private
:
66
StatusCode
viewNotAvoidingDuplicatesFindCellIsFast
(
const
CaloCellContainer
* srcCont,
67
CaloConstCellContainer
* destCont)
const
;
68
StatusCode
viewAvoidingDuplicatesFindCellIsFast
(
const
CaloCellContainer
* srcCont,
69
CaloConstCellContainer
* destCont)
const
;
70
StatusCode
viewNotAvoidingDuplicatesFindCellIsNotFast
(
const
CaloCellContainer
* srcCont,
71
CaloConstCellContainer
* destCont)
const
;
72
StatusCode
viewAvoidingDuplicatesFindCellIsNotFast
(
const
CaloCellContainer
* srcCont,
73
CaloConstCellContainer
* destCont)
const
;
74
75
76
template
<
class
CONTAINER>
77
StatusCode
cloneNotAvoidingDuplicatesFindCellIsFast
(
const
CaloCellContainer
* srcCont,
78
CONTAINER* destCont)
const
;
79
template
<
class
CONTAINER>
80
StatusCode
cloneAvoidingDuplicatesFindCellIsFast
(
const
CaloCellContainer
* srcCont,
81
CONTAINER* destCont)
const
;
82
83
template
<
class
CONTAINER>
84
StatusCode
cloneNotAvoidingDuplicatesFindCellIsNotFast
(
const
CaloCellContainer
* srcCont,
85
CONTAINER* destCont)
const
;
86
template
<
class
CONTAINER>
87
StatusCode
cloneAvoidingDuplicatesFindCellIsNotFast
(
const
CaloCellContainer
* srcCont,
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
95
SG::ReadHandleKey<CaloCellContainer>
m_srcCellContainerKey
{
this
,
"InputName"
,
"AllCalo"
};
96
Gaudi::Property<bool>
m_avoidDuplicates
{
this
,
"AvoidDuplicates"
,
false
};
97
Gaudi::Property<bool>
m_isFindCellFast
{
this
,
"IsFindCellFast"
,
false
};
98
IdentifierHash
m_hashMax
;
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_ */
AthAlgTool.h
CaloCell_ID.h
ICaloCellMakerTool.h
ICaloConstCellMakerTool.h
Operate on pointers to const CaloCell.
IdentifierHash.h
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
CaloCellFastCopyTool
Concrete tool for coping Calo cells.
Definition
CaloCellFastCopyTool.h:54
CaloCellFastCopyTool::m_avoidDuplicates
Gaudi::Property< bool > m_avoidDuplicates
Definition
CaloCellFastCopyTool.h:96
CaloCellFastCopyTool::m_acceptedSampleNames
Gaudi::Property< std::vector< std::string > > m_acceptedSampleNames
Definition
CaloCellFastCopyTool.h:101
CaloCellFastCopyTool::viewNotAvoidingDuplicatesFindCellIsNotFast
StatusCode viewNotAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition
CaloCellFastCopyTool.cxx:168
CaloCellFastCopyTool::cloneAvoidingDuplicatesFindCellIsNotFast
StatusCode cloneAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Definition
CaloCellFastCopyTool.cxx:275
CaloCellFastCopyTool::dispatchCopy
StatusCode dispatchCopy(const CaloCellContainer *srcCont, CaloCellContainer *destCont) const
Definition
CaloCellFastCopyTool.cxx:300
CaloCellFastCopyTool::m_cellsToBeCopied
std::vector< bool > m_cellsToBeCopied
Definition
CaloCellFastCopyTool.h:106
CaloCellFastCopyTool::m_caloID
const CaloCell_ID * m_caloID
Pointer to CaloID helper.
Definition
CaloCellFastCopyTool.h:99
CaloCellFastCopyTool::m_acceptedCalos
std::vector< CaloCell_ID::SUBCALO > m_acceptedCalos
Definition
CaloCellFastCopyTool.h:102
CaloCellFastCopyTool::dispatchCopyConst
StatusCode dispatchCopyConst(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition
CaloCellFastCopyTool.cxx:334
CaloCellFastCopyTool::initialize
virtual StatusCode initialize() override
Definition
CaloCellFastCopyTool.cxx:31
CaloCellFastCopyTool::cloneNotAvoidingDuplicatesFindCellIsNotFast
StatusCode cloneNotAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Definition
CaloCellFastCopyTool.cxx:255
CaloCellFastCopyTool::m_acceptedCellHashes
std::vector< IdentifierHash > m_acceptedCellHashes
Definition
CaloCellFastCopyTool.h:105
CaloCellFastCopyTool::m_srcCellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_srcCellContainerKey
Definition
CaloCellFastCopyTool.h:95
CaloCellFastCopyTool::viewAvoidingDuplicatesFindCellIsNotFast
StatusCode viewAvoidingDuplicatesFindCellIsNotFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition
CaloCellFastCopyTool.cxx:186
CaloCellFastCopyTool::viewNotAvoidingDuplicatesFindCellIsFast
StatusCode viewNotAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition
CaloCellFastCopyTool.cxx:128
CaloCellFastCopyTool::cloneAvoidingDuplicatesFindCellIsFast
StatusCode cloneAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Definition
CaloCellFastCopyTool.cxx:229
CaloCellFastCopyTool::cloneNotAvoidingDuplicatesFindCellIsFast
StatusCode cloneNotAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CONTAINER *destCont) const
Definition
CaloCellFastCopyTool.cxx:212
CaloCellFastCopyTool::m_hashMax
IdentifierHash m_hashMax
Definition
CaloCellFastCopyTool.h:98
CaloCellFastCopyTool::m_isFindCellFast
Gaudi::Property< bool > m_isFindCellFast
Definition
CaloCellFastCopyTool.h:97
CaloCellFastCopyTool::viewAvoidingDuplicatesFindCellIsFast
StatusCode viewAvoidingDuplicatesFindCellIsFast(const CaloCellContainer *srcCont, CaloConstCellContainer *destCont) const
Definition
CaloCellFastCopyTool.cxx:144
CaloCell_ID
Helper class for offline cell identifiers.
Definition
CaloCell_ID.h:34
CaloConstCellContainer
CaloCellContainer that can accept const cell pointers.
Definition
CaloConstCellContainer.h:45
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
process
const std::string process
Definition
fbtTestBasics.cxx:76
Generated on
for ATLAS Offline Software by
1.17.0