2 #include "HepPDT/HeavyIonUnknownID.hh" 3 #include "tbb/concurrent_vector.h" 7 class CachingHeavyIonUnknownID :
public HepPDT::ProcessUnknownID {
12 std::unique_ptr<HepPDT::ParticleData>
p{ wrapped_.processUnknownID(
id, table) };
20 HepPDT::HeavyIonUnknownID wrapped_;
21 tbb::concurrent_vector<std::unique_ptr<HepPDT::ParticleData>> particles_;
27 pdtFileName( cfg.getParameter<
edm::FileInPath>(
"pdtFileName" ) ) {
29 findingRecord<PDTRecord>();
38 auto pdt = std::make_unique<PDT>(
"PDG table" ,
new CachingHeavyIonUnknownID );
45 HepPDT::TableBuilder builder( * pdt );
46 if( ! addParticleTable( pdtFile, builder ) ) {
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
HepPDT::ParticleDataTable ParticleDataTable
static const IOVSyncValue & endOfTime()
edm::FileInPath pdtFileName
std::pair< Time_t, Time_t > ValidityInterval
HepPDTESSource(const edm::ParameterSet &)
constructor from parameter set
~HepPDTESSource() override
destructor
std::unique_ptr< PDT > ReturnType
define the return type
static const IOVSyncValue & beginOfTime()
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
set validity interval
HepPDT::ParticleData ParticleData
ReturnType produce(const PDTRecord &)
return the particle table
std::string fullPath() const