Electromagnetic Template Library (EMTL)
|
Class used to print text files in tabluar format with electromagnetic field distribution in space and time. More...
#include <analyzer.h>
Public Member Functions | |
emRecordAnalyzer (mngarg< vset_t > vset=NULL, valtype timestep_=0) | |
default constructor, channels are uninitialized | |
int | SetWave (int channel, mngarg< emSourceWave > wptr, mngarg< VecTransform > transform, mngarg< VecTransform > trans_ds) override |
Set the wave, vector and ds transform for channel specified. | |
template<class projector_t > | |
int | Project (projector_t &projector, emDataProjector &data_proj, int format, int signature, int scmode=outMOD, long long outfilter=outDefault, int argflags=argAll, int order=ORD_XT, valtype tt1=-1, valtype tt2=-1, valtype dtt=-1, emIntegration *integ=NULL, virt_unary_function< valtype, cvaltype > *norm=NULL, emMediumContainer *med=NULL) |
projects the time data using given projector and outputs to the file of specified format at interval (tt1,tt2) with step dtt. | |
bool | LocateStep (int itf, int ispace) |
Position index version. | |
virtual int | GetFields (int itf, int ispace, Vector_3 &E, Vector_3 &H, int ch=0) override |
Get real field vectors, in case of Fourier gransformed fields, returns their modulo. | |
virtual int | GetFields (valtype tf, int ispace, Vector_3 &E, Vector_3 &H, int ch=0) override |
Get real field vectors, in case of Fourier gransformed fields, returns their modulo. | |
virtual int | GetCFields (valtype tf, int ispace, cVector_3 &E, cVector_3 &H, int ch=0) override |
Get complex field vectors, in case of time domain fields the imaginary part is zero. | |
virtual int | GetCFields (int itf, int ispace, cVector_3 &E, cVector_3 &H, int ch=0) override |
Get complex field vectors, in case of time domain fields the imaginary part is zero. | |
virtual int | GetArgs (int itf, int ispace, valtype &tf, Vector_3 &pos, int ch=0) override |
Get the real time/frequency and space position of the detector entry referenced by integer indices itf (time-frequency) and ispace (space). | |
Public Member Functions inherited from emComponent | |
emDump * | GetEmDumper () |
This function insures that the returned dumper is of true emDumper type. | |
Protected Attributes | |
valtype | timestep |
temporary (to account for time shift between E and H) | |
std::string | format |
format to print real numbers | |
Class used to print text files in tabluar format with electromagnetic field distribution in space and time.
EM field is given by class emSourceWave. Template vset_t specifies points set where EM field will be printed. To work with this class you need to add channels which contain field source. After you can call:
int emRecordAnalyzer< vset_t >::Project | ( | projector_t & | projector, |
emDataProjector & | data_proj, | ||
int | format, | ||
int | signature, | ||
int | scmode = outMOD , |
||
long long | outfilter = outDefault , |
||
int | argflags = argAll , |
||
int | order = ORD_XT , |
||
valtype | tt1 = -1 , |
||
valtype | tt2 = -1 , |
||
valtype | dtt = -1 , |
||
emIntegration * | integ = NULL , |
||
virt_unary_function< valtype, cvaltype > * | norm = NULL , |
||
emMediumContainer * | med = NULL |
||
) |
projects the time data using given projector and outputs to the file of specified format at interval (tt1,tt2) with step dtt.
format | file format (see TABLE_LOG) |
signature | Representaion for a wave (see emWaveForms) |
scmode | Bit modifiers to specify which part of the value is needed in case of complex number (see outCOMPLEX_MODIFIERS) |
outfilter | Bit flags to specify which field types are needed in output (see outTYPE) |
argflags | Bit flags to specify which field argument values are needed in output (see argTYPE) |
order | Argument change orders (see emArgChangeOrders) |
integ | Used to integrate detectors data |
norm | Function used to normalize electric and magnetic fields (for example normalization on incident wave) |
med | Media distribution in space, can be used to calculate absorption w*Im(epsilon)*E^2 |
|
overridevirtual |
Set the wave, vector and ds transform for channel specified.
channel 0 is the leading channel, it must have limited signal duration (get_end_time<VEC_INFTY)
Implements emBaseRecordAnalyzer.