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