#include <orsa_file.h>
Inheritance diagram for RadauModIntegrationFile:
Public Member Functions | |
RadauModIntegrationFile (OrbitStream &) | |
Modified Radau input files. | |
void | Read () |
void | Open () |
void | Close () |
virtual std::string | GetFileName () const |
virtual void | SetFileName (std::string name_in) |
virtual void | SetFileName (char *name_in) |
Protected Attributes | |
std::string | filename |
FILE_TYPE | file |
FILE_STATUS | status |
Definition at line 168 of file orsa_file.h.
Modified Radau input files.
Definition at line 2289 of file orsa_file.cc.
02289 : ReadFile() { 02290 os = &osin; 02291 }
void Read | ( | ) | [virtual] |
Implements ReadFile.
Definition at line 2293 of file orsa_file.cc.
References Orbit::a, orsa::AU, Orbit::e, OrbitWithEpoch::epoch, orsa::FromUnits(), GETS_FILE, Orbit::i, Orbit::M, orsa::M, Orbit::omega_node, Orbit::omega_pericenter, ReadFile::Open(), orsa::OPEN_R, ORSA_ERROR, orsa::pi, REWIND_FILE, File::status, OrbitStream::timestep, and orsa::YEAR.
02293 { 02294 02295 // if (status == CLOSE) Open(); 02296 02297 Open(); 02298 02299 if (status != OPEN_R){ 02300 ORSA_ERROR("problems encountered when opening file."); 02301 return; 02302 } 02303 02304 os->clear(); 02305 os->timestep = 0.0; 02306 OrbitWithEpoch fo; 02307 REWIND_FILE(file); 02308 02309 double a,e,i,omega_per,omega_nod,M; 02310 double time,time_old=0,timestep; 02311 02312 char line[1024]; 02313 02314 /* while ( (fscanf(file,"%lf %lf %lf %lf %lf %lf %lf", 02315 &time,&a,&e,&i,&M,&omega_per,&omega_nod)) != EOF ) { 02316 */ 02317 02318 while (GETS_FILE(line,1024,file) != 0) { 02319 02320 sscanf(line,"%lf %lf %lf %lf %lf %lf %lf", 02321 &time,&a,&e,&i,&M,&omega_per,&omega_nod); 02322 02323 timestep = time - time_old; 02324 time_old = time; 02325 if (os->size() == 2) { 02326 os->timestep = FromUnits(timestep,YEAR); // read in days, save in the current time units 02327 // cerr << "timestep set to: " << os->timestep << endl; 02328 } 02329 02330 fo.epoch = FromUnits(time,YEAR); // read in days, save in the current time units 02331 02332 fo.a = FromUnits(a,AU); 02333 fo.e = e; 02334 fo.i = (pi/180.0)*i; 02335 fo.omega_node = (pi/180.0)*omega_nod; 02336 fo.omega_pericenter = (pi/180.0)*omega_per; 02337 fo.M = (pi/180.0)*M; 02338 02339 os->push_back(fo); 02340 02341 // QUICK AND DIRTY! 02342 if (fo.e >= 1.0) { 02343 ORSA_ERROR("reading eccentricity > 1.0, returning."); 02344 return; 02345 } 02346 02347 } 02348 02349 }
Here is the call graph for this function:
void Open | ( | ) | [inherited] |
Definition at line 60 of file orsa_file.cc.
References orsa::CLOSE, File::file, File::filename, OPEN_FILE, orsa::OPEN_R, OPEN_READ, ORSA_ERROR, and File::status.
Referenced by SWIFTFile::AsteroidsInFile(), Mercury5IntegrationFile::Read(), TLEFile::Read(), NEODYSCAT::Read(), JPLDastcomCometFile::Read(), JPLDastcomUnnumFile::Read(), JPLDastcomNumFile::Read(), AstDySMatrixFile::Read(), RadauModIntegrationFile::Read(), SWIFTFile::Read(), LocationFile::Read(), RWOFile::Read(), MPCObsFile::Read(), MPCCometFile::Read(), MPCOrbFile::Read(), and AstorbFile::Read().
00060 { 00061 if (status != CLOSE) return; 00062 00063 file = OPEN_FILE(filename.c_str(),OPEN_READ); 00064 00065 if (file == 0) { 00066 ORSA_ERROR("Can't open file %s",filename.c_str()); 00067 } else { 00068 status = OPEN_R; 00069 } 00070 }
void Close | ( | ) | [inherited] |
Definition at line 115 of file orsa_file.cc.
References orsa::CLOSE, CLOSE_FILE, File::file, and File::status.
Referenced by SWIFTFile::AsteroidsInFile(), ReadWriteFile::Open(), OrsaFile::Read(), OrsaConfigFile::Read(), SWIFTFile::Read(), Config::read_from_file(), File::SetFileName(), OrsaFile::Write(), OrsaConfigFile::Write(), Config::write_to_file(), and File::~File().
virtual std::string GetFileName | ( | ) | const [inline, virtual, inherited] |
Definition at line 99 of file orsa_file.h.
References File::filename.
Referenced by OrsaFile::Read().
00099 { return filename; }
virtual void SetFileName | ( | std::string | name_in | ) | [inline, virtual, inherited] |
Definition at line 101 of file orsa_file.h.
References File::Close(), orsa::CLOSE, File::filename, and File::status.
Referenced by OrsaConfigFile::OrsaConfigFile(), and File::SetFileName().
Here is the call graph for this function:
virtual void SetFileName | ( | char * | name_in | ) | [inline, virtual, inherited] |
Definition at line 106 of file orsa_file.h.
References File::SetFileName().
00106 { 00107 std::string n = name_in; 00108 SetFileName (n); 00109 }
Here is the call graph for this function:
std::string filename [protected, inherited] |
Definition at line 112 of file orsa_file.h.
Referenced by File::GetFileName(), ReadWriteFile::Open(), WriteFile::Open(), ReadFile::Open(), and File::SetFileName().
FILE_TYPE file [protected, inherited] |
Definition at line 113 of file orsa_file.h.
Referenced by SWIFTFile::AsteroidsInFile(), File::Close(), File::File(), ReadWriteFile::Open(), WriteFile::Open(), ReadFile::Open(), Mercury5IntegrationFile::Read(), OrsaFile::Read(), OrsaConfigFile::Read(), SWIFTFile::Read(), LocationFile::Read(), RWOFile::Read(), MPCObsFile::Read(), MPCCometFile::Read(), MPCOrbFile::Read(), AstorbFile::Read(), OrsaFile::Write(), and OrsaConfigFile::Write().
FILE_STATUS status [protected, inherited] |
Definition at line 114 of file orsa_file.h.
Referenced by File::Close(), File::File(), Mercury5IntegrationFile::Mercury5IntegrationFile(), ReadWriteFile::Open(), WriteFile::Open(), ReadFile::Open(), Mercury5IntegrationFile::Read(), TLEFile::Read(), NEODYSCAT::Read(), JPLDastcomCometFile::Read(), JPLDastcomUnnumFile::Read(), JPLDastcomNumFile::Read(), AstDySMatrixFile::Read(), RadauModIntegrationFile::Read(), OrsaFile::Read(), OrsaConfigFile::Read(), SWIFTFile::Read(), LocationFile::Read(), MPCObsFile::Read(), MPCCometFile::Read(), MPCOrbFile::Read(), AstorbFile::Read(), File::SetFileName(), OrsaFile::Write(), and OrsaConfigFile::Write().