00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software is part of the EvtGen package developed jointly 00005 // for the BaBar and CLEO collaborations. If you use all or part 00006 // of it, please give an appropriate acknowledgement. 00007 // 00008 // Copyright Information: See EvtGen/COPYRIGHT 00009 // Copyright (C) 1998 Caltech, UCSB 00010 // 00011 // Module: EvtGen/EvtRadCorr.hh 00012 // 00013 // Description:ISR interface 00014 // 00015 // Modification history: 00016 // 00017 // Lange April 27, 2002 Created 00018 // 00019 //------------------------------------------------------------------------ 00020 00021 #ifndef EVTRADCORR_HH 00022 #define EVTRADCORR_HH 00023 00024 00025 class EvtAbsRadCorr; 00026 class EvtParticle; 00027 00028 class EvtRadCorr{ 00029 00030 public: 00031 EvtRadCorr(); 00032 ~EvtRadCorr(); 00033 00034 static void doRadCorr(EvtParticle *p); 00035 00036 //This class does not take ownership of the random engine; 00037 //the caller needs to make sure that the engine is not 00038 //destroyed. 00039 static void setRadCorrEngine(EvtAbsRadCorr* isrEngine); 00040 static bool alwaysRadCorr(); 00041 static bool neverRadCorr(); 00042 static void setAlwaysRadCorr(); 00043 static void setNeverRadCorr(); 00044 static void setNormalRadCorr(); 00045 00046 private: 00047 00048 static EvtAbsRadCorr* _isrEngine; 00049 static bool _alwaysRadCorr; 00050 static bool _neverRadCorr; 00051 }; 00052 00053 #endif 00054