ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
RecoEvent
ParticleCaloExtension
ParticleCaloExtension
ParticleCellAssociation.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef REC_PARTICLECELLASSOCIATION_H
6
#define REC_PARTICLECELLASSOCIATION_H
7
8
#include "
ParticleCaloExtension/ParticleCaloAssociation.h
"
9
#include "
ParticleCaloExtension/ParticleCellIntersection.h
"
10
11
#include "
CaloEvent/CaloCell.h
"
12
#include "
CaloEvent/CaloCellContainer.h
"
13
14
#include <vector>
15
#include <algorithm>
16
17
namespace
Rec
{
18
20
class
ParticleCellAssociation
:
public
ParticleCaloAssociation
<const CaloCell*> {
21
public
:
23
typedef
std::vector< std::pair<const CaloCell*,ParticleCellIntersection*> >
CellIntersections
;
24
26
ParticleCellAssociation
(
const
Trk::CaloExtension
*
caloExtension
,
Data
&&
data
,
float
coneSize,
27
const
CellIntersections
&& intersections,
const
CaloCellContainer
*
container
=0 );
28
30
virtual
~ParticleCellAssociation
();
31
33
const
CellIntersections
&
cellIntersections
()
const
{
return
m_cellIntersections
; }
34
36
const
ParticleCellIntersection
*
cellIntersection
(
const
CaloCell
& cell )
const
;
37
39
const
CaloCellContainer
*
container
()
const
;
40
41
private
:
43
ParticleCellAssociation
(
const
ParticleCellAssociation
& ) =
delete
;
44
const
ParticleCellAssociation
&
operator=
(
const
ParticleCellAssociation
& ) =
delete
;
45
47
CellIntersections
m_cellIntersections
;
48
50
const
CaloCellContainer
*
m_container
;
51
52
};
53
54
inline
const
ParticleCellIntersection
*
ParticleCellAssociation::cellIntersection
(
const
CaloCell
& cell )
const
{
55
auto
pos = std::find_if(
m_cellIntersections
.begin(),
m_cellIntersections
.end(),
56
[&](
const
std::pair<const CaloCell*,ParticleCellIntersection*>& entry ){
57
return entry.first == &cell;
58
});
59
if
( pos !=
m_cellIntersections
.end() )
return
pos->second;
60
return
0;
61
}
62
63
inline
const
CaloCellContainer
*
ParticleCellAssociation::container
()
const
{
64
return
m_container
;
65
}
66
67
}
68
69
#endif
CaloCellContainer.h
CaloCell.h
ParticleCaloAssociation.h
ParticleCellIntersection.h
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
CaloCell
Data object for each calorimeter readout cell.
Definition
CaloCell.h:57
Rec::ParticleCaloAssociation< const CaloCell * >::caloExtension
const Trk::CaloExtension & caloExtension() const
Definition
ParticleCaloAssociation.h:73
Rec::ParticleCaloAssociation< const CaloCell * >::ParticleCaloAssociation
ParticleCaloAssociation(const Trk::CaloExtension *caloExtension, Data &&data, float coneSize)
Definition
ParticleCaloAssociation.h:89
Rec::ParticleCaloAssociation< const CaloCell * >::data
const Data & data() const
Definition
ParticleCaloAssociation.h:78
Rec::ParticleCaloAssociation< const CaloCell * >::Data
std::vector< const CaloCell * > Data
Definition
ParticleCaloAssociation.h:19
Rec::ParticleCellAssociation::ParticleCellAssociation
ParticleCellAssociation(const ParticleCellAssociation &)=delete
no copying nor deletion
Rec::ParticleCellAssociation::CellIntersections
std::vector< std::pair< const CaloCell *, ParticleCellIntersection * > > CellIntersections
typedef for vector of cell intersections
Definition
ParticleCellAssociation.h:23
Rec::ParticleCellAssociation::m_cellIntersections
CellIntersections m_cellIntersections
list of intersected cells
Definition
ParticleCellAssociation.h:47
Rec::ParticleCellAssociation::operator=
const ParticleCellAssociation & operator=(const ParticleCellAssociation &)=delete
Rec::ParticleCellAssociation::cellIntersections
const CellIntersections & cellIntersections() const
access to all intersected cells
Definition
ParticleCellAssociation.h:33
Rec::ParticleCellAssociation::container
const CaloCellContainer * container() const
access to container
Definition
ParticleCellAssociation.h:63
Rec::ParticleCellAssociation::m_container
const CaloCellContainer * m_container
pointer to the container
Definition
ParticleCellAssociation.h:50
Rec::ParticleCellAssociation::~ParticleCellAssociation
virtual ~ParticleCellAssociation()
destructor
Definition
ParticleCellAssociation.cxx:18
Rec::ParticleCellAssociation::ParticleCellAssociation
ParticleCellAssociation(const Trk::CaloExtension *caloExtension, Data &&data, float coneSize, const CellIntersections &&intersections, const CaloCellContainer *container=0)
constructor
Rec::ParticleCellAssociation::cellIntersection
const ParticleCellIntersection * cellIntersection(const CaloCell &cell) const
access to cell intersection of a give cell, returns zero if the cell was not intersected
Definition
ParticleCellAssociation.h:54
Rec::ParticleCellIntersection
class storing information on the intersection of a track with a cell
Definition
ParticleCellIntersection.h:13
Trk::CaloExtension
Tracking class to hold the extrapolation through calorimeter Layers Both the caloEntryLayerIntersecti...
Definition
TrkEvent/TrkCaloExtension/TrkCaloExtension/CaloExtension.h:19
Rec
namespace for combined reconstruction tools and interfaces
Definition
FakeTrackBuilder.h:10
Generated on
for ATLAS Offline Software by
1.17.0