00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef ST_TPC_SIMPLE_ELECTRONICS_HH
00031 #define ST_TPC_SIMPLE_ELECTRONICS_HH
00032
00033 #include "StTpcElectronics.hh"
00034
00035 class StTpcSimpleElectronics : StTpcElectronics {
00036 public:
00037 ~StTpcSimpleElectronics() {}
00038
00039
00040
00041 static StTpcElectronics* instance();
00042 static StTpcElectronics* instance(const char*);
00043
00044
00045 double nominalGain() const;
00046 double channelGain(int,int,int) const;
00047 double channelGain(StTpcPadCoordinate&) const;
00048 double samplingFrequency() const;
00049 double tZero() const;
00050 double shapingTime() const;
00051 double tau() const;
00052
00053
00054 double adcConversion() const;
00055 double adcConversionCharge() const;
00056 int numberOfTimeBins() const;
00057 int averagePedestal() const;
00058 int pedestal(int,int,int,int) const;
00059 int pedestal(StTpcPadCoordinate&) const;
00060
00061
00062 void print(ostream& = cout) const;
00063
00064 private:
00065 StTpcSimpleElectronics();
00066 StTpcSimpleElectronics(const char*);
00067
00068 private:
00069 static StTpcElectronics* mInstance;
00070
00071 double mNominalGain;
00072 double mSamplingFrequency;
00073 double mTZero;
00074 double mShapingTime;
00075 double mTau;
00076
00077 double mAdcConversion;
00078 double mAdcConversionCharge;
00079 int mNumberOfTimeBins;
00080 int mAveragePedestal;
00081 };
00082 inline double StTpcSimpleElectronics::nominalGain() const {return mNominalGain;}
00083 inline double StTpcSimpleElectronics::samplingFrequency() const {return mSamplingFrequency;}
00084 inline double StTpcSimpleElectronics::shapingTime() const {return mShapingTime;}
00085 inline double StTpcSimpleElectronics::tZero() const {return mTZero;}
00086 inline double StTpcSimpleElectronics::tau() const {return mTau;}
00087 inline double StTpcSimpleElectronics::adcConversion() const {return mAdcConversion;}
00088 inline double StTpcSimpleElectronics::adcConversionCharge() const {return mAdcConversionCharge;}
00089 inline int StTpcSimpleElectronics::numberOfTimeBins() const {return mNumberOfTimeBins;}
00090 inline int StTpcSimpleElectronics::averagePedestal() const {return mAveragePedestal;}
00091 #endif