44 if (config.
exists(
"resolutionX"))
49 if (config.
exists(
"resolutionY"))
58 for (
const std::pair<unsigned int,const PSimHit*>& simHitIdPair: product->getSimHitIdPairs())
60 const PSimHit* simHit = simHitIdPair.second;
66 const double boundY = bounds.
length();
70 unsigned int retry = 0;
90 while (not bounds.
inside(recHitPosition));
107 product->addRecHit(recHit,{simHitIdPair});
116 "TrackingRecHitStripGSPlugin"
T getParameter(std::string const &) const
const TrackerGeomDet * idToDetUnit(DetId) const
Return the pointer to the GeomDetUnit corresponding to a given DetId.
virtual float length() const =0
TrackingRecHitStripGSPlugin(const std::string &name, const edm::ParameterSet &config, edm::ConsumesCollector &consumesCollector)
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
bool exists(std::string const ¶meterName) const
checks if a parameter exists
const TrackerGeometry & getTrackerGeometry() const
const Bounds & bounds() const
const Plane & surface() const
The nominal surface of the GeomDet.
virtual TrackingRecHitProductPtr process(TrackingRecHitProductPtr product) const
Local3DPoint localPosition() const
const RandomEngineAndDistribution & getRandomEngine() const
std::shared_ptr< TrackingRecHitProduct > TrackingRecHitProductPtr
Point3DBase< float, LocalTag > Local3DPoint
double gaussShoot(double mean=0.0, double sigma=1.0) const
#define DEFINE_EDM_PLUGIN(factory, type, name)