00001 #ifndef FASTSHOWER_ANSAMPLERROUTERSNSAMPLE_H 00002 #define FASTSHOWER_ANSAMPLERROUTERSNSAMPLE_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_ICELLAN_H 00013 #include "FastShowerUtils/ICellAN.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 ANSamplerRouterSNSample: 00039 virtual public ISampler, private SamplerRouter, public ICellAN{ 00040 public: 00041 ANSamplerRouterSNSample(const std::vector< std::pair<double, ISampler*> >&, 00042 double floor=0.0, std::string label=""); 00043 ANSamplerRouterSNSample(const ANSamplerRouterSNSample& s); 00044 virtual ISampler* clone()const ; 00045 ~ANSamplerRouterSNSample(){} 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