Electromagnetic Template Library (EMTL)
Loading...
Searching...
No Matches
emRecordAnalyzer< vset_t > Class Template Reference

Class used to print text files in tabluar format with electromagnetic field distribution in space and time. More...

#include <analyzer.h>

Inheritance diagram for emRecordAnalyzer< vset_t >:
Collaboration diagram for emRecordAnalyzer< vset_t >:

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
 

Detailed Description

template<class vset_t>
class emRecordAnalyzer< vset_t >

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:

  • vProject to make tabular text files with EM field distribution in space-time.
  • FluxSpectra to calculate Poynting vectr flux through chosen surface.

Member Function Documentation

◆ Project()

template<class vset_t >
template<class projector_t >
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.

Parameters
formatfile format (see TABLE_LOG)
signatureRepresentaion for a wave (see emWaveForms)
scmodeBit modifiers to specify which part of the value is needed in case of complex number (see outCOMPLEX_MODIFIERS)
outfilterBit flags to specify which field types are needed in output (see outTYPE)
argflagsBit flags to specify which field argument values are needed in output (see argTYPE)
orderArgument change orders (see emArgChangeOrders)
integUsed to integrate detectors data
normFunction used to normalize electric and magnetic fields (for example normalization on incident wave)
medMedia distribution in space, can be used to calculate absorption w*Im(epsilon)*E^2

◆ SetWave()

template<class vset_t >
int emRecordAnalyzer< vset_t >::SetWave ( int  channel,
mngarg< emSourceWave wptr,
mngarg< VecTransform transform,
mngarg< VecTransform trans_ds 
)
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.


The documentation for this class was generated from the following file: