StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEmcVirtualSimulator.h
1 #ifndef STAR_StEmcVirtualSimulator
2 #define STAR_StEmcVirtualSimulator
3 
4 // $Id: StEmcVirtualSimulator.h,v 1.7 2007/10/08 15:28:39 kocolosk Exp $
5 
6 #ifndef ROOT_Rtypes
7 #include "Rtypes.h"
8 #endif
9 
10 class StEmcRawHit;
11 class StMcCalorimeterHit;
12 class StBemcTables;
13 
14 /*****************************************************************************
15  * @class StEmcVirtualSimulator
16  * @author A.Pavlinov -> A.Suaide -> A.Kocoloski
17  *
18  * This class provides the interface for EMC simulator. It is an abstract
19  * class which is inherited by any simulator class (for example
20  * StEmcSimpleSimulator or StEmcPmtSimulator).
21  *****************************************************************************/
23 {
24 public:
26  virtual ~StEmcVirtualSimulator();
27 
28  virtual void setTables(const StBemcTables *tables) = 0;
29  virtual void setCalibScale(float scale) = 0;
30  virtual void setCalibSpread(float spread) = 0;
31  virtual void setEmbeddingMode(bool flag) = 0;
32  virtual void setMaximumAdc(double adc) = 0;
33  virtual void setMaximumAdcSpread(double spread) = 0;
34 
35  virtual StEmcRawHit* makeRawHit(const StMcCalorimeterHit *mcHit) = 0;
36 
39  enum StEmcSimulatorMode { kTestMode,
40  kSimpleMode,
41  kPrimaryOnlyMode,
42  kPrimarySecondaryFullMode,
43  kPrimarySecondaryFastMode
44  };
45 
46  ClassDef(StEmcVirtualSimulator, 1) // Abstract class for Emc simulator
47 };
48 #endif
49 
50 /*****************************************************************************
51  * $Log: StEmcVirtualSimulator.h,v $
52  * Revision 1.7 2007/10/08 15:28:39 kocolosk
53  * setMaximumAdc(Spread) methods allow for better simulation of BSMD ADC response
54  * http://www.star.bnl.gov/HyperNews-star/get/emc2/2507.html
55  *
56  * Revision 1.6 2007/09/11 21:58:10 kocolosk
57  * small cleanup and extra documentation
58  *
59  * Revision 1.5 2007/09/11 21:49:14 kocolosk
60  * complete overhaul of the BEMC simulator
61  * http://www.star.bnl.gov/HyperNews-star/get/emc2/2486.html
62  *
63  * Revision 1.4 2005/03/21 21:36:39 suaide
64  * fixed problem with chain
65  *
66  * Revision 1.3 2004/08/06 13:24:48 suaide
67  * New features added and fixed some bugs in the database
68  *
69  * Revision 1.2 2002/06/04 16:09:37 pavlinov
70  * added option with DB(pedestal ans calibration coefficients
71  *
72  * Revision 1.1 2000/10/23 22:53:15 pavlinov
73  * First working C++ version
74  *****************************************************************************/