27 constexpr
static double INV12 = 1.0 / 12.0;
40 if (config.
exists(
"resolutionX")) {
44 if (config.
exists(
"resolutionY")) {
51 for (
const std::pair<unsigned int, const PSimHit*>& simHitIdPair : product->getSimHitIdPairs()) {
52 const PSimHit* simHit = simHitIdPair.second;
58 const double boundY = bounds.
length();
62 unsigned int retry = 0;
77 }
while (not bounds.
inside(recHitPosition));
88 product->addRecHit(recHit, {simHitIdPair});
virtual float length() const =0
TrackingRecHitStripGSPlugin(const std::string &name, const edm::ParameterSet &config, edm::ConsumesCollector &consumesCollector)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
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.
Local3DPoint localPosition() const
const RandomEngineAndDistribution & getRandomEngine() const
std::shared_ptr< TrackingRecHitProduct > TrackingRecHitProductPtr
T getParameter(std::string const &) const
tuple config
parse the configuration file
double gaussShoot(double mean=0.0, double sigma=1.0) const
#define DEFINE_EDM_PLUGIN(factory, type, name)
static constexpr double INV12
TrackingRecHitProductPtr process(TrackingRecHitProductPtr product) const override
Point3DBase< float, LocalTag > Local3DPoint