20 #include <utility/vector1.hh>
23 #include <basic/resource_manager/ResourceOptions.hh>
24 #include <basic/options/option.hh>
25 #include <basic/options/keys/loops.OptionKeys.gen.hh>
28 #include <numeric/random/random.hh>
31 #include <utility/excn/Exceptions.hh>
32 #include <utility/file/FileName.hh>
33 #include <utility/file/PathName.hh>
43 using basic::resource_manager::LoaderType;
44 using basic::resource_manager::LocatorID;
45 using basic::resource_manager::LocatorTag;
46 using basic::resource_manager::ResourceDescription;
47 using basic::resource_manager::ResourceTag;
48 using basic::resource_manager::ResourceOptionsTag;
50 static numeric::random::RandomGenerator
RG(1337);
59 return basic::options::option[ basic::options::OptionKeys::loops::loop_file ].user();
62 basic::resource_manager::LoaderType
68 basic::resource_manager::LocatorID
74 basic::resource_manager::ResourceOptionsOP
84 return "The LoopsFileFallbackConfiguration requires that the flag '-loops:loop_file' be set on the command line.";
87 basic::resource_manager::LocatorID
92 if ( ! loops_files.size() )
94 throw utility::excn::EXCN_Msg_Exception(
"The fallback LoopsFile resource option has no loops files associated with it! Was the option omitted from the command line?");
96 core::Size const which_loops_file( loops_files.size() == 1 ? 1 :
core::Size(
RG.random_range(1,( loops_files.size() ))));
97 return loops_files[ which_loops_file ];
100 basic::resource_manager::FallbackConfigurationOP