00001 #ifndef FASTSHOWER_SNSAMPLERROUTERC0SAMPLE_H 00002 #define FASTSHOWER_SNSAMPLERROUTERC0SAMPLE_H 00003 00004 #ifndef FASTSHOWER_ISAMPLER_H 00005 #include "FastShowerUtils/ISampler.h" 00006 #endif 00007 00008 #ifndef FASTSHOWER_ISAMPLERROUTER_H 00009 #include "FastShowerUtils/SamplerRouter.h" 00010 #endif 00011 00012 #ifndef FASTSHOWER_ICELLSN_H 00013 #include "FastShowerUtils/ICellSN.h" 00014 #endif 00015 00016 #ifndef FASTSHOWER_IDEBUG_H 00017 #include "FastShowerUtils/IDebug.h" 00018 #endif 00019 00020 #ifndef STD_VECTOR_H 00021 #define STD_VECTOR_H 00022 #include <vector> 00023 #endif 00024 00025 namespace FastShower{ 00030 00031 00032 00033 00034 00035 00036 00037 00038 class SNSamplerRouterC0Sample: 00039 virtual public ISampler, private SamplerRouter, public ICellSN{ 00040 public: 00041 SNSamplerRouterC0Sample(const std::vector< std::pair<double, ISampler*> >&, 00042 double floor=0.0, std::string label=""); 00043 SNSamplerRouterC0Sample(const SNSamplerRouterC0Sample& s); 00044 virtual ISampler* clone()const ; 00045 ~SNSamplerRouterC0Sample(){} 00047 virtual double indexQ(const ParticleParameters&, const CoreSamples&) const; 00049 virtual double lastValue(const CoreSamples&) const; 00050 }; 00051 } 00052 #endif 00053 00054 00055 00056 00057 00058