PDFxTMDLib  1.0.0
TDefaultLHAPDF_TMDReader.h
Go to the documentation of this file.
1 #pragma once
5 
6 namespace PDFxTMD
7 {
8 
9 class TDefaultLHAPDF_TMDReader : public IReader<TDefaultLHAPDF_TMDReader>
10 {
11  public:
12  void read(const std::string &pdfName, int setNumber);
14  std::vector<double> getValues(PhaseSpaceComponent comp) const;
15  std::pair<double, double> getBoundaryValues(PhaseSpaceComponent comp) const;
16 
17  private:
18  DefaultAllFlavorTMDShape m_pdfShape;
19  int m_blockNumber = 0;
20  int m_blockLine = 0;
21  std::pair<double, double> m_xMinMax;
22  std::pair<double, double> m_q2MinMax;
23  std::pair<double, double> m_kt2MinMax;
24 
25  private:
26  void processDataLine(const std::string &line, DefaultAllFlavorTMDShape &data);
27  void readXKnots(NumParser &parser, DefaultAllFlavorTMDShape &data);
28  void readKt2Knots(NumParser &parser, DefaultAllFlavorTMDShape &data);
29  void readQ2Knots(NumParser &parser, DefaultAllFlavorTMDShape &data);
30  void readParticleIds(NumParser &parser, DefaultAllFlavorTMDShape &data);
31  void readValues(NumParser &parser, DefaultAllFlavorTMDShape &data);
32 };
33 } // namespace PDFxTMD
Definition: IReader.h:11
Definition: NumParser.h:12
Definition: TDefaultLHAPDF_TMDReader.h:10
std::pair< double, double > getBoundaryValues(PhaseSpaceComponent comp) const
std::vector< double > getValues(PhaseSpaceComponent comp) const
void read(const std::string &pdfName, int setNumber)
DefaultAllFlavorTMDShape getData() const
Definition: AllFlavorsShape.h:14
PhaseSpaceComponent
Definition: PartonUtils.h:35
Definition: AllFlavorsShape.h:92