CCEX-1.0.0
Loading...
Searching...
No Matches
pulse.h
1#ifndef __CCEX_PULSE_H_
2#define __CCEX_PULSE_H_
3
4#include "./../include/utilities.h"
5
10typedef struct {
11
12 int npulse;
13 bool pulseiter;
21 char pulsename[100];
29
33 double** sequence;
34 double* pulse_angles;
55 //
165} Pulse;
166
167Pulse* Pulse_init();
168
169void Pulse_report(Pulse* pulse);
170
171void Pulse_setNpulse(Pulse* pulse, int npulse);
172void Pulse_setPulsename(Pulse* pulse, char* pulsename);
173void assign_sequence_indices(Pulse* pulse);
174void Pulse_setPulseiter(Pulse* pulse, bool pulseiter);
175
176int Pulse_getNpulse(Pulse* pulse);
177char* Pulse_getPulsename(Pulse* pulse);
178char* Pulse_getPulseAxes(Pulse* pulse);
179double* Pulse_getPulseAngles(Pulse* pulse);
180int* Pulse_getSequenceIndices(Pulse* pulse);
181double** Pulse_getSequence(Pulse* pulse);
182bool Pulse_getPulseiter(Pulse* pulse);
183
184// allocation
185void Pulse_allocSequence(Pulse* pulse);
186void Pulse_freeSequence(Pulse* pulse);
187void Pulse_freeAll(Pulse* pulse);
188
189void Pulse_allocAxes(Pulse* pulse);
190void Pulse_allocAngles(Pulse* pulse);
191void Pulse_allocSequenceIndices(Pulse* pulse);
192void Pulse_freeAxes(Pulse* pulse);
193void Pulse_freeAngles(Pulse* pulse);
194void Pulse_freeSequenceIndices(Pulse* pulse);
195
196// generate pulse sequence
197void generateSequenceRamsey(Pulse* pulse);
198void generateSequenceHE(Pulse* sequence);
199void generateSequenceWAHUHA(Pulse* sequence);
200void generateSequenceCPMG(Pulse* pulse);
201void allocateDefaultSequence(Pulse* pulse);
202
203
204#endif // __CCEX_PULSE_H_
This structure contains the pulse-related parameters.
Definition pulse.h:10
int * sequence_indices
Definition pulse.h:47
bool pulseiter
Definition pulse.h:13
char * pulse_axes
Definition pulse.h:40
char pulsename[100]
Definition pulse.h:21
double * pulse_angles
Definition pulse.h:34
int npulse
Definition pulse.h:12
double ** sequence
: Related with pulse sequence.
Definition pulse.h:33