00001 /* 00002 ORSA - Orbit Reconstruction, Simulation and Analysis 00003 Copyright (C) 2002-2004 Pasquale Tricarico 00004 00005 This program is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU General Public License 00007 as published by the Free Software Foundation; either version 2 00008 of the License, or (at your option) any later version. 00009 00010 As a special exception, Pasquale Tricarico gives permission to 00011 link this program with Qt commercial edition, and distribute the 00012 resulting executable, without including the source code for the Qt 00013 commercial edition in the source distribution. 00014 00015 This program is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 You should have received a copy of the GNU General Public License 00021 along with this program; if not, write to the Free Software 00022 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00023 */ 00024 00025 #ifndef _ORSA_ANALYSIS_H_ 00026 #define _ORSA_ANALYSIS_H_ 00027 00028 #include <string> 00029 00030 #include "orsa_orbit.h" 00031 00032 namespace orsa { 00033 00034 class WindowParameters { 00035 public: 00036 WindowParameters(); 00037 00038 public: 00039 double window_amplitude; 00040 double window_start; 00041 double window_step; 00042 }; 00043 00044 class OrbitStream : public std::vector<OrbitWithEpoch> { 00045 public: 00046 int asteroid_number; 00047 double timestep; 00048 WindowParameters wp; 00049 std::string label; // used in output file names 00050 }; 00051 00052 class Analysis { 00053 public: 00054 virtual ~Analysis() {}; 00055 }; 00056 00057 // derived classes 00058 00059 // Lyapunov 00060 class Lyapunov : public Analysis {}; 00061 00062 // Mean Motion Resonance 00063 class MeanMotionResonance : public Analysis {}; 00064 00065 // Poincare surface of section 00066 class PoincareSurfaceOfSection : public Analysis {}; 00067 00068 } // namespace orsa 00069 00070 #endif // _ORSA_ANALYSIS_H_ 00071