00001 #include "FastShowerUtils/InTail.h" 00002 #include "FastShowerUtils/ProcessedFlat.h" 00003 #include "FastShowerUtils/IConfigurer.h" 00004 namespace FastShower{ 00005 InTail::InTail(IFn* tf): 00006 m_tailFrac(tf), m_dist( new ProcessedFlat() ){} 00007 // 00008 InTail::InTail(const IConfigurer& c, const std::string& s){ 00009 m_tailFrac = c.findFn(s+"TailFrac"); 00010 m_dist = c.makeProcessedFlat(s+"InTail"); 00011 } 00012 // 00013 bool InTail::operator()(const PolyArgs& pa) const { 00014 return ( m_dist->sample() < m_tailFrac->value(pa) ); 00015 } 00016 // 00017 IInTail* InTail::clone() const {return new InTail(*this);} 00018 // 00019 void InTail::components(IDebug::Cpts& v) const { 00020 v.push_back(m_tailFrac); 00021 v.push_back(m_dist); 00022 return; 00023 } 00024 } 00025 00026 00027 00028 00029 00030 00031 00032 00033