CMS 3D CMS Logo

EcalRecHitParametersGPU.h
Go to the documentation of this file.
1 #ifndef CondFormats_EcalObjects_interface_EcalRecHitParametersGPU_h
2 #define CondFormats_EcalObjects_interface_EcalRecHitParametersGPU_h
3 
4 #include <array>
5 
8 
9 #ifndef __CUDACC__
12 #endif // __CUDACC__
13 
15 public:
16  struct Product {
21  };
22 
23 #ifndef __CUDACC__
24  struct DBStatus {
25  DBStatus(int flag, std::vector<uint32_t> status) : recoflagbit{flag}, dbstatus(std::move(status)) {}
26  int recoflagbit; //must be a EcalRecHit::Flags
27  std::vector<uint32_t> dbstatus; //must contain EcalChannelStatusCode::Code
28  };
29 
31  EcalRecHitParametersGPU(std::vector<int> const& channelStatusToBeExcluded,
32  std::vector<DBStatus> const& flagsMapDBReco);
33 
34  ~EcalRecHitParametersGPU() = default;
35 
36  Product const& getProduct(cudaStream_t) const;
37 
38  using intvec = std::reference_wrapper<std::vector<int, cms::cuda::HostAllocator<int>> const>;
39  using uint32vec = std::reference_wrapper<std::vector<uint32_t, cms::cuda::HostAllocator<uint32_t>> const>;
40  std::tuple<intvec, intvec, uint32vec, uint32vec> getValues() const {
45  }
46 
47 private:
48  std::vector<int, cms::cuda::HostAllocator<int>> channelStatusToBeExcluded_;
49  std::vector<int, cms::cuda::HostAllocator<int>> expanded_v_DB_reco_flags_;
50  std::vector<uint32_t, cms::cuda::HostAllocator<uint32_t>> expanded_Sizes_v_DB_reco_flags_,
52 
54 #endif // __CUDACC__
55 };
56 
57 #endif // CondFormats_EcalObjects_interface_EcalRecHitParametersGPU_h
EcalRecHitParametersGPU::channelStatusToBeExcluded_
std::vector< int, cms::cuda::HostAllocator< int > > channelStatusToBeExcluded_
Definition: EcalRecHitParametersGPU.h:48
EcalRecHitParametersGPU::Product::expanded_flagbit_v_DB_reco_flags
edm::propagate_const_array< cms::cuda::device::unique_ptr< uint32_t[]> > expanded_flagbit_v_DB_reco_flags
Definition: EcalRecHitParametersGPU.h:20
mps_update.status
status
Definition: mps_update.py:68
HostAllocator.h
EcalRecHitParametersGPU::Product::expanded_Sizes_v_DB_reco_flags
edm::propagate_const_array< cms::cuda::device::unique_ptr< uint32_t[]> > expanded_Sizes_v_DB_reco_flags
Definition: EcalRecHitParametersGPU.h:19
EcalRecHitParametersGPU::expanded_v_DB_reco_flags_
std::vector< int, cms::cuda::HostAllocator< int > > expanded_v_DB_reco_flags_
Definition: EcalRecHitParametersGPU.h:49
EcalRecHitParametersGPU
Definition: EcalRecHitParametersGPU.h:14
EcalRecHitParametersGPU::DBStatus
Definition: EcalRecHitParametersGPU.h:24
EcalRecHitParametersGPU::DBStatus::dbstatus
std::vector< uint32_t > dbstatus
Definition: EcalRecHitParametersGPU.h:27
EcalRecHitParametersGPU::expanded_Sizes_v_DB_reco_flags_
std::vector< uint32_t, cms::cuda::HostAllocator< uint32_t > > expanded_Sizes_v_DB_reco_flags_
Definition: EcalRecHitParametersGPU.h:50
EcalRecHitParametersGPU::getProduct
Product const & getProduct(cudaStream_t) const
Definition: EcalRecHitParametersGPU.cc:25
device_unique_ptr.h
EcalRecHitParametersGPU::product_
cms::cuda::ESProduct< Product > product_
Definition: EcalRecHitParametersGPU.h:53
EcalRecHitParametersGPU::EcalRecHitParametersGPU
EcalRecHitParametersGPU(std::vector< int > const &channelStatusToBeExcluded, std::vector< DBStatus > const &flagsMapDBReco)
channelStatusToBeExcluded must contain EcalChannelStatusCode::Code
Definition: EcalRecHitParametersGPU.cc:8
EcalRecHitParametersGPU::uint32vec
std::reference_wrapper< std::vector< uint32_t, cms::cuda::HostAllocator< uint32_t > > const > uint32vec
Definition: EcalRecHitParametersGPU.h:39
EcalRecHitParametersGPU::Product
Definition: EcalRecHitParametersGPU.h:16
cms::cuda::ESProduct
Definition: ESProduct.h:20
EcalRecHitParametersGPU::getValues
std::tuple< intvec, intvec, uint32vec, uint32vec > getValues() const
Definition: EcalRecHitParametersGPU.h:40
HLT_FULL_cff.flagsMapDBReco
flagsMapDBReco
Definition: HLT_FULL_cff.py:8306
EcalRecHitParametersGPU::expanded_flagbit_v_DB_reco_flags_
std::vector< uint32_t, cms::cuda::HostAllocator< uint32_t > > expanded_flagbit_v_DB_reco_flags_
Definition: EcalRecHitParametersGPU.h:50
EcalRecHitParametersGPU::DBStatus::DBStatus
DBStatus(int flag, std::vector< uint32_t > status)
Definition: EcalRecHitParametersGPU.h:25
EcalRecHitParametersGPU::Product::channelStatusToBeExcluded
edm::propagate_const_array< cms::cuda::device::unique_ptr< int[]> > channelStatusToBeExcluded
Definition: EcalRecHitParametersGPU.h:17
edm::propagate_const_array
Definition: propagate_const_array.h:61
eostools.move
def move(src, dest)
Definition: eostools.py:511
EcalRecHitParametersGPU::intvec
std::reference_wrapper< std::vector< int, cms::cuda::HostAllocator< int > > const > intvec
Definition: EcalRecHitParametersGPU.h:38
propagate_const_array.h
EcalRecHitParametersGPU::~EcalRecHitParametersGPU
~EcalRecHitParametersGPU()=default
EcalRecHitParametersGPU::DBStatus::recoflagbit
int recoflagbit
Definition: EcalRecHitParametersGPU.h:26
ESProduct.h
RemoveAddSevLevel.flag
flag
Definition: RemoveAddSevLevel.py:117
EcalRecHitParametersGPU::Product::expanded_v_DB_reco_flags
edm::propagate_const_array< cms::cuda::device::unique_ptr< int[]> > expanded_v_DB_reco_flags
Definition: EcalRecHitParametersGPU.h:18