Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ScoringManager.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 /// @file core/scoring/ScoringManager.hh
11 /// @brief Scoring manager class header
12 /// @author Andrew Leaver-Fay (leaverfa@email.unc.edu)
13 
14 #ifndef INCLUDED_core_scoring_ScoringManager_hh
15 #define INCLUDED_core_scoring_ScoringManager_hh
16 
17 // Unit headers
19 
20 // Package headers
21 //#include <core/pack/dunbrack/RotamerLibrary.fwd.hh>
35 //#include <core/scoring/InterchainPotential.fwd.hh>
45 #include <core/scoring/P_AA.fwd.hh>
52 
58 
59 // AUTO-REMOVED #include <core/chemical/ResidueType.fwd.hh>
64 
67 #ifdef WIN32
68 #include <core/scoring/methods/EnergyMethodCreator.hh> // WIN32 INCLUDE
69 #endif
70 
71 // AUTO-REMOVED #include <core/scoring/EnergyMap.fwd.hh>
72 // AUTO-REMOVED #include <core/scoring/types.hh>
76 //XRW_B_T1
77 //#include <core/coarse/CoarseEtable.fwd.hh>
78 //XRW_E_T1
79 
80 // C++ headers
81 #include <map>
82 
83 #include <utility/vector1.hh>
84 
85 
86 namespace core {
87 namespace scoring {
88 
89 //singelton class
91 {
92 public:
93  //typedef core::scoring::mm::MMLJLibrary MMLJLibrary;
94  //typedef core::scoring::mm::MMLJEnergyTable MMLJEnergyTable;
95  //typedef core::scoring::mm::MMTorsionLibrary MMTorsionLibrary;
96  //typedef core::scoring::mm::MMBondAngleLibrary MMBondAngleLibrary;
97  //typedef core::scoring::mm::MMBondLengthLibrary MMBondLengthLibrary;
98 
99 public:
100  static ScoringManager * get_instance();
101 
103 
104  //P_AA const & get_P_AA() const;
105  //ReferenceEnergyPotential const & get_ReferenceEnergyPotnential() const;
106  PairEPotential const & get_PairEPotential() const;
107 
108  GenBornPotential const & get_GenBornPotential() const;
109 
111 
112  ///RotamerLibrary & get_RotamerLibrary() const;
113 
114  Ramachandran2B const & get_Ramachandran2B() const;
115 
116  Ramachandran const & get_Ramachandran() const;
117 
119 
121 
122  OmegaTether const & get_OmegaTether() const;
123 
125 
126  CenHBPotential const & get_CenHBPotential() const;
127 
128  EnvPairPotential const & get_EnvPairPotential() const;
129 
131 
132  AtomVDW const & get_AtomVDW( std::string const & atom_type_set_name ) const;
133 
134  rna::RNA_AtomVDW const & get_RNA_AtomVDW() const;
135 
138  std::string const & atom_type_set_name,
139  Real const & min_occ_energy
140  ) const;
141 
143 
145 
147 
149 
151 
152  mm::MMLJLibrary const & get_MMLJLibrary() const;
153 
155 
157 
159 
161 
162  nv::NVlookup const & get_NVLookupTable() const;
164 
165 
166 
168 
169  P_AA const & get_P_AA() const;
170 
171  UnfoldedStatePotential const & get_UnfoldedStatePotential( std::string const & type ) const;
172 
174 
176 
177  Membrane_FAPotential const & get_Membrane_FAPotential() const; //pba
178 
180 
183 
186 
189 
190  //pack::dunbrack::SingleResidueRotamerLibraryCAP
191  //get_NCAARotamerLibrary( chemical::ResidueType const & rsd_type );
192 
193  ///
195  energy_method( ScoreType const & t, methods::EnergyMethodOptions const & options ) const;
196 
197  ///
198  void
200 
201  //XRW_B_T1
202  /*
203  ///
204  void
205  add_coarse_etable( std::string const & name, coarse::CoarseEtableOP etable );
206  */
207  //XRW_E_T1
208 
209  ///pba
210  void
211  add_memb_etable( std::string const & name, etable::MembEtableOP etable );
212 
213  ///pba
215  memb_etable( std::string const & table_id ) const;
216 
217  ///
219  etable( std::string const & etable_id ) const;
220 
221  //XRW_B_T1
222  /*
223  ///
224  coarse::CoarseEtableCAP
225  coarse_etable( std::string const & etable_id ) const;
226  */
227  //XRW_E_T1
228 
229 private:
230 
232 
233  //private constructor
234  ScoringManager();
235  ~ScoringManager();
236 
237  // WARNING -- if you add something here don't forget to initialize to 0 in the constructor
239  //mutable RotamerLibrary * rotamer_Library_;
247  mutable std::map< std::string, AtomVDWOP > atom_vdw_;
256  //P_AA Paa_ppPotential_;
264  mutable P_AAOP p_aa_;
273  //ReferenceEnergyPotential referenceEnergyPotential_;
277 
278 
280  // data
281  mutable std::map< std::string, etable::EtableOP > etables_;
282  //XRW_B_T1
283  //mutable std::map< std::string, coarse::CoarseEtableOP > coarse_etables_;
284  //XRW_E_T1
285  mutable std::map< std::string, etable::MembEtableOP > memb_etables_; //pba
286 
287 
288  // NCAA rot lib map
289  /// mutable std::map< std::string, pack::dunbrack::SingleResidueRotamerLibraryCOP > ncaa_rotlibs_;
290 
292 
293 };
294 } // namespace core
295 } // namespace scoring
296 
297 
298 #endif