00001
00002 #ifndef PMGTOOLS_PMGCROSSSECTIONTOOL_H
00003 #define PMGTOOLS_PMGCROSSSECTIONTOOL_H
00004
00005
00006 #include <array>
00007
00008
00009 #include "AsgTools/AsgTool.h"
00010
00011
00012 #include "PMGTools/IPMGCrossSectionTool.h"
00013
00016
00017 namespace PMGTools {
00018
00019 class PMGCrossSectionTool : public virtual IPMGCrossSectionTool,
00020 public asg::AsgTool {
00021
00022 public:
00023
00024 ASG_TOOL_CLASS( PMGCrossSectionTool, PMGTools::IPMGCrossSectionTool )
00025
00026
00027 PMGCrossSectionTool( const std::string& name =
00028 "PMGCrossSectionTool" );
00029
00032
00034 StatusCode initialize();
00035
00037 bool readInfosFromFiles(std::vector<std::string>);
00038
00040 bool readInfosFromDir(const std::string& inputDir);
00041
00043 double getFilterEff(const int dsid) const;
00044
00046 std::string getSampleName(const int dsid) const;
00047
00049 double getAMIXsection(const int dsid) const;
00050
00052 double getBR(const int dsid) const;
00053
00055 double getKfactor(const int dsid) const;
00056
00058 double getSampleXsection(const int dsid) const;
00059
00061 std::vector<int> getLoadedDSIDs() const;
00062
00063 private:
00064
00065
00066 std::vector<PMGTools::AllSampleInfo> fStoreSampleInfo;
00067 std::string m_InputFileName;
00068
00069 };
00070
00071 }
00072
00073 #endif //> !PMGTOOLS_PMGCROSSSECTIONTOOL_H