PDBInfo.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: PDBInfo.h,v 1.3 2005/12/23 17:01:45 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_FORMAT_PDBINFO_H
00008 #define BALL_FORMAT_PDBINFO_H
00009 
00010 #include <vector>
00011 #include <stdexcept>
00012 
00013 #ifndef BALL_FORMAT_PDBRECORDS_H
00014 # include <BALL/FORMAT/PDBRecords.h>
00015 #endif
00016 
00017 #ifndef BALL_FORMAT_PDBDEFS_H
00018 # include <BALL/FORMAT/PDBdefs.h>
00019 #endif
00020 
00021 namespace BALL 
00022 {
00023   
00029   class BALL_EXPORT PDBInfo
00030   {
00031     public:
00032     
00035 
00036     PDBInfo() ;
00038     PDBInfo(const PDBInfo& pdbi) ;
00040     virtual ~PDBInfo() ;
00042     virtual void clear();
00044 
00048 
00049     PDBInfo& operator = (const PDBInfo& rhs);
00051 
00055 
00056     bool operator == (const PDBInfo& rhs) const;
00058     bool operator != (const PDBInfo& rhs) const;
00060 
00064 
00065     PDBRecords& getSkippedRecords() { return skipped_records_; }
00067     const PDBRecords& getSkippedRecords() const { return skipped_records_; }
00069     PDBRecords& getInvalidRecords() { return invalid_records_; }
00071     const PDBRecords& getInvalidRecords() const { return invalid_records_; }
00073     const String& getFilename() const { return filename_; }
00075     void setFilename(const String& filename) { filename_ = filename; }
00077     const String& getID() const { return id_; }
00079     void setID(const String& id) { id_ = id; }
00081     Size getNumberOfRecords() const { return number_of_records_; }
00083     void setNumberOfRecords(Size n) { number_of_records_ = n; }
00085     Size getNumberOfModels() const { return number_of_models_; }
00087     Size& getNumberOfModels() { return number_of_models_; }
00089     void setNumberOfModels(Size n) { number_of_models_ = n; }
00091     Position getCurrentModel() const { return model_read_; }
00093     Position& getCurentModel() { return model_read_; }
00095     void setCurrentModel(Position n) { model_read_ = n; }
00097     Size getNumberOfATOMRecords() const { return number_of_atom_records_; }
00099     Size& getNumberOfATOMRecords() { return number_of_atom_records_; }
00101     void setNumberOfATOMRecords(Size n) { number_of_atom_records_ = n; }
00103     Size getNumberOfHETATMRecords() const { return number_of_hetatm_records_; }
00105     Size& getNumberOfHETATMRecords() { return number_of_hetatm_records_; }
00107     void setNumberOfHETATMRecords(Size n) { number_of_hetatm_records_ = n; }
00109     const String& getName() const { return name_; }
00111     void setName(const String& name) { name_ = name; }
00116     std::list<Position> getRecordIndices(PDB::RecordType record) const;
00118 
00119     protected:
00121     PDBRecords skipped_records_;
00123     PDBRecords invalid_records_;
00125     String filename_;
00127     String id_;
00129     String name_;
00131     Size number_of_records_;
00133     Size number_of_models_;
00135     Position model_read_;
00137     Size number_of_atom_records_;
00139     Size number_of_hetatm_records_;
00140   };
00141   
00142 } // namespace BALL
00143 
00144 #endif // BALL_FORMAT_PDBINFO_H