00001 #ifndef MU_END_CROSSTALK_GENERATOR_H 00002 #define MU_END_CROSSTALK_GENERATOR_H 00003 00004 class CSCAnalogSignal; 00005 00019 class CSCCrosstalkGenerator 00020 { 00021 public: 00022 CSCCrosstalkGenerator() : theCrosstalk(0), theDelay(0), 00023 theResistiveFraction(0.) {}; 00024 00025 void setParameters(float crosstalk, float delay, float resistiveFraction) { 00026 theCrosstalk = crosstalk; 00027 theDelay = delay; 00028 theResistiveFraction = resistiveFraction; 00029 } 00030 00031 CSCAnalogSignal getCrosstalk(const CSCAnalogSignal & inputSignal) const; 00032 00034 float ratio(const CSCAnalogSignal & crosstalkSignal, const CSCAnalogSignal & signal) const; 00035 00036 private: 00037 float theCrosstalk; 00038 float theDelay; 00039 // what fraction of the neighboring signal goes unaltered onto this element 00040 float theResistiveFraction; 00041 }; 00042 00043 #endif 00044