Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
39b27d8
Template code from class_maker
peterfpeterson Jul 29, 2024
959f0c9
Make method public so it can be reused
peterfpeterson Aug 5, 2024
6e91c36
Remove unused variable
peterfpeterson Aug 5, 2024
28e55d4
First version with everything hard-coded
peterfpeterson Aug 5, 2024
fc7c314
Add methods to DetectorInfo to make the iterator more useful
peterfpeterson Aug 6, 2024
58b6a72
Add support for having focus parameters
peterfpeterson Aug 6, 2024
184b029
Simple parallel event processing
peterfpeterson Aug 6, 2024
d4bc8d2
Multithread finding min/max and add timers
peterfpeterson Aug 7, 2024
16a8f1a
Move to std::optional like the rest of mantid
peterfpeterson Oct 4, 2024
a23fcfd
Add Fitler By Time
rosswhitfield Oct 28, 2024
b5b3bc4
Fix limits
rosswhitfield Oct 29, 2024
26529b0
Add loading cal file and change output to be d-spacing
rosswhitfield Oct 29, 2024
d422c34
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2024
92b22d3
Set units
rosswhitfield Oct 29, 2024
5198ea1
Add binning params
rosswhitfield Oct 30, 2024
a0d8b06
Simplify workspace creation
rosswhitfield Oct 30, 2024
4ab22d9
Use mask from calibration file
rosswhitfield Oct 30, 2024
da284df
Filter banks to process before starting the main processing loop
peterfpeterson Nov 19, 2024
a8f47b9
Refactor code in preparation of having a loading task
peterfpeterson Nov 19, 2024
ebc027e
Refactor code to multithread reading from disk
peterfpeterson Dec 26, 2024
dd2380d
Undo changes to LoadBankFromDiskTask
peterfpeterson Jan 10, 2025
f5add3f
Add event filtering and loading logs
peterfpeterson Jan 10, 2025
3dd2af7
Read 1GB of events from disk at a time to improve perfomance on large…
peterfpeterson Jan 22, 2025
03b37fe
Change name following nexus refactor
peterfpeterson Mar 18, 2025
c4f6403
Split binning parameters into separate properties
peterfpeterson Apr 3, 2025
00e2a65
Add focus positions and set them on the instrument
peterfpeterson Apr 4, 2025
df040ca
Change the units of the output workspace to TOF and fix all the math
peterfpeterson Apr 7, 2025
1f5a30c
Add test with default values for everything
peterfpeterson Apr 8, 2025
3c79214
Add test with values appropriate for the data
peterfpeterson Apr 8, 2025
8d3b458
Expose how many banks to read in a single thread and add progress bar
peterfpeterson Apr 10, 2025
f75663b
Move chunking parameters to be input options
peterfpeterson Apr 11, 2025
f939fb5
Add release notes
peterfpeterson Apr 14, 2025
f1682bc
Change return since it is always a known value
peterfpeterson Apr 15, 2025
77e7693
Make clear this is for vulcan plus small multithreading improvements
peterfpeterson Apr 15, 2025
78103b0
Ignore commit from using black on the repository
peterfpeterson Apr 16, 2025
427aaee
Ban 1GB VULCAN file from system test to keep things moving
peterfpeterson Apr 17, 2025
b7a129a
Fix issues spotted by clang
peterfpeterson Apr 17, 2025
9cd87e0
Add user docs. Most of them are limitations
peterfpeterson Apr 17, 2025
d406875
Lots of small changes based on review observations
peterfpeterson Apr 22, 2025
ef34285
Bring back make_unique for cppcheck
peterfpeterson Apr 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@
# git blame --ignore-revs-file .git-blame-ignore-revs

dccacdbddbc28f43a4ab9d1b63caf2fda71b1688
80a5951cd11c70f24836b934d832ef7c265daa84
9485437150f800515afbf15ab6ef05108714a0eb
a90b115e443e27eb187aba3cd794eee591079401
5 changes: 4 additions & 1 deletion Framework/DataHandling/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
set(SRC_FILES
src/AlignAndFocusPowderSlim.cpp
src/ApplyDiffCal.cpp
src/BankPulseTimes.cpp
src/CheckMantidVersion.cpp
Expand Down Expand Up @@ -214,6 +215,7 @@ set(SRC_FILES
)

set(INC_FILES
inc/MantidDataHandling/AlignAndFocusPowderSlim.h
inc/MantidDataHandling/ApplyDiffCal.h
inc/MantidDataHandling/BankPulseTimes.h
inc/MantidDataHandling/BitStream.h
Expand Down Expand Up @@ -433,6 +435,7 @@ set(INC_FILES
)

set(TEST_FILES
AlignAndFocusPowderSlimTest.h
ApplyDiffCalTest.h
BankPulseTimesTest.h
CheckMantidVersionTest.h
Expand All @@ -455,8 +458,8 @@ set(TEST_FILES
ExtractPolarizationEfficienciesTest.h
FindDetectorsInShapeTest.h
FindDetectorsParTest.h
GenerateGroupingPowderTest.h
GenerateGroupingPowder2Test.h
GenerateGroupingPowderTest.h
GroupDetectors2Test.h
GroupDetectorsTest.h
ISISDataArchiveTest.h
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
// Mantid Repository : https://github.com/mantidproject/mantid
//
// Copyright © 2024 ISIS Rutherford Appleton Laboratory UKRI,
// NScD Oak Ridge National Laboratory, European Spallation Source,
// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
// SPDX - License - Identifier: GPL - 3.0 +
#pragma once

#include "MantidAPI/Algorithm.h"
#include "MantidAPI/MatrixWorkspace_fwd.h"
#include "MantidDataHandling/DllConfig.h"
#include "MantidGeometry/IDTypes.h"

namespace NeXus {
class File;
}

namespace Mantid {
namespace DataHandling {

/** AlignAndFocusPowderSlim : TODO: DESCRIPTION
*/
class MANTID_DATAHANDLING_DLL AlignAndFocusPowderSlim : public API::Algorithm {
public:
const std::string name() const override;
int version() const override;
const std::string category() const override;
const std::string summary() const override;
const std::vector<std::string> seeAlso() const override;

class MANTID_DATAHANDLING_DLL BankCalibration {
public:
BankCalibration(const detid_t idmin, const detid_t idmax, const std::map<detid_t, double> &calibration_map);
const double &value(const detid_t detid) const;
const detid_t &idmin() const;
detid_t idmax() const;

private:
std::vector<double> m_calibration;
detid_t m_detid_offset;
};

private:
void init() override;
std::map<std::string, std::string> validateInputs() override;
void exec() override;

API::MatrixWorkspace_sptr createOutputWorkspace(const size_t numHist, const bool linearBins, const double x_delta);
API::MatrixWorkspace_sptr editInstrumentGeometry(API::MatrixWorkspace_sptr &wksp, const double l1,
const std::vector<double> &polars,
const std::vector<specnum_t> &specids,
const std::vector<double> &l2s,
const std::vector<double> &azimuthals);
void initCalibrationConstants(API::MatrixWorkspace_sptr &wksp, const std::vector<double> &difc_focus);
void loadCalFile(const API::Workspace_sptr &inputWS, const std::string &filename,
const std::vector<double> &difc_focus);

std::map<detid_t, double> m_calibration; // detid: 1/difc
std::set<detid_t> m_masked;
bool is_time_filtered{false};
size_t pulse_start_index{0};
size_t pulse_stop_index{std::numeric_limits<size_t>::max()};
/// Index to load start at in the file
std::vector<int64_t> loadStart;
/// How much to load in the file
std::vector<int64_t> loadSize;
};

} // namespace DataHandling
} // namespace Mantid
Loading