00001 00015 #ifndef DSPHYSCONSOPTICAL_H 00016 #define DSPHYSCONSOPTICAL_H 00017 00018 #include "GiGa/GiGaPhysConstructorBase.h" 00019 #include "GaudiKernel/ToolHandle.h" 00020 #include "GaudiKernel/IAlgTool.h" 00021 00022 class DsPhysConsOptical : public GiGaPhysConstructorBase 00023 { 00024 00025 public: 00026 00027 DsPhysConsOptical(const std::string& type, 00028 const std::string& name, 00029 const IInterface* parent); 00030 virtual ~DsPhysConsOptical(); 00031 00032 // Interface methods 00033 void ConstructParticle(); 00034 void ConstructProcess(); 00035 StatusCode initialize (); 00036 private: 00039 bool m_useCerenkov, m_useScintillation, m_useRayleigh, m_useAbsorption; 00040 00044 bool m_applyPreQE; 00045 double m_preQE; 00046 00052 // double m_cerenPhotonScaleWeight; 00053 00057 int m_cerenMaxPhotonPerStep; 00058 00061 // double m_scintPhotonScaleWeight; 00062 00063 00068 double m_ScintillationYieldFactor; 00069 bool m_useFastMu300nsTrick; 00070 00072 double m_birksConstant1; 00073 double m_birksConstant2; 00074 00076 bool m_doReemission; 00077 00079 bool m_doScintAndCeren; 00080 }; 00081 00082 #endif // DSPHYSCONSOPTICAL_H