lhapdf is hosted by Hepforge, IPPP Durham
LHAPDF  6.5.4
PDFInfo.h
1 // -*- C++ -*-
2 //
3 // This file is part of LHAPDF
4 // Copyright (C) 2012-2023 The LHAPDF collaboration (see AUTHORS for details)
5 //
6 #pragma once
7 #ifndef LHAPDF_PDFInfo_H
8 #define LHAPDF_PDFInfo_H
9 
10 #include "LHAPDF/Info.h"
11 #include "LHAPDF/Factories.h"
12 #include "LHAPDF/PDFIndex.h"
13 
14 namespace LHAPDF {
15 
16 
18  class PDFInfo : public Info {
19  public:
20 
26  PDFInfo() { }
27 
32  PDFInfo(const std::string& mempath);
33 
35  PDFInfo(const std::string& setname, int member);
36 
38  PDFInfo(int lhaid);
39 
40 
43 
45  std::vector<std::string> keys() const;
46 
48  bool has_key(const std::string& key) const;
49 
51  const std::string& get_entry(const std::string& key) const;
52 
54  const std::string& get_entry(const std::string& key, const std::string& fallback) const {
55  return Info::get_entry(key, fallback);
56  }
57 
59 
60 
61  private:
62 
64  std::string _setname;
65 
68  int _member;
69 
70  };
71 
72 
73 }
74 #endif
int _member
Definition: PDFInfo.h:68
virtual const std::string & get_entry(const std::string &key) const
Definition: Info.h:119
std::vector< std::string > keys() const
Get the keys defined on this object or higher.
PDFInfo()
Definition: PDFInfo.h:26
Metadata class for PDF members.
Definition: PDFInfo.h:18
const std::string & get_entry(const std::string &key, const std::string &fallback) const
Retrieve a metadata string by key name, with a fallback.
Definition: PDFInfo.h:54
std::string _setname
Name of the set in which this PDF is contained (for PDFSet lookup)
Definition: PDFInfo.h:64
Metadata base class for PDFs, PDF sets, or global configuration.
Definition: Info.h:29
bool has_key(const std::string &key) const
Can this Info object return a value for the given key? (it may be defined non-locally) ...
const std::string & get_entry(const std::string &key) const
Retrieve a metadata string by key name.