msl 1.3.0
Loading...
Searching...
No Matches
Sequence.h
Go to the documentation of this file.
1// Copyright 2025 Julien Lamy, ICube, Université de Strasbourg-CNRS.
2// Part of msl, distributed under the terms of the MIT license.
3
4#ifndef _bd7a661f_037c_40e6_8a61_e599b991a5c3
5#define _bd7a661f_037c_40e6_8a61_e599b991a5c3
6
7#include <MrImagingFW/libSBBFW/StdSeqIF.h>
8
9#include <MrProtSrv/Domain/CoreNative/SeqLim.h>
10#include <MrProtSrv/Domain/MrProtData/MrProt/MrProt.h>
11#include <MrProtSrv/Domain/MrProtData/MrProt/SeqIF/SeqExpo.h>
12
13#include "msl/Iterator.h"
14#include "msl/graph/Node.h"
15#include "msl/Mask.h"
16
18namespace msl
19{
20
28class Sequence: public StdSeqIF
29{
30public:
32 Sequence(Sequence const &) = delete;
33 Sequence(Sequence &&) = delete;
34 Sequence & operator=(Sequence const &) = delete;
35 Sequence & operator=(Sequence &&) = delete;
36 ~Sequence() override = default;
37
42 NLSStatus check(
43 MrProt & protocol, SeqLim & limits, SeqExpo & exports,
44 SEQCheckMode *) override;
45
50 NLSStatus run(
51 MrProt & protocol, SeqLim & limits, SeqExpo & exports) override;
52
54 NLS_STATUS runKernel(
55 MrProt &, SeqLim &, SeqExpo &, long, long, long, long) override;
56
58 template<typename T>
59 T const & get(std::string const & key) const
60 {
61 return this->_root->get<T>(key);
62 }
63
65 template<typename T>
66 T & get(std::string const & key)
67 {
68 return this->_root->get<T>(key);
69 }
70
71protected:
72 using PointsConstIterator = msl::ConstIterator<msl::Mask::Points>;
73
75 Mask::Points _runPoints, _checkPoints;
76};
77
78}
79
80#endif // _bd7a661f_037c_40e6_8a61_e599b991a5c3
Read-only iterator to a container.
Definition Iterator.h:15
std::vector< Point > Points
Container of Point.
Definition Mask.h:26
Graph-based sequence class.
Definition Sequence.h:29
NLSStatus run(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Store the run mask as "indices" in the root node registry and run the root node.
Sequence & operator=(Sequence &&)=delete
T & get(std::string const &key)
Return an object stored in the dictionary.
Definition Sequence.h:66
Sequence & operator=(Sequence const &)=delete
~Sequence() override=default
Sequence(Sequence &&)=delete
NLSStatus check(MrProt &protocol, SeqLim &limits, SeqExpo &exports, SEQCheckMode *) override
Store the check mask as "indices" in the root node registry and run the root node.
NLS_STATUS runKernel(MrProt &, SeqLim &, SeqExpo &, long, long, long, long) override
Do nothing.
Sequence(Sequence const &)=delete
T const & get(std::string const &key) const
Return an object stored in the dictionary.
Definition Sequence.h:59
std::shared_ptr< Node > Pointer
Reference-counted pointer to Node
Definition Node.h:30
Top-level namespace of the msl library.
Definition acceleration.h:17