CMS 3D CMS Logo

PixelCPEFastParamsHost.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiPixelRecHits_interface_PixelCPEFastParamsHost_h
2 #define RecoLocalTracker_SiPixelRecHits_interface_PixelCPEFastParamsHost_h
3 
4 #include <alpaka/alpaka.hpp>
5 
16 
17 template <typename TrackerTraits>
19 public:
22 
24  const MagneticField* mag,
25  const TrackerGeometry& geom,
26  const TrackerTopology& ttopo,
27  const SiPixelLorentzAngle* lorentzAngle,
28  const SiPixelGenErrorDBObject* genErrorDBObject,
29  const SiPixelLorentzAngle* lorentzAngleWidth);
30 
31  // non-copyable
34 
35  // movable
38 
39  // default destructor
40  ~PixelCPEFastParamsHost() override = default;
41 
42  // access the buffer
43  Buffer buffer() { return buffer_; }
44  ConstBuffer buffer() const { return buffer_; }
45  ConstBuffer const_buffer() const { return buffer_; }
46 
47  auto size() const { return alpaka::getExtentProduct(buffer_); }
48 
50 
52 
53 private:
54  LocalPoint localPosition(DetParam const& theDetParam, ClusterParam& theClusterParam) const override;
55  LocalError localError(DetParam const& theDetParam, ClusterParam& theClusterParam) const override;
56 
57  void errorFromTemplates(DetParam const& theDetParam, ClusterParamGeneric& theClusterParam, float qclus) const;
58 
59  std::vector<SiPixelGenErrorStore> thePixelGenError_;
60 
61  void fillParamsForDevice();
62 
64 };
65 
66 #endif // RecoLocalTracker_SiPixelRecHits_interface_PixelCPEFastParamsHost_h
~PixelCPEFastParamsHost() override=default
ConstBuffer const_buffer() const
PixelCPEFastParamsHost & operator=(PixelCPEFastParamsHost const &)=delete
PixelCPEFastParamsHost(edm::ParameterSet const &conf, const MagneticField *mag, const TrackerGeometry &geom, const TrackerTopology &ttopo, const SiPixelLorentzAngle *lorentzAngle, const SiPixelGenErrorDBObject *genErrorDBObject, const SiPixelLorentzAngle *lorentzAngleWidth)
The constructor.
std::vector< SiPixelGenErrorStore > thePixelGenError_
ConstBuffer buffer() const
cms::alpakatools::const_host_buffer< pixelCPEforDevice::ParamsOnDeviceT< TrackerTraits > > ConstBuffer
void errorFromTemplates(DetParam const &theDetParam, ClusterParamGeneric &theClusterParam, float qclus) const
LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const override
typename detail::buffer_type< DevHost, T >::type host_buffer
Definition: memory.h:56
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
alpaka::ViewConst< host_buffer< T > > const_host_buffer
Definition: memory.h:59
LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const override
static void fillPSetDescription(edm::ParameterSetDescription &desc)
pixelCPEforDevice::ParamsOnDeviceT< TrackerTraits > const * data() const
cms::alpakatools::host_buffer< pixelCPEforDevice::ParamsOnDeviceT< TrackerTraits > > Buffer