LHAPDF 6.5.4
Loading...
Searching...
No Matches
Paths.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_Paths_H
8#define LHAPDF_Paths_H
9
10#include "LHAPDF/Utils.h"
11
12namespace LHAPDF {
13
14
17
18
21
24 std::vector<std::string> paths();
25
27 void setPaths(const std::string& pathstr);
29 inline void setPaths(std::vector<string> paths) {
30 setPaths(join(paths, ":"));
31 }
32
33
35 inline void pathsPrepend(const std::string& p) {
36 vector<string> ps = paths();
37 ps.insert(ps.begin(), p);
38 //ps.pop_back(); //< Discard the auto-added fallback path to the installed data prefix
39 setPaths(ps);
40 }
41
42
44 inline void pathsAppend(const std::string& p) {
45 vector<string> ps = paths();
46 //ps.pop_back(); //< Discard the auto-added fallback path to the installed data prefix
47 ps.push_back(p);
48 setPaths(ps);
49 }
50
51
55 std::string findFile(const std::string& target);
56
58 std::vector<std::string> findFiles(const std::string& target);
59
61
62
65
66 inline std::string pdfmempath(const std::string& setname, int member) {
67 const string memname = setname + "_" + to_str_zeropad(member) + ".dat";
68 const string mempath = setname / memname;
69 return mempath;
70 }
71
72 inline std::string findpdfmempath(const std::string& setname, int member) {
73 return findFile(pdfmempath(setname, member));
74 }
75
76 inline std::string pdfsetinfopath(const std::string& setname) {
77 const string infoname = setname + ".info";
78 const string setinfo = setname / infoname;
79 return setinfo;
80 }
81
82 inline std::string findpdfsetinfopath(const std::string& setname) {
84 return findFile(pdfsetinfopath(setname));
85 }
86
87
96 const std::vector<std::string>& availablePDFSets();
97
99
100
101}
102
103#endif
const std::vector< std::string > & availablePDFSets()
Get the names of all available PDF sets in the search path.
void pathsAppend(const std::string &p)
Append to the search paths list.
Definition Paths.h:44
std::vector< std::string > findFiles(const std::string &target)
Return all locations in which a file is found.
std::string findFile(const std::string &target)
void pathsPrepend(const std::string &p)
Prepend to the search paths list.
Definition Paths.h:35
std::vector< std::string > paths()
Get the ordered list of search paths, from $LHAPDF_DATA_PATH and the install location.
std::string findpdfsetinfopath(const std::string &setname)
Definition Paths.h:82
void setPaths(const std::string &pathstr)
Set the search paths list as a colon-separated string.
std::string to_str_zeropad(int val, size_t nchars=4)
Format an integer val as a zero-padded string of length nchars.
Definition Utils.h:78
std::string join(const std::vector< std::string > &svec, const std::string &sep)
Concatenate strings with separator strings between each element.
Definition Utils.h:85
Namespace for all LHAPDF functions and classes.
Definition AlphaS.h:14