00001 #ifndef FASTSHOWER_NORMALISATIONS_H 00002 #define FASTSHOWER_NORMALISATIONS_H 00003 00004 namespace FastShower{ 00005 class Normalisations{ 00006 public: 00007 Normalisations(double norm): 00008 m_core(norm), m_halo(norm), m_pencil(norm){} 00009 Normalisations(double core, double halo, double pencil): 00010 m_core(core), m_halo(halo), m_pencil(pencil){} 00011 double core() const; 00012 double halo() const; 00013 double pencil() const; 00014 void scaleCore(double); 00015 void scaleHalo(double); 00016 void scalePencil(double); 00017 00018 void scaleNormFactors(double); 00019 00020 private: 00021 double m_core; 00022 double m_halo; 00023 double m_pencil; 00024 }; 00025 // 00026 inline double Normalisations::core() const {return m_core;} 00027 inline double Normalisations::halo() const {return m_halo;} 00028 inline double Normalisations::pencil() const {return m_pencil;} 00029 inline void Normalisations::scaleCore(double scale) {m_core *= scale;} 00030 inline void Normalisations::scaleHalo(double scale) {m_halo *= scale;} 00031 inline void Normalisations::scalePencil(double scale) {m_pencil *= scale;} 00032 inline void Normalisations::scaleNormFactors(double scaleFactor){ 00033 m_core *= scaleFactor; 00034 m_halo *= scaleFactor; 00035 m_pencil *= scaleFactor; 00036 } 00037 }//namespace 00038 #endif