42 TMVA::ClassifierFactory* TMVA::ClassifierFactory::fgInstance = 0;
48 TMVA::ClassifierFactory& TMVA::ClassifierFactory::Instance()
50 if (!fgInstance) fgInstance =
new TMVA::ClassifierFactory();
58 void TMVA::ClassifierFactory::DestroyInstance()
60 if (fgInstance!=0)
delete fgInstance;
66 Bool_t TMVA::ClassifierFactory::Register(
const std::string &name, Creator creator )
68 if(fCalls.find(name) != fCalls.end())
70 std::cerr <<
"ClassifierFactory<>::Register - " << name <<
" already exists" << std::endl;
74 return fCalls.insert(CallMap::value_type(name, creator)).second;
80 Bool_t TMVA::ClassifierFactory::Unregister(
const std::string &name )
82 return fCalls.erase(name) == 1;
89 TMVA::IMethod* TMVA::ClassifierFactory::Create(
const std::string &name,
93 const TString& option )
98 CallMap::const_iterator it = fCalls.find(name);
101 if (it == fCalls.end()) {
102 std::cerr <<
"ClassifierFactory<>::Create - don't know anything about " << name << std::endl;
106 return (it->second)(job, title, dsi, option);
113 TMVA::IMethod* TMVA::ClassifierFactory::Create(
const std::string &name,
115 const TString& weightfile )
120 CallMap::const_iterator it = fCalls.find(name);
123 if (it == fCalls.end()) {
124 std::cerr <<
"ClassifierFactory<>::Create - don't know anything about " << name << std::endl;
128 return (it->second)(
"",
"", dsi, weightfile);
134 const std::vector<std::string> TMVA::ClassifierFactory::List()
const
136 std::vector<std::string> svec;
138 CallMap::const_iterator it = fCalls.begin();
139 for (; it != fCalls.end(); ++it) svec.push_back(it -> first);
147 void TMVA::ClassifierFactory::Print()
const
149 std::cout <<
"Print: ClassifierFactory<> knows about " << fCalls.size() <<
" objects" << std::endl;
151 CallMap::const_iterator it = fCalls.begin();
152 for (; it != fCalls.end(); ++it) std::cout <<
"Registered object name " << it -> first << std::endl;