msl 1.1.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
17namespace msl
18{
19
27class Sequence: public StdSeqIF
28{
29public:
31 Sequence(Sequence const &) = delete;
32 Sequence(Sequence &&) = delete;
33 Sequence & operator=(Sequence const &) = delete;
34 Sequence & operator=(Sequence &&) = delete;
35 ~Sequence() override = default;
36
41 NLSStatus check(
42 MrProt & protocol, SeqLim & limits, SeqExpo & exports,
43 SEQCheckMode *) override;
44
49 NLSStatus run(
50 MrProt & protocol, SeqLim & limits, SeqExpo & exports) override;
51
53 NLS_STATUS runKernel(
54 MrProt &, SeqLim &, SeqExpo &, long, long, long, long) override;
55
57 template<typename T>
58 T const & get(std::string const & key) const
59 {
60 return this->_root->get<T>(key);
61 }
62
64 template<typename T>
65 T & get(std::string const & key)
66 {
67 return this->_root->get<T>(key);
68 }
69
70protected:
72
73 msl::graph::Node::Pointer _root;
75};
76
77}
78
79#endif // _bd7a661f_037c_40e6_8a61_e599b991a5c3
Read-only iterator to a container.
Definition Iterator.h:15
A two dimensional mask.
Definition Mask.h:18
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
msl::Mask _checkMask
Definition Sequence.h:74
T & get(std::string const &key)
Return an object stored in the dictionary.
Definition Sequence.h:65
Sequence & operator=(Sequence const &)=delete
~Sequence() override=default
Sequence(Sequence &&)=delete
msl::ConstIterator< msl::Mask::Points > PointsConstIterator
Definition Sequence.h:71
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:58
msl::Mask _runMask
Definition Sequence.h:74
msl::graph::Node::Pointer _root
Definition Sequence.h:73
Definition acceleration.h:17