Mantid
Loading...
Searching...
No Matches
MCInteractionStatistics.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2020 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9#include "MantidAPI/Sample.h"
10#include "MantidAlgorithms/DllConfig.h"
12#include "MantidKernel/Logger.h"
13
14namespace Mantid {
15
16namespace Kernel {
17class V3D;
18} // namespace Kernel
19
20namespace Algorithms {
21
23 std::string name;
26};
27
32class MANTID_ALGORITHMS_DLL MCInteractionStatistics {
33public:
34 MCInteractionStatistics(detid_t detectorID, const API::Sample &sample);
35 std::string generateScatterPointStats();
36 void UpdateScatterPointCounts(int componentIndex, bool pointUsed);
37 void UpdateScatterAngleStats(const Kernel::V3D &toStart, const Kernel::V3D &scatteredDirec);
38
39private:
41 ScatterPointStat m_sampleScatterPoints = {"Sample", 0, 0};
42 std::vector<ScatterPointStat> m_envScatterPoints;
43 double m_scatterAngleMean = 0;
44 double m_scatterAngleM2 = 0;
45 double m_scatterAngleSD = 0;
46};
47
48} // namespace Algorithms
49} // namespace Mantid
This class stores information about the sample used in particular run.
Definition: Sample.h:33
Stores statistics relating to the tracks generated in MCInteractionVolume for a specific detector.
std::vector< ScatterPointStat > m_envScatterPoints
Class for 3D vectors.
Definition: V3D.h:34
Helper class which provides the Collimation Length for SANS instruments.
int32_t detid_t
Typedef for a detector ID.
Definition: SpectrumInfo.h:21