#include "IEventWeighter.hxx" #include "IWeighterFactory.hxx" bool COMET::IEventWeighter::SetWeighter(const std::string& weighter){ COMET::IVWeighter* new_weighter=COMET::IWeighterFactory::Make(weighter,"weighter"); if(!new_weighter)return false; IEventWeighter& this_mgr=Instance(); if(this_mgr.fWeighter) delete this_mgr.fWeighter; this_mgr.fWeighter=new_weighter; return true; } double COMET::IEventWeighter::CalculateWeight(const COMET::ICOMETEvent& event){ IEventWeighter& this_mgr=Instance(); if(this_mgr.fWeighter){ this_mgr.fCurrentWeight=this_mgr.fWeighter->CalculateWeight(event); } return this_mgr.GetWeight(); }