gpfksimulator/FKArrayMap.h
Go to the documentation of this file.
00001 /***************************************************************************
00002 **
00003 **  Copyright (C) 2002-2009 Marc Wathelet. All rights reserved.
00004 **
00005 **  This file is part of build_array.
00006 **
00007 **  This file may be distributed and/or modified under the terms of the
00008 **  GNU General Public License version 2 or 3 as published by the Free
00009 **  Software Foundation and appearing in the file LICENSE.GPL included
00010 **  in the packaging of this file.
00011 **
00012 **  This file is distributed in the hope that it will be useful, but WITHOUT
00013 **  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00014 **  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
00015 **  more details.
00016 **
00017 **  See http://www.geopsy.org for more information.
00018 **
00019 **  Created : 2007-11-13
00020 **  Authors:
00021 **    Marc Wathelet (LGIT, Grenoble, France)
00022 **
00023 ***************************************************************************/
00024 
00025 #ifndef FKARRAYMAP_H
00026 #define FKARRAYMAP_H
00027 
00028 #include <QGpCoreTools.h>
00029 
00030 class SourceParameters;
00031 class MediumParameters;
00032 
00033 class FKArrayMap : public AbstractFunction2
00034 {
00035   TRANSLATIONS("FKArrayMap")
00036 public:
00037   FKArrayMap();
00038   ~FKArrayMap();
00039 
00040   void setStations(const QVector<Point2D>& p);
00041   void addSource();
00042   void removeSource(int index);
00043   void setSourceSignals(int iSrc, const SourceParameters& src, const MediumParameters& medium);
00044   void setStationSignals();
00045 
00046   int sourceCount() const {return _sourceSig.count();}
00047   double theoreticalKmax() const;
00048 
00049   virtual double value(double kx, double ky) const;
00050 private:
00051   void uniquePoints();
00052 
00053   QVector<Point2D> _stations;
00054   QVector<Complex> _stationSig;
00055   QVector< QVector<Complex> > _sourceSig;
00056 };
00057 
00058 #endif // FKARRAYMAP_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines