SCWRLRotamerFile.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: SCWRLRotamerFile.h,v 1.1.2.2 2007/08/07 07:28:37 toussaint Exp $
00005 //
00006 
00007 #ifndef BALL_FORMAT_SCWRLROTAMERFILE_H
00008 #define BALL_FORMAT_SCWRLROTAMERFILE_H
00009 
00010 #include <BALL/FORMAT/lineBasedFile.h>
00011 
00012 namespace BALL
00013 {
00015   class RotamerLibrary;
00024   class BALL_EXPORT SCWRLRotamerFile : public LineBasedFile
00025   {
00026 
00027     public:
00028 
00032 
00033     SCWRLRotamerFile() ;
00034 
00036     SCWRLRotamerFile(const SCWRLRotamerFile& file) ;
00037 
00039     SCWRLRotamerFile(const String& name, File::OpenMode open_mode = std::ios::in) ;
00040 
00042     virtual ~SCWRLRotamerFile() ;
00044 
00045 
00049 
00050     const SCWRLRotamerFile& operator = (const SCWRLRotamerFile& file);
00051 
00053     void operator >> (RotamerLibrary& rotamer_library);
00054 
00055     // TODO output operator????
00057 
00058 
00059     protected:
00060 
00061       // backbone dependent read method
00062       void readSCWRLBackboneDependentLibraryFile_(RotamerLibrary& library) throw(Exception::ParseError);
00063 
00064       // backbone independent read method
00065       void readSCWRLBackboneIndependentLibraryFile_(RotamerLibrary& library) throw(Exception::ParseError);
00066 
00067   };
00068 } // namespace BALL
00069 
00070 #endif // BALL_FORMAT_SCWRLROTAMERFILE_H