00001 #ifndef STAR_StEmcVirtualSimulator 00002 #define STAR_StEmcVirtualSimulator 00003 00004 // $Id: StEmcVirtualSimulator.h,v 1.7 2007/10/08 15:28:39 kocolosk Exp $ 00005 00006 #ifndef ROOT_Rtypes 00007 #include "Rtypes.h" 00008 #endif 00009 00010 class StEmcRawHit; 00011 class StMcCalorimeterHit; 00012 class StBemcTables; 00013 00014 /***************************************************************************** 00015 * @class StEmcVirtualSimulator 00016 * @author A.Pavlinov -> A.Suaide -> A.Kocoloski 00017 * 00018 * This class provides the interface for EMC simulator. It is an abstract 00019 * class which is inherited by any simulator class (for example 00020 * StEmcSimpleSimulator or StEmcPmtSimulator). 00021 *****************************************************************************/ 00022 class StEmcVirtualSimulator 00023 { 00024 public: 00025 StEmcVirtualSimulator(); 00026 virtual ~StEmcVirtualSimulator(); 00027 00028 virtual void setTables(const StBemcTables *tables) = 0; 00029 virtual void setCalibScale(float scale) = 0; 00030 virtual void setCalibSpread(float spread) = 0; 00031 virtual void setEmbeddingMode(bool flag) = 0; 00032 virtual void setMaximumAdc(double adc) = 0; 00033 virtual void setMaximumAdcSpread(double spread) = 0; 00034 00035 virtual StEmcRawHit* makeRawHit(const StMcCalorimeterHit *mcHit) = 0; 00036 00039 enum StEmcSimulatorMode { kTestMode, 00040 kSimpleMode, 00041 kPrimaryOnlyMode, 00042 kPrimarySecondaryFullMode, 00043 kPrimarySecondaryFastMode 00044 }; 00045 00046 ClassDef(StEmcVirtualSimulator, 1) // Abstract class for Emc simulator 00047 }; 00048 #endif 00049 00050 /***************************************************************************** 00051 * $Log: StEmcVirtualSimulator.h,v $ 00052 * Revision 1.7 2007/10/08 15:28:39 kocolosk 00053 * setMaximumAdc(Spread) methods allow for better simulation of BSMD ADC response 00054 * http://www.star.bnl.gov/HyperNews-star/get/emc2/2507.html 00055 * 00056 * Revision 1.6 2007/09/11 21:58:10 kocolosk 00057 * small cleanup and extra documentation 00058 * 00059 * Revision 1.5 2007/09/11 21:49:14 kocolosk 00060 * complete overhaul of the BEMC simulator 00061 * http://www.star.bnl.gov/HyperNews-star/get/emc2/2486.html 00062 * 00063 * Revision 1.4 2005/03/21 21:36:39 suaide 00064 * fixed problem with chain 00065 * 00066 * Revision 1.3 2004/08/06 13:24:48 suaide 00067 * New features added and fixed some bugs in the database 00068 * 00069 * Revision 1.2 2002/06/04 16:09:37 pavlinov 00070 * added option with DB(pedestal ans calibration coefficients 00071 * 00072 * Revision 1.1 2000/10/23 22:53:15 pavlinov 00073 * First working C++ version 00074 *****************************************************************************/
1.5.9