Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OrbitalTypeSet.hh
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 //////////////////////////////////////////////////////////////////////
10 /// @begin AtomTypeSet
11 ///
12 /// @brief
13 /// A class for reading in the orbital type properties
14 ///
15 /// @detailed
16 /// This class reads in the orbital_properties.txt file which contains the "chemical" information for orbitals.
17 /// This does not contain the actual properties, but sets the properties through the OrbitalType class.
18 /// This class is called by the ChemicalManager. Modeled off of atomtypeset.
19 ///
20 ///
21 ///
22 /// @authors
23 /// Steven Combs
24 ///
25 ///
26 /// @last_modified December 12 2010
27 /////////////////////////////////////////////////////////////////////////
28 
29 #ifndef INCLUDED_core_chemical_orbitals_OrbitalTypeSet_hh
30 #define INCLUDED_core_chemical_orbitals_OrbitalTypeSet_hh
31 
32 
33 // Project headers
35 // AUTO-REMOVED #include <utility/exit.hh>
36 #include <utility/pointer/ReferenceCount.hh>
37 #include <map>
38 #include <core/types.hh>
39 #include <utility/vector1_bool.hh>
41 
42 #include <utility/vector1.hh>
43 
44 
45 namespace core{
46 namespace chemical{
47 namespace orbitals{
48 
49 
50 
52 
53 
54 
55 public:
56  ///@brief Automatically generated virtual destructor for class deriving directly from ReferenceCount
57  virtual ~OrbitalTypeSet();
58  OrbitalTypeSet(std::string const & directory);
59 
60  void read_file(std::string const & filename);
61 
62  /// @brief [ ] operator, simulating vector index behavior
63  ///
64  /// @details look up an OrbitalTypeSet by 1-based indexing
65  ///
66  OrbitalType const &
67  operator[](core::Size const index) const
68  {
69  return *(orbitals_[index]);
70  }
71 
72 
73  /// @brief lookup the orbital type by the orbital type name string
74  int
75  orbital_type_index( std::string const & orbital_type_name ) const;
76 
77  /// @brief lookup the orbital type by the orbital type name string
78  int
79  orbital_type_index( std::string & orbital_type_name ) const;
80 
81 private:
82  /// lookup map: get orbital_type_index by orbital_type_name
83  std::map< std::string, int > orbital_type_index_;
84 
85 
86  /// @brief Save the directory name for future use
88 
89  /// @brief a collection of OrbitalTypes,
90  ///
91  /// @details OrbitalType has data of atom properties, and it can be
92  /// looked up by orbital_type_index.
94 
95 
96 };
97 
98 
99 
100 }
101 }
102 }
103 
104 
105 
106 
107 #endif /* ORBITALTYPESET_HH_ */