Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:51

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