41 Run &operator=(
const Run &other);
46 std::shared_ptr<Run> clone();
52 void filterByTime(
const Types::Core::DateAndTime start,
const Types::Core::DateAndTime stop)
override;
56 size_t getMemorySize()
const override;
59 void setProtonCharge(
const double charge);
61 double getProtonCharge()
const;
64 void integrateProtonCharge(
const std::string &logname =
"proton_charge")
const;
66 std::tuple<double, double, double> getBadPulseRange(
const std::string &logname =
"proton_charge",
67 const double &cutoff = 95.)
const;
74 void storeHistogramBinBoundaries(std::span<double const> histoBins);
76 std::pair<double, double> histogramBinBoundaries(
const double value)
const;
78 std::vector<double> getBinBoundaries()
const;
99 size_t getNumGoniometers()
const;
105 void clearGoniometers();
107 const std::vector<Kernel::Matrix<double>> getGoniometerMatrices()
const;
110 void saveNexus(Nexus::File *file,
const std::string &
group,
bool keepOpen =
false)
const override;
114 void loadNexus(Nexus::File *file,
const std::string &
group,
const std::string &prefix,
115 bool keepOpen =
false)
override;
117 void loadNexus(Nexus::File *file,
const std::string &
group,
bool keepOpen =
false)
override;
121 void calculateAverageGoniometerMatrix();
132 void copyGoniometers(
const Run &other);
135 void loadNexusCommon(Nexus::File *file,
const std::string &nameClass);