1 #ifndef ParticleFlowReco_PFRecHit_h
2 #define ParticleFlowReco_PFRecHit_h
12 #include "Math/GenVector/PositionVector3D.h"
39 typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<Double32_t> >
REPPoint;
55 const std::vector< math::XYZPoint >& cornersxyz);
60 double posx,
double posy,
double posz,
61 double axisx,
double axisy,
double axisz);
97 void setNWCorner(
double posx,
double posy,
double posz );
98 void setSWCorner(
double posx,
double posy,
double posz );
99 void setSECorner(
double posx,
double posy,
double posz );
100 void setNECorner(
double posx,
double posy,
double posz );
142 void size(
double& deta,
double& dphi)
const;
217 void setCorner(
unsigned i,
double posx,
double posy,
double posz );
void setSECorner(double posx, double posy, double posz)
ROOT::Math::PositionVector3D< ROOT::Math::CylindricalEta3D< Double32_t > > REPPoint
std::vector< REPPoint > REPPointVector
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
friend std::ostream & operator<<(std::ostream &out, const reco::PFRecHit &hit)
void setNECorner(double posx, double posy, double posz)
double pt2() const
rechit momentum transverse to the beam, squared.
const PFRecHitRefVector & neighbours4() const
unsigned detId_
C cell detid - should be detid or index in collection ?
PFRecHitRefVector neighbours4_
unsigned detId() const
rechit detId
void addNeighbour(short x, short y, short z, const PFRecHitRef &)
PFLayer::Layer layer_
rechit layer
std::vector< unsigned short > neighbourInfos_
bool operator<=(const PFRecHit &rhs) const
comparison <= operator
bool operator<(const PFRecHit &rhs) const
comparison < operator
double energy_
rechit energy
int depth() const
depth for segemntation
PFLayer::Layer layer() const
rechit layer
virtual ~PFRecHit()
destructor
void setSWCorner(double posx, double posy, double posz)
const std::vector< math::XYZPoint > & getCornersXYZ() const
rechit corners
void setEnergy(double energy)
const PFRecHitRef getNeighbour(short x, short y, short z)
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
math::XYZVector axisxyz_
rechit cell axisxyz
const math::XYZVector & getAxisXYZ() const
rechit cell axis x, y, z
const std::vector< REPPoint > & getCornersREP() const
const PFRecHitRefVector & neighbours8() const
void size(double &deta, double &dphi) const
edm::RefToBase< CaloRecHit > originalRecHit_
void setTime(double time)
void setNWCorner(double posx, double posy, double posz)
const edm::RefToBase< CaloRecHit > & originalRecHit() const
const math::XYZPoint & position() const
rechit cell centre x, y, z
void calculatePositionREP()
PFRecHitRefVector neighbours8_
bool operator>=(const PFRecHit &rhs) const
comparison >= operator
math::XYZPoint position_
rechit cell centre: x, y, z
void clear()
Clear the vector.
XYZVectorD XYZVector
spatial vector with cartesian internal representation
bool operator>(const PFRecHit &rhs) const
comparison > operator
XYZPointD XYZPoint
point in space with cartesian internal representation
PFRecHitRefVector neighbours_
indices to existing neighbours (1 common side)
std::vector< REPPoint > cornersrep_
rechit cell corners rho/eta/phi
double energy() const
rechit energy
REPPoint positionrep_
rechit cell centre: rho, eta, phi (transient)
const REPPoint & positionREP() const
static const unsigned nCorners_
number of corners
double time() const
timing for cleaned hits
const std::vector< unsigned short > & neighbourInfos()
void setCorner(unsigned i, double posx, double posy, double posz)
set position of one of the corners
const PFRecHitRefVector & neighbours() const
PFRecHit()
default constructor. Sets energy and position to zero
void setOriginalRecHit(const T &rh)