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
42 Sinc & setThickness(double thickness);
43
45 double timeBandwidthProduct() const;
46
48 Sinc & setTimeBandwidthProduct(double tbw);
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
long peakTime() const override
Return the time of the RF peak amplitude (µs).
double bandwidth() const
Return the bandwidth of the RF pulse (Hz).
double thickness() const
Return the thickness (mm).
double timeBandwidthProduct() const
Return the time-bandwidth product.
Sinc & setThickness(double thickness)
Set the thickness (mm).
Sinc & setTimeBandwidthProduct(double tbw)
Set the time-bandwidth product.
NLSStatus prepare(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Prepare the RF pulse and NCO.
Pre-defined RF pulses and pulse modifiers.
Definition External.h:21
Top-level namespace of the msl library.
Definition acceleration.h:17