Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PeakAssignmentParameters.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 PeakAssignmentParametersList.hh
11 /// @author Oliver Lange
12 
13 #ifndef INCLUDED_protocols_noesy_assign_PeakAssignmentParameters_HH
14 #define INCLUDED_protocols_noesy_assign_PeakAssignmentParameters_HH
15 
16 
17 // Unit Header
18 
19 // Package Headers
20 
21 // Project Headers
22 #include <core/types.hh>
23 
24 // Utility headers
25 #include <utility/vector1.hh>
26 
27 //// C++ headers
28 #include <iostream>
29 #include <iosfwd>
30 #include <string>
31 
32 #ifdef MULTI_THREADED
33 #ifdef CXX11
34 // C++11 Headers
35 #include <atomic>
36 #include <mutex>
37 #endif
38 #endif
39 
40 namespace protocols {
41 namespace noesy_assign {
42 
43 class PeakAssignmentParameters { //: public utility::pointer::ReferenceCount {
44 
45 private:
46  static bool options_registered_;
47  PeakAssignmentParameters() {}; //private constructor
48 
49  /// @brief private singleton creation function to be used with
50  /// utility::thread::threadsafe_singleton
52 
53 public:
54  static void register_options();
55  static void set_cycle( core::Size );
56  void show( std::ostream& ) const;
57  void show_on_tracer() const;
58  static PeakAssignmentParameters const* get_instance();
60  static void reset();
61 private:
62  void set_options_from_cmdline( core::Size cycle = 0 );
63  /// Singleton instance pointer
64 #if defined MULTI_THREADED && defined CXX11
65  static std::atomic< PeakAssignmentParameters * > instance_;
66 #else
68 #endif
69 
71 
72 
73 #ifdef MULTI_THREADED
74 #ifdef CXX11
75 public:
76 
77  /// @brief This public method is meant to be used only by the
78  /// utility::thread::safely_create_singleton function and not meant
79  /// for any other purpose. Do not use.
80  static std::mutex & singleton_mutex();
81 
82 private:
83  static std::mutex singleton_mutex_;
84 #endif
85 #endif
86 
87 public:
88  /* maybe make all options const
89  make cmd-line options vectors for 7 cycles and have static function that
90  switches cycles by throwing away one instance and creating a new one with the given
91  cycle number and setting all const-params in the constructor from the cmd-line.
92 
93  all good, unless I want to change the things from somewhere else than cmdline...
94  */
95 
96  //cycle independent
100  // core::Real dmax_; //unused
104  core::Real nr_conformers_violatable_; //Mvio in fraction of nr_conformers
107  //cycle dependent
110  //obsolet core::Real decoy_compatibility_exponent_; //eta, eq. (6)
111 
116 
118  core::Real local_distviol_range_; //how many (in percent) decoys at both ends of the range are ignored to calculate max_extension
123 
125  core::Real network_atom_min_; //N_min per atom
129  core::Real min_volume_; //minimum volume contribution
130 
131  core::Real cst_strength_; //for 1/cst_strength ->sigma for BoundFunc
132 
139 
148 
149  utility::vector1<core::Real> prob_sigmoid_tau_;
150  utility::vector1<core::Real> prob_sigmoid_m_;
151  utility::vector1<core::Real> prob_sigmoid_w_;
152  utility::vector1<core::Real> prob_level_;
153 
154 };
155 
156 }
157 }
158 
159 #endif
platform::Size Size
Definition: types.hh:30
rosetta project type declarations
static PeakAssignmentParameters * instance_
Singleton instance pointer.
static PeakAssignmentParameters * create_singleton_instance()
private singleton creation function to be used with utility::thread::threadsafe_singleton ...
static PeakAssignmentParameters * get_nonconst_instance()
static PeakAssignmentParameters const * get_instance()
static function to get the instance of ( pointer to) this singleton class
platform::Real Real
Definition: types.hh:35