File indexing completed on 2025-08-06 08:18:13
0001 #include "TrkrHitv2.h"
0002 #include <climits>
0003
0004 void TrkrHitv2::CopyFrom(const TrkrHit& source)
0005 {
0006
0007 if (this == &source)
0008 {
0009 return;
0010 }
0011
0012
0013 TrkrHit::CopyFrom(source);
0014
0015
0016 setAdc(source.getAdc());
0017 }
0018
0019
0020 void TrkrHitv2::addEnergy(const double edep)
0021 {
0022 double max_adc = (double) USHRT_MAX;
0023
0024
0025 double ein = edep * TrkrDefs::EdepScaleFactor;
0026 if ((double) m_adc + ein > max_adc)
0027 {
0028 m_adc = USHRT_MAX;
0029 }
0030 else
0031 {
0032 m_adc += (unsigned short) (ein);
0033 }
0034 }
0035
0036 double TrkrHitv2::getEnergy() const
0037 {
0038 return ((double) m_adc) / TrkrDefs::EdepScaleFactor;
0039 }
0040
0041 void TrkrHitv2::setAdc(const unsigned int adc)
0042 {
0043 if (adc > USHRT_MAX)
0044 {
0045 m_adc = USHRT_MAX;
0046 }
0047 else
0048 {
0049 m_adc = (unsigned short) adc;
0050 }
0051 }
0052
0053 unsigned int TrkrHitv2::getAdc() const
0054 {
0055 return (unsigned int) m_adc;
0056 }