StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StTpcElectronics.hh
1 /**********************************************************************
2  *
3  * $Id: StTpcElectronics.hh,v 1.6 2003/09/02 17:59:16 perev Exp $
4  *
5  * Author: brian Nov 3, 1998
6  *
7  **********************************************************************
8  *
9  * Description: Abstract Class interface for Electronics parameters
10  *
11  **********************************************************************
12  *
13  * $Log: StTpcElectronics.hh,v $
14  * Revision 1.6 2003/09/02 17:59:16 perev
15  * gcc 3.2 updates + WarnOff
16  *
17  * Revision 1.5 2000/06/23 00:12:24 snelling
18  * Removed dependence on local files now pointed to StDbUtilities
19  *
20  * Revision 1.4 1999/02/28 20:17:55 lasiuk
21  * add numberOfTimeBins
22  *
23  * Revision 1.3 1999/02/24 19:32:11 lasiuk
24  * tzero offset parameter added
25  *
26  * Revision 1.2 1999/01/18 10:21:55 lasiuk
27  * add tau
28  *
29  * Revision 1.1 1998/11/10 17:12:06 fisyak
30  * Put Brian trs versin into StRoot
31  *
32  * Revision 1.1 1998/11/04 18:52:25 lasiuk
33  * Initial Revision
34  *
35  **********************************************************************/
36 #ifndef ST_TPC_ELECTRONICS_HH
37 #define ST_TPC_ELECTRONICS_HH
38 
39 #include <Stiostream.h>
40 
41 #include "StGlobals.hh"
42 #include "StDbUtilities/StTpcPadCoordinate.hh"
43 
45 public:
46  virtual ~StTpcElectronics() {}
47  //StTpcElectronics(const StTpcElectronics&);
48  //StTpcElectronics& operator=(const StTpcElectronics&);
49 
50  // Analog Electronics
51  virtual double nominalGain() const = 0;
52  virtual double channelGain(int,int,int) const = 0;
53  virtual double channelGain(StTpcPadCoordinate&) const = 0;
54  virtual double shapingTime() const = 0;
55  virtual double samplingFrequency() const = 0;
56  virtual double tZero() const = 0;
57  virtual double tau() const = 0;
58 
59  // Digital Electronics
60  virtual double adcConversion() const = 0;
61  virtual double adcConversionCharge() const = 0;
62  virtual int numberOfTimeBins() const = 0;
63  virtual int averagePedestal() const = 0;
64  virtual int pedestal(int,int,int,int) const = 0;
65  virtual int pedestal(StTpcPadCoordinate&) const = 0;
66 
67  // Diagnostic
68  virtual void print(ostream& = cout) const = 0;
69 };
70 #endif