msl 1.3.0
Loading...
Searching...
No Matches
Sinc.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 _b5cbd2c6_c66b_4735_be78_3b1dbfe52a54
5#define _b5cbd2c6_c66b_4735_be78_3b1dbfe52a54
6
7#include <MrMeasSrv/SeqIF/libRT/sRF_PULSE.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
14
15namespace msl
16{
17
18namespace rf_pulses
19{
20
22class Sinc: public SimpleRFPulse<sRF_PULSE_SINC>
23{
24public:
25 Sinc() = default;
26 Sinc(Sinc const &) = default;
27 Sinc(Sinc &&) = default;
28 Sinc & operator=(Sinc const &) = default;
29 Sinc & operator=(Sinc &&) = default;
30 ~Sinc() override = default;
31
33 long peakTime() const override;
34
36 double thickness() const;
37
43
45 double timeBandwidthProduct() const;
46
49
51 double bandwidth() const;
52
54 NLSStatus prepare(
55 MrProt & protocol, SeqLim & limits, SeqExpo & exports) override;
56};
57
58}
59
60}
61
62#endif // _b5cbd2c6_c66b_4735_be78_3b1dbfe52a54
RF pulse composed of a simple sRF_PULSE-derived object and an NCO.
Definition SimpleRFPulse.h:27
Sinc RF pulse.
Definition Sinc.h:23
~Sinc() override=default
long peakTime() const override
Return the time of the RF peak amplitude (µs)
Sinc & operator=(Sinc &&)=default
double bandwidth() const
Return the bandwidth of the RF pulse (Hz)
Sinc(Sinc &&)=default
double thickness() const
Return the thickness (mm)
double timeBandwidthProduct() const
Return the time-bandwidth product.
Sinc & setThickness(double thickness)
Set the thickness (mm)
Sinc & operator=(Sinc const &)=default
Sinc & setTimeBandwidthProduct(double tbw)
Set the time-bandwidth product.
NLSStatus prepare(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Prepare the RF pulse and NCO.
Sinc(Sinc const &)=default
Top-level namespace of the msl library.
Definition acceleration.h:17