File indexing completed on 2023-03-17 11:22:56
0001 #ifndef MultipleScatteringX0Data_H
0002 #define MultipleScatteringX0Data_H
0003
0004
0005
0006
0007 #include "FWCore/Utilities/interface/Visibility.h"
0008
0009 #include <string>
0010 #include <memory>
0011 class TH2F;
0012
0013 class dso_hidden SumX0AtEtaDataProvider {
0014 public:
0015 virtual float sumX0atEta(float eta, float r) const = 0;
0016 virtual ~SumX0AtEtaDataProvider() {}
0017 };
0018
0019 class dso_hidden MultipleScatteringX0Data : public SumX0AtEtaDataProvider {
0020 public:
0021 MultipleScatteringX0Data();
0022 ~MultipleScatteringX0Data() override;
0023 int nBinsEta() const;
0024 float minEta() const;
0025 float maxEta() const;
0026 float sumX0atEta(float eta, float r) const override;
0027
0028 private:
0029 std::string fileName();
0030
0031 std::unique_ptr<TH2F> theData;
0032 };
0033
0034 #endif