msl 1.3.0
Loading...
Searching...
No Matches
Synchronization.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 _26c13cbb_81fd_4b30_9cdf_9ed61aa9f312
5#define _26c13cbb_81fd_4b30_9cdf_9ed61aa9f312
6
7#include <MrMeasSrv/SeqIF/libRT/sSYNC.h>
8
10
11namespace msl
12{
13
15class Synchronization: public msl::RealTimeEvents
16{
17public:
18 Synchronization();
19 Synchronization(Synchronization const &) = default;
20 Synchronization(Synchronization &&) = default;
21 Synchronization & operator=(Synchronization const &) = default;
22 Synchronization & operator=(Synchronization &&) = default;
23 virtual ~Synchronization() = default;
24
26 eSYNCCODE event() const;
27
29 Synchronization & setEvent(eSYNCCODE event);
30
32 long duration();
33
35 Synchronization & setDuration(long duration);
36
38 long startTime() const override;
39
41 Synchronization & setStartTime(long startTime);
42
44 long endTime() const override;
45
47 NLSStatus prepare(
48 MrProt & protocol, SeqLim & limits, SeqExpo & exports) override;
49
51 NLSStatus run(
52 MrProt & protocol, SeqLim & limits, SeqExpo & exports) override;
53
55 MrProtocolData::SeqExpoRFInfo rfInfo() const override;
56
57private:
58 sSYNC _osc;
59};
60
61}
62
63#endif // _26c13cbb_81fd_4b30_9cdf_9ed61aa9f312
Base class for real-time events.
Definition RealTimeEvents.h:20
Synchronization & setEvent(eSYNCCODE event)
Set the code of the synchronization event.
NLSStatus run(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Run the synchronization event.
NLSStatus prepare(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Prepare the synchronization event.
long duration()
Return the duration of the synchronization event (µs).
long startTime() const override
Return the start time of the synchronization event (µs).
Synchronization & setStartTime(long startTime)
Set the start time of the synchronization event (µs).
Synchronization & setDuration(long duration)
Set the duration of the synchronization event (µs).
eSYNCCODE event() const
Return the code of the synchronization event.
MrProtocolData::SeqExpoRFInfo rfInfo() const override
Return the RF information for SAR computation.
long endTime() const override
Return the end time of the synchronization event (µs).
Top-level namespace of the msl library.
Definition acceleration.h:17