#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 988 of file orsa_file.cc.
void Read | ( | ) | [virtual] |
Implements ReadFile.
Definition at line 990 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.
00990 { 00991 00992 Open(); 00993 00994 obs.clear(); 00995 00996 REWIND_FILE(file); 00997 00998 Observation dummy_obs; 00999 // dummy_obs.date.SetTimeScale(UTC); // checked, is UTC 01000 01001 double y,m,d,p,s,h; 01002 01003 char line[256]; 01004 01005 string designation; 01006 string date,ra,dec; 01007 string observatory_code; 01008 01009 while (GETS_FILE(line,256,file) != 0) { 01010 01011 // if (strlen(line) < 45) continue; // not a good line, maybe a comment or a white line... 01012 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 01013 if (line[0] == '!') continue; // comment/header line 01014 01015 designation.assign(line,1,9); 01016 remove_leading_trailing_spaces(designation); 01017 01018 date.assign(line,15,17); 01019 01020 ra.assign(line,34,12); 01021 01022 dec.assign(line,63,12); 01023 01024 observatory_code.assign(line,114,3); 01025 remove_leading_trailing_spaces(observatory_code); 01026 01027 dummy_obs.designation = designation; 01028 // dummy_obs.discovery_asterisk = discovery_asterisk; 01029 // dummy_obs.obscode = atoi(observatory_code.c_str()); 01030 dummy_obs.obscode = observatory_code; 01031 01032 /* sscanf(magnitude.c_str(),"%lf",&tmp); 01033 dummy_obs.mag = tmp; 01034 */ 01035 01036 01037 sscanf(date.c_str(),"%lf %lf %lf",&y,&m,&d); 01038 dummy_obs.date.SetGregor((int)y,(int)m,d,UTC); 01039 01040 sscanf(ra.c_str(),"%lf %lf %lf",&h,&m,&s); 01041 dummy_obs.ra.SetHMS(h,m,s); 01042 01043 sscanf(dec.c_str(),"%lf %lf %lf",&d,&p,&s); 01044 dummy_obs.dec.SetDPS(d,p,s); 01045 01046 //check for a good observation 01047 if ((designation != "") && 01048 (observatory_code != "") ) { 01049 obs.push_back(dummy_obs); 01050 } 01051 01052 } 01053 01054 }
void Open | ( | ) | [inherited] |
Definition at line 61 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().
00061 { 00062 if (status != CLOSE) return; 00063 00064 file = OPEN_FILE(filename.c_str(),OPEN_READ); 00065 00066 if (file == 0) { 00067 ORSA_ERROR("Can't open file %s",filename.c_str()); 00068 } else { 00069 status = OPEN_R; 00070 } 00071 }
void Close | ( | ) | [inherited] |
Definition at line 116 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().