#include <orsa_file.h>
Public Member Functions | |
RWOFile () | |
AstDyS observation file, usually with a .rwo extension. | |
void | Read () |
void | Open () |
void | Close () |
virtual std::string | GetFileName () const |
virtual void | SetFileName (std::string name_in) |
virtual void | SetFileName (char *name_in) |
Public Attributes | |
std::vector< Observation > | obs |
Protected Attributes | |
std::string | filename |
FILE_TYPE | file |
FILE_STATUS | status |
Definition at line 238 of file orsa_file.h.
RWOFile | ( | ) |
AstDyS observation file, usually with a .rwo extension.
Definition at line 987 of file orsa_file.cc.
void Read | ( | ) | [virtual] |
Implements ReadFile.
Definition at line 989 of file orsa_file.cc.
References Observation::date, Observation::dec, Observation::designation, File::file, GETS_FILE, RWOFile::obs, Observation::obscode, ReadFile::Open(), Observation::ra, orsa::remove_leading_trailing_spaces(), REWIND_FILE, Angle::SetDPS(), Date::SetGregor(), Angle::SetHMS(), and orsa::UTC.
00989 { 00990 00991 Open(); 00992 00993 obs.clear(); 00994 00995 REWIND_FILE(file); 00996 00997 Observation dummy_obs; 00998 // dummy_obs.date.SetTimeScale(UTC); // checked, is UTC 00999 01000 double y,m,d,p,s,h; 01001 01002 char line[256]; 01003 01004 string designation; 01005 string date,ra,dec; 01006 string observatory_code; 01007 01008 while (GETS_FILE(line,256,file) != 0) { 01009 01010 // if (strlen(line) < 45) continue; // not a good line, maybe a comment or a white line... 01011 if (strlen(line) < 130) continue; // not a good line, maybe a comment or a white line... NOTE: radar observations are not read now, and have shorter lines 01012 if (line[0] == '!') continue; // comment/header line 01013 01014 designation.assign(line,1,9); 01015 remove_leading_trailing_spaces(designation); 01016 01017 date.assign(line,15,17); 01018 01019 ra.assign(line,34,12); 01020 01021 dec.assign(line,63,12); 01022 01023 observatory_code.assign(line,114,3); 01024 remove_leading_trailing_spaces(observatory_code); 01025 01026 dummy_obs.designation = designation; 01027 // dummy_obs.discovery_asterisk = discovery_asterisk; 01028 // dummy_obs.obscode = atoi(observatory_code.c_str()); 01029 dummy_obs.obscode = observatory_code; 01030 01031 /* sscanf(magnitude.c_str(),"%lf",&tmp); 01032 dummy_obs.mag = tmp; 01033 */ 01034 01035 01036 sscanf(date.c_str(),"%lf %lf %lf",&y,&m,&d); 01037 dummy_obs.date.SetGregor((int)y,(int)m,d,UTC); 01038 01039 sscanf(ra.c_str(),"%lf %lf %lf",&h,&m,&s); 01040 dummy_obs.ra.SetHMS(h,m,s); 01041 01042 sscanf(dec.c_str(),"%lf %lf %lf",&d,&p,&s); 01043 dummy_obs.dec.SetDPS(d,p,s); 01044 01045 //check for a good observation 01046 if ((designation != "") && 01047 (observatory_code != "") ) { 01048 obs.push_back(dummy_obs); 01049 } 01050 01051 } 01052 01053 }
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().
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 }
std::vector<Observation> obs |
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().