2010-03-11 15:47:40 +00:00
/*
* Copyright ( C ) 2010 Thorsten Liebig ( Thorsten . Liebig @ gmx . de )
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2010-03-01 18:35:28 +00:00
# ifndef PROCESSVOLTAGE_H
# define PROCESSVOLTAGE_H
# include "processing.h"
2010-03-02 13:54:50 +00:00
//! Process voltage along a line from start to stop coordinates. ATM integration along the axis e.g.: in x, then y then z direction (Future: diagonal integration)
2010-03-01 18:35:28 +00:00
class ProcessVoltage : public Processing
{
public :
ProcessVoltage ( Operator * op , Engine * eng ) ;
virtual ~ ProcessVoltage ( ) ;
2010-06-28 16:05:03 +00:00
virtual void Init ( ) ;
virtual void FlushData ( ) ;
2010-03-10 11:15:14 +00:00
virtual int Process ( ) ;
2010-03-01 18:35:28 +00:00
protected :
vector < FDTD_FLOAT > voltages ;
2010-06-28 16:05:03 +00:00
vector < _Complex double > FD_voltages ;
void WriteFDVoltages ( ) ;
2010-03-01 18:35:28 +00:00
} ;
# endif // PROCESSVOLTAGE_H