diff --git a/src/THcAerogel.cxx b/src/THcAerogel.cxx index 99bb5f5087fa43eeb8b63054822e98bcf033dd0e..94746cf26af17074a6cd28bf3bf9c530a6870b7c 100644 --- a/src/THcAerogel.cxx +++ b/src/THcAerogel.cxx @@ -519,7 +519,7 @@ void THcAerogel::Clear(Option_t* opt) fGoodPosAdcPulseInt.at(ielem) = 0.0; fGoodPosAdcPulseIntRaw.at(ielem) = 0.0; fGoodPosAdcPulseAmp.at(ielem) = 0.0; - fGoodPosAdcPulseTime.at(ielem) = 0.0; + fGoodPosAdcPulseTime.at(ielem) = kBig; fPosNpe.at(ielem) = 0.0; } for (UInt_t ielem = 0; ielem < fGoodNegAdcPed.size(); ielem++) { @@ -527,7 +527,7 @@ void THcAerogel::Clear(Option_t* opt) fGoodNegAdcPulseInt.at(ielem) = 0.0; fGoodNegAdcPulseIntRaw.at(ielem) = 0.0; fGoodNegAdcPulseAmp.at(ielem) = 0.0; - fGoodNegAdcPulseTime.at(ielem) = 0.0; + fGoodNegAdcPulseTime.at(ielem) = kBig; fNegNpe.at(ielem) = 0.0; } diff --git a/src/THcCherenkov.cxx b/src/THcCherenkov.cxx index 4e6ecfdc3be4416ea059431dfe10b6e8d2fb289f..a639970499bfa70f2168cefe84dad4252964d48d 100644 --- a/src/THcCherenkov.cxx +++ b/src/THcCherenkov.cxx @@ -330,7 +330,7 @@ void THcCherenkov::Clear(Option_t* opt) fGoodAdcPulseInt.at(ielem) = 0.0; fGoodAdcPulseIntRaw.at(ielem) = 0.0; fGoodAdcPulseAmp.at(ielem) = 0.0; - fGoodAdcPulseTime.at(ielem) = 0.0; + fGoodAdcPulseTime.at(ielem) = kBig; fNpe.at(ielem) = 0.0; } diff --git a/src/THcRawShowerHit.cxx b/src/THcRawShowerHit.cxx index 982266f5625260b3ffd53b37d7af5505070ace4d..1a32508ed78b6546db327c244291e68dd5f67609 100644 --- a/src/THcRawShowerHit.cxx +++ b/src/THcRawShowerHit.cxx @@ -83,11 +83,13 @@ void THcRawShowerHit::SetDataTimePedestalPeak( void THcRawShowerHit::SetReference(Int_t signal, Int_t reference) { - std::cerr - << "Warning:" - << " `THcRawShowerHit::SetReference`:" - << " ADC signal should not have reference time!" - << std::endl; + if (signal < fNAdcSignals) { + fAdcHits[signal].SetRefTime(reference); + } else { + throw std::out_of_range( + "`THcRawHodoHit::SetReference`: only signals `2` and `3` available!" + ); + } } diff --git a/src/THcScintillatorPlane.cxx b/src/THcScintillatorPlane.cxx index 1625acade1e30133252737d3bba15d3cbf874e86..c74dad0f3517e12b9993137223858913910d3dc8 100644 --- a/src/THcScintillatorPlane.cxx +++ b/src/THcScintillatorPlane.cxx @@ -494,13 +494,13 @@ void THcScintillatorPlane::Clear( Option_t* ) fGoodPosAdcPed.at(ielem) = 0.0; fGoodPosAdcPulseInt.at(ielem) = 0.0; fGoodPosAdcPulseAmp.at(ielem) = 0.0; - fGoodPosAdcPulseTime.at(ielem) = 0.0; + fGoodPosAdcPulseTime.at(ielem) = kBig; } for (UInt_t ielem = 0; ielem < fGoodNegAdcPed.size(); ielem++) { fGoodNegAdcPed.at(ielem) = 0.0; fGoodNegAdcPulseInt.at(ielem) = 0.0; fGoodNegAdcPulseAmp.at(ielem) = 0.0; - fGoodNegAdcPulseTime.at(ielem) = 0.0; + fGoodNegAdcPulseTime.at(ielem) = kBig; } //Clear Good TDC Variables diff --git a/src/THcShowerArray.cxx b/src/THcShowerArray.cxx index 401976d4239fb1f785b6160c43327ad61eaee11c..aca7f40565b95969aed38658cc471221ee1036d4 100644 --- a/src/THcShowerArray.cxx +++ b/src/THcShowerArray.cxx @@ -163,13 +163,13 @@ Int_t THcShowerArray::ReadDatabase( const TDatime& date ) }; fDebugAdc = 0; // Set ADC debug parameter to false unless set in parameter file - - gHcParms->LoadParmValues((DBRequest*)&list, prefix); fADCMode=kADCDynamicPedestal; fAdcTimeWindowMin=0; fAdcTimeWindowMax=10000; fAdcTdcOffset=0.0; fAdcThreshold=0.; + + gHcParms->LoadParmValues((DBRequest*)&list, prefix); fNelem = fNRows*fNColumns; fXPos = new Double_t* [fNRows]; @@ -483,7 +483,7 @@ void THcShowerArray::Clear( Option_t* ) fGoodAdcPed.at(ielem) = 0.0; fGoodAdcPulseInt.at(ielem) = 0.0; fGoodAdcPulseAmp.at(ielem) = 0.0; - fGoodAdcPulseTime.at(ielem) = 0.0; + fGoodAdcPulseTime.at(ielem) = kBig; fNumGoodAdcHits.at(ielem) = 0.0; fE.at(ielem) = 0.0; } @@ -913,7 +913,7 @@ Int_t THcShowerArray::ProcessHits(TClonesArray* rawhits, Int_t nexthit) } fEarray = 0; - + // Process raw hits. Get ADC hits for the plane, assign variables for each // channel. @@ -945,7 +945,7 @@ Int_t THcShowerArray::ProcessHits(TClonesArray* rawhits, Int_t nexthit) ((THcSignalHit*) frAdcPulseAmp->ConstructedAt(nrAdcHits))->Set(padnum, rawAdcHit.GetPulseAmp(thit)); ((THcSignalHit*) frAdcPulseTimeRaw->ConstructedAt(nrAdcHits))->Set(padnum, rawAdcHit.GetPulseTimeRaw(thit)); - ((THcSignalHit*) frAdcPulseTime->ConstructedAt(nrAdcHits))->Set(padnum, rawAdcHit.GetPulseTime(thit)); + ((THcSignalHit*) frAdcPulseTime->ConstructedAt(nrAdcHits))->Set(padnum, rawAdcHit.GetPulseTime(thit)+fAdcTdcOffset); if (rawAdcHit.GetPulseAmp(thit)>0&&rawAdcHit.GetPulseIntRaw(thit)>0) { ((THcSignalHit*) frAdcErrorFlag->ConstructedAt(nrAdcHits))->Set(padnum,0); diff --git a/src/THcShowerPlane.cxx b/src/THcShowerPlane.cxx index 38903f56b12340230f08c3f669aae86e2e99db25..be73ef5afe69965234cb0013902fee935be6e70e 100644 --- a/src/THcShowerPlane.cxx +++ b/src/THcShowerPlane.cxx @@ -430,7 +430,7 @@ void THcShowerPlane::Clear( Option_t* ) fGoodPosAdcPulseIntRaw.at(ielem) = 0.0; fGoodPosAdcPulseInt.at(ielem) = 0.0; fGoodPosAdcPulseAmp.at(ielem) = 0.0; - fGoodPosAdcPulseTime.at(ielem) = 0.0; + fGoodPosAdcPulseTime.at(ielem) = kBig; fEpos.at(ielem) = 0.0; fNumGoodPosAdcHits.at(ielem) = 0.0; } @@ -440,7 +440,7 @@ void THcShowerPlane::Clear( Option_t* ) fGoodNegAdcPulseIntRaw.at(ielem) = 0.0; fGoodNegAdcPulseInt.at(ielem) = 0.0; fGoodNegAdcPulseAmp.at(ielem) = 0.0; - fGoodNegAdcPulseTime.at(ielem) = 0.0; + fGoodNegAdcPulseTime.at(ielem) = kBig; fEneg.at(ielem) = 0.0; fNumGoodNegAdcHits.at(ielem) = 0.0; } diff --git a/src/THcTrigRawHit.cxx b/src/THcTrigRawHit.cxx index 60e3b60c35cf66c35d912e9c4e973700dbba774f..4d87b2eb29c3060c293ab2958190577ecf2a8ab1 100644 --- a/src/THcTrigRawHit.cxx +++ b/src/THcTrigRawHit.cxx @@ -217,12 +217,13 @@ void THcTrigRawHit::SetDataTimePedestalPeak( void THcTrigRawHit::SetReference(Int_t signal, Int_t reference) { - if (fNAdcSignals <= signal && signal < fNAdcSignals+fNTdcSignals) { + if (signal < fNAdcSignals) { + fAdcHits[signal].SetRefTime(reference); + } else if (signal < fNAdcSignals+fNTdcSignals) { fTdcHits[signal-fNAdcSignals].SetRefTime(reference); - } - else { + } else { throw std::out_of_range( - "`THcTrigRawHit::SetReference`: only signal `1` available!" + "`THcTrigRawHit::SetReference`: only signals `2` and `3` available!" ); } }