ATLAS Offline Software
ParticleCellAssociation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef REC_PARTICLECELLASSOCIATION_H
6 #define REC_PARTICLECELLASSOCIATION_H
7 
10 #include <vector>
11 #include <algorithm>
12 
13 #include "CaloEvent/CaloCell.h"
15 
16 namespace Rec {
17 
19  class ParticleCellAssociation : public ParticleCaloAssociation<const CaloCell*> {
20  public:
22  typedef std::vector< std::pair<const CaloCell*,ParticleCellIntersection*> > CellIntersections;
23 
26  const CellIntersections&& intersections, const CaloCellContainer* container=0 );
27 
29  virtual ~ParticleCellAssociation();
30 
33 
36 
38  const CaloCellContainer* container() const;
39 
40  private:
44 
47 
50 
51  };
52 
54  auto pos = std::find_if( m_cellInteresections.begin(), m_cellInteresections.end(),
55  [&]( const std::pair<const CaloCell*,ParticleCellIntersection*>& entry ){
56  return entry.first == &cell;
57  });
58  if( pos != m_cellInteresections.end() ) return pos->second;
59  return 0;
60  }
61 
63  return m_container;
64  }
65 
66 }
67 
68 #endif
Rec::ParticleCellAssociation::m_container
const CaloCellContainer * m_container
pointer to the container
Definition: ParticleCellAssociation.h:49
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
Trk::CaloExtension
Tracking class to hold the extrapolation from a particle from the ID to the muon system (or the other...
Definition: CaloExtension.h:18
Rec::ParticleCellAssociation::m_cellInteresections
CellIntersections m_cellInteresections
list of intersected cells
Definition: ParticleCellAssociation.h:46
CaloCell.h
Rec::ParticleCellAssociation::container
const CaloCellContainer * container() const
access to container
Definition: ParticleCellAssociation.h:62
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:53
Rec::ParticleCellAssociation::~ParticleCellAssociation
virtual ~ParticleCellAssociation()
destructor
Definition: ParticleCellAssociation.cxx:18
Rec
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
Definition: FakeTrackBuilder.h:10
Rec::ParticleCaloAssociation< const CaloCell * >::caloExtension
const Trk::CaloExtension & caloExtension() const
return calo extension
Definition: ParticleCaloAssociation.h:73
Rec::ParticleCellIntersection
class storing information on the intersection of a track with a cell
Definition: ParticleCellIntersection.h:13
ParticleCellIntersection.h
Rec::ParticleCellAssociation::ParticleCellAssociation
ParticleCellAssociation(const Trk::CaloExtension *caloExtension, Data &&data, float coneSize, const CellIntersections &&intersections, const CaloCellContainer *container=0)
constructor
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
Rec::ParticleCaloAssociation
class storing calorimeter cell/cluster association with IParticle objects
Definition: ParticleCaloAssociation.h:16
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
ParticleCaloAssociation.h
Rec::ParticleCaloAssociation< const CaloCell * >::Data
std::vector< const CaloCell * > Data
typedef of Cell vector
Definition: ParticleCaloAssociation.h:19
Rec::ParticleCellAssociation::cellIntersections
const CellIntersections & cellIntersections() const
access to all intersected cells
Definition: ParticleCellAssociation.h:32
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
Rec::ParticleCellAssociation::operator=
const ParticleCellAssociation & operator=(const ParticleCellAssociation &)=delete
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:22
Rec::ParticleCellAssociation
class storing calorimeter cell association with IParticle objects
Definition: ParticleCellAssociation.h:19
xAOD::Iso::coneSize
float coneSize(IsolationConeSize type)
convert Isolation Size into cone size
Definition: IsolationHelpers.h:27
Rec::ParticleCaloAssociation< const CaloCell * >::data
const Data & data() const
return vector of associated objects
Definition: ParticleCaloAssociation.h:78