Go to the documentation of this file. 1 #ifndef ParticleFlowReco_PFRecHit_h
2 #define ParticleFlowReco_PFRecHit_h
12 #include "Math/GenVector/PositionVector3D.h"
46 unsigned int size()
const {
return e -
b; }
71 void addNeighbour(
short x,
short y,
short z,
unsigned int);
72 unsigned int getNeighbour(
short x,
short y,
short z)
const;
142 std::shared_ptr<const CaloCellGeometry>
caloCell_ =
nullptr;
CornersVec const & getCornersXYZ() const
rechit corners
unsigned int getNeighbour(short x, short y, short z) const
bool operator>=(const PFRecHit &rhs) const
comparison >= operator
Neighbours buildNeighbours(unsigned int n) const
float energy() const
rechit energy
~PFRecHit()=default
destructor
Neighbours neighbours8() const
bool operator<(const PFRecHit &rhs) const
comparison < operator
Neighbours neighbours() const
T perp2() const
Squared magnitude of transverse component.
CornersVec const & getCorners() const
Returns the corner points of this cell's volume.
bool operator<=(const PFRecHit &rhs) const
comparison <= operator
const std::vector< unsigned short > & neighbourInfos()
PFRecHit(std::shared_ptr< const CaloCellGeometry > caloCell, unsigned int detId, PFLayer::Layer layer, float energy, uint32_t flags=0)
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
unsigned int size() const
std::ostream & operator<<(std::ostream &out, const reco::PFRecHit &hit)
RepCorners const & getCornersREP() const
int depth() const
depth for segemntation
RepCorners REPPointVector
PFRecHit()
default constructor. Sets energy and position to zero
CaloCellGeometry const & caloCell() const
calo cell
void setEnergy(float energy)
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
void addNeighbour(short x, short y, short z, unsigned int)
float energy_
rechit energy
unsigned int neighbours4_
std::vector< unsigned short > neighbourInfos_
RepCorners const & getCornersREP() const
PFLayer::Layer layer_
rechit layer
const BasicVectorType & basicVector() const
float time() const
timing for cleaned hits
Neighbours neighbours4() const
unsigned detId() const
rechit detId
std::shared_ptr< const CaloCellGeometry > caloCell_
cell geometry
EZArrayFL< GlobalPoint > CornersVec
std::vector< unsigned int > neighbours_
indices to existing neighbours (1 common side)
unsigned int neighbours8_
std::array< RhoEtaPhi, k_cornerSize > RepCorners
bool operator>(const PFRecHit &rhs) const
comparison > operator
PFRecHit & operator=(const PFRecHit &other)=default
RhoEtaPhi const & repPos() const
unsigned int const * Pointer
PositionType const & position() const
rechit cell centre x, y, z
double pt2() const
rechit momentum transverse to the beam, squared.
Neighbours(Pointer ib, unsigned int n)
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
unsigned int detId_
cell detid
PFLayer::Layer layer() const
rechit layer
void setTime(double time)
RhoEtaPhi const & positionREP() const
void setFlags(uint32_t flags)
CaloCellGeometry::RepCorners RepCorners
BaseClass::BasicVectorType BasicVectorType