diff --git a/src/THcHitList.cxx b/src/THcHitList.cxx index 6b7ed91f86ceec5ee051edff16017f6ae773aaf5..6e47ea5bf470ab100802b5a0d653613b2698711f 100644 --- a/src/THcHitList.cxx +++ b/src/THcHitList.cxx @@ -259,10 +259,12 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni fRefIndexMaps[i].hashit = kFALSE; Bool_t goodreftime=kFALSE; Int_t reftime = 0; + Int_t prevtime = 0; for(Int_t ihit=0; ihit<nrefhits; ihit++) { reftime = evdata.GetData(Decoder::kPulseTime,fRefIndexMaps[i].crate, fRefIndexMaps[i].slot, fRefIndexMaps[i].channel,ihit); reftime += 64*timeshift; + if (ihit != (nrefhits-1)) prevtime = reftime; if(reftime >= fADC_RefTimeCut) { goodreftime = kTRUE; break; @@ -270,6 +272,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni } if(goodreftime || (nrefhits>0 && fADC_RefTimeBest)) { fRefIndexMaps[i].reftime = reftime; + fRefIndexMaps[i].refdifftime = reftime-prevtime; fRefIndexMaps[i].hashit = kTRUE; } } else { // Assume this is a TDC @@ -281,9 +284,11 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni // then fTDC_RefTimeCut Bool_t goodreftime=kFALSE; Int_t reftime = 0; + Int_t prevtime = 0; for(Int_t ihit=0; ihit<nrefhits; ihit++) { reftime = evdata.GetData(fRefIndexMaps[i].crate,fRefIndexMaps[i].slot, fRefIndexMaps[i].channel,ihit); + if( ihit != (nrefhits-1))prevtime=reftime; if(reftime >= fTDC_RefTimeCut) { goodreftime = kTRUE; break; @@ -291,6 +296,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni } if(goodreftime || (nrefhits>0 && fTDC_RefTimeBest)) { fRefIndexMaps[i].reftime = reftime; + fRefIndexMaps[i].refdifftime = reftime-prevtime; fRefIndexMaps[i].hashit = kTRUE; } } @@ -354,8 +360,10 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni Int_t nrefhits = evdata.GetNumHits(d->crate,d->slot,d->refchan); Bool_t goodreftime=kFALSE; Int_t reftime=0; + Int_t prevtime=0; for(Int_t ihit=0; ihit<nrefhits; ihit++) { reftime = evdata.GetData(d->crate, d->slot, d->refchan, ihit); + if (ihit != (nrefhits-1))prevtime = reftime; if(reftime >= fTDC_RefTimeCut) { goodreftime = kTRUE; break; @@ -365,6 +373,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni // hits make the RefTimeCut if(goodreftime || (nrefhits>0 && fTDC_RefTimeBest)) { rawhit->SetReference(signal, reftime); + rawhit->SetReferenceDiff(signal, prevtime); } else if (!suppresswarnings) { cout << "HitList(event=" << evdata.GetEvNum() << "): refchan " << d->refchan << " missing for (" << d->crate << ", " << d->slot << @@ -375,6 +384,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni if(d->refindex >=0 && d->refindex < fNRefIndex) { if(fRefIndexMaps[d->refindex].hashit) { rawhit->SetReference(signal, fRefIndexMaps[d->refindex].reftime); + rawhit->SetReferenceDiff(signal, fRefIndexMaps[d->refindex].refdifftime); } else { if(!suppresswarnings) { cout << "HitList(event=" << evdata.GetEvNum() << "): refindex " << d->refindex << @@ -437,6 +447,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni d->crate, d->slot, d->refchan); Bool_t goodreftime=kFALSE; Int_t reftime = 0; + Int_t prevtime = 0; timeshift=0; if(fTISlot>0) { // Get the trigger time for this module if(fTrigTimeShiftMap.find(d->slot) @@ -451,6 +462,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni for(Int_t ihit=0; ihit<nrefhits; ihit++) { reftime = evdata.GetData(Decoder::kPulseTime, d->crate, d->slot, d->refchan, ihit); reftime += 64*timeshift; + if (ihit != (nrefhits-1)) prevtime=reftime; if(reftime >= fADC_RefTimeCut) { goodreftime=kTRUE; break; @@ -460,6 +472,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni // hits make the RefTimeCut if(goodreftime || (nrefhits>0 && fADC_RefTimeBest)) { rawhit->SetReference(signal, reftime); + rawhit->SetReferenceDiff(signal, reftime-prevtime); } else if (!suppresswarnings) { #ifndef SUPPRESSMISSINGADCREFTIMEMESSAGES cout << "HitList(event=" << evdata.GetEvNum() << "): refchan " << d->refchan << @@ -472,6 +485,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni if(d->refindex >=0 && d->refindex < fNRefIndex) { if(fRefIndexMaps[d->refindex].hashit) { rawhit->SetReference(signal, fRefIndexMaps[d->refindex].reftime); + rawhit->SetReferenceDiff(signal, fRefIndexMaps[d->refindex].refdifftime); } else { if(!suppresswarnings) { #ifndef SUPPRESSMISSINGADCREFTIMEMESSAGES diff --git a/src/THcHitList.h b/src/THcHitList.h index 423a75e9c0ffd07c749fc74a9ca776279482235f..568d089694f00dde79e79f4ca3e211353e0b30c1 100644 --- a/src/THcHitList.h +++ b/src/THcHitList.h @@ -62,6 +62,7 @@ protected: Int_t slot; Int_t channel; Int_t reftime; + Int_t refdifftime; }; std::vector<RefIndexMap> fRefIndexMaps; // Should this be a sparse list instead in case user diff --git a/src/THcRawAdcHit.cxx b/src/THcRawAdcHit.cxx index d99e67455de0a2e77eadaa63a5eb029364e1fd01..0f60c651b4c8c39ff32e66843c554c01006a037c 100644 --- a/src/THcRawAdcHit.cxx +++ b/src/THcRawAdcHit.cxx @@ -261,6 +261,10 @@ void THcRawAdcHit::SetRefTime(Int_t refTime) { fHasRefTime = kTRUE; } +void THcRawAdcHit::SetRefDiffTime(Int_t refDiffTime) { + fRefDiffTime = refDiffTime; +} + void THcRawAdcHit::SetSample(Int_t data) { if (fNSamples >= fMaxNSamples) { throw std::out_of_range( @@ -498,6 +502,17 @@ Int_t THcRawAdcHit::GetRefTime() const { } } +Int_t THcRawAdcHit::GetRefDiffTime() const { + if (fHasRefTime) { + return fRefDiffTime; + } + else { + TString msg = TString::Format( + "`THcRawAdcHit::GetRefTime`: Reference time not available!" + ); + throw std::runtime_error(msg.Data()); + } +} Bool_t THcRawAdcHit::HasRefTime() const { return fHasRefTime; diff --git a/src/THcRawAdcHit.h b/src/THcRawAdcHit.h index 29cbbd1477d4302ead4920094ff4feec2dbcb805..fc31189397173fafc269911f8c9d6db98c04aec3 100644 --- a/src/THcRawAdcHit.h +++ b/src/THcRawAdcHit.h @@ -15,6 +15,7 @@ class THcRawAdcHit : public TObject { void SetData(Int_t data); void SetSample(Int_t data); void SetRefTime(Int_t refTime); + void SetRefDiffTime(Int_t refDiffTime); void SetDataTimePedestalPeak( Int_t data, Int_t time, Int_t pedestal, Int_t peak ); @@ -41,6 +42,7 @@ class THcRawAdcHit : public TObject { Int_t GetPulseTimeRaw(UInt_t iPulse=0) const; Int_t GetSampleRaw(UInt_t iSample=0) const; Int_t GetRefTime() const; + Int_t GetRefDiffTime() const; Double_t GetPed() const; Double_t GetPulseInt(UInt_t iPulse=0) const; @@ -78,6 +80,7 @@ class THcRawAdcHit : public TObject { Int_t fPulseTime[fMaxNPulses]; Int_t fSample[fMaxNSamples]; Int_t fRefTime; + Int_t fRefDiffTime; Bool_t fHasMulti; Bool_t fHasRefTime; diff --git a/src/THcRawDCHit.cxx b/src/THcRawDCHit.cxx index a8e9eff231bb89fc87f18346583de812624f6a06..17b23b1a2d5ea7a11bd5258caf8af4ad6f2f457b 100644 --- a/src/THcRawDCHit.cxx +++ b/src/THcRawDCHit.cxx @@ -59,6 +59,17 @@ void THcRawDCHit::SetReference(Int_t signal, Int_t reference) { } } +void THcRawDCHit::SetReferenceDiff(Int_t signal, Int_t reference) { + if (signal == 0) { + fTdcHit.SetRefDiffTime(reference); + } + else { + throw std::out_of_range( + "`THcRawDCHit::SetReference`: only signal `0` available!" + ); + } +} + Int_t THcRawDCHit::GetData(Int_t signal) { if (signal == 0) { @@ -95,6 +106,17 @@ Int_t THcRawDCHit::GetReference(Int_t signal) { } } +Int_t THcRawDCHit::GetReferenceDiff(Int_t signal) { + if (signal == 0) { + return fTdcHit.GetRefDiffTime(); + } + else { + throw std::out_of_range( + "`THcRawDCHit::GetReference`: only signal `0` available!" + ); + } +} + THcRawHit::ESignalType THcRawDCHit::GetSignalType(Int_t signal) { if (signal == 0) { diff --git a/src/THcRawDCHit.h b/src/THcRawDCHit.h index b1f315f7a8ec5387f7e33cf32686ff46fbe44cb9..363ba2d4a6b0d517ebd36b3362e94821d3f4c114 100644 --- a/src/THcRawDCHit.h +++ b/src/THcRawDCHit.h @@ -18,10 +18,12 @@ class THcRawDCHit : public THcRawHit { virtual void SetData(Int_t signal, Int_t data); virtual void SetReference(Int_t signal, Int_t reference); + virtual void SetReferenceDiff(Int_t signal, Int_t reference); virtual Int_t GetData(Int_t signal); virtual Int_t GetRawData(Int_t signal); virtual Int_t GetReference(Int_t signal); + virtual Int_t GetReferenceDiff(Int_t signal); virtual ESignalType GetSignalType(Int_t signal); virtual Int_t GetNSignals(); diff --git a/src/THcRawHit.h b/src/THcRawHit.h index e56674f96a66d32ab4fc71a76cb6d72a25f74a43..e1fb87701b3b253dea3b960aa84ae0409e964af4 100644 --- a/src/THcRawHit.h +++ b/src/THcRawHit.h @@ -39,6 +39,7 @@ public: virtual Int_t GetNSignals() { return 1;} virtual void SetReference(Int_t signal, Int_t reference) {}; + virtual void SetReferenceDiff(Int_t signal, Int_t reference) {}; virtual Bool_t HasReference(Int_t signal) {return kFALSE;}; virtual Int_t GetReference(Int_t signal) {return 0;}; diff --git a/src/THcRawHodoHit.cxx b/src/THcRawHodoHit.cxx index 2e7c84ce3145748a1665ea9b350348ed8a2a5719..848f88ddc908e29313a2dc362c279b1ad0c48826 100644 --- a/src/THcRawHodoHit.cxx +++ b/src/THcRawHodoHit.cxx @@ -105,6 +105,18 @@ void THcRawHodoHit::SetReference(Int_t signal, Int_t reference) { } } +void THcRawHodoHit::SetReferenceDiff(Int_t signal, Int_t referenceDiff) { + if (signal < fNAdcSignals) { + fAdcHits[signal].SetRefDiffTime(referenceDiff); + } else if (signal < fNAdcSignals+fNTdcSignals) { + fTdcHits[signal-fNAdcSignals].SetRefDiffTime(referenceDiff); + } else { + throw std::out_of_range( + "`THcRawHodoHit::SetReference`: only signals `2` and `3` available!" + ); + } +} + Int_t THcRawHodoHit::GetData(Int_t signal) { if (0 <= signal && signal < fNAdcSignals) { @@ -147,6 +159,17 @@ Int_t THcRawHodoHit::GetReference(Int_t signal) { } } +Int_t THcRawHodoHit::GetReferenceDiff(Int_t signal) { + if (fNAdcSignals <= signal && signal < fNAdcSignals+fNTdcSignals) { + return fTdcHits[signal-fNAdcSignals].GetRefDiffTime(); + } + else { + throw std::out_of_range( + "`THcRawHodoHit::GetReference`: only signals `2` and `3` available!" + ); + } +} + THcRawHit::ESignalType THcRawHodoHit::GetSignalType(Int_t signal) { if (0 <= signal && signal < fNAdcSignals) { diff --git a/src/THcRawHodoHit.h b/src/THcRawHodoHit.h index dc2528f6e81267b295150d97a95534d34af475b9..025e0ae2c96cc1ce94fa35c6c17972c9a50ab261 100644 --- a/src/THcRawHodoHit.h +++ b/src/THcRawHodoHit.h @@ -25,10 +25,12 @@ class THcRawHodoHit : public THcRawHit { Int_t signal, Int_t data, Int_t time, Int_t pedestal, Int_t peak ); virtual void SetReference(Int_t signal, Int_t reference); + virtual void SetReferenceDiff(Int_t signal, Int_t referenceDiff); virtual Int_t GetData(Int_t signal); virtual Int_t GetRawData(Int_t signal); virtual Int_t GetReference(Int_t signal); + virtual Int_t GetReferenceDiff(Int_t signal); virtual ESignalType GetSignalType(Int_t signal); virtual Int_t GetNSignals(); diff --git a/src/THcRawShowerHit.cxx b/src/THcRawShowerHit.cxx index 1a32508ed78b6546db327c244291e68dd5f67609..043de13b4795d34acdd5b16b4e908cbf7d0a5e05 100644 --- a/src/THcRawShowerHit.cxx +++ b/src/THcRawShowerHit.cxx @@ -92,6 +92,16 @@ void THcRawShowerHit::SetReference(Int_t signal, Int_t reference) { } } +void THcRawShowerHit::SetReferenceDiff(Int_t signal, Int_t reference) { + if (signal < fNAdcSignals) { + fAdcHits[signal].SetRefDiffTime(reference); + } else { + throw std::out_of_range( + "`THcRawHodoHit::SetReference`: only signals `2` and `3` available!" + ); + } +} + Int_t THcRawShowerHit::GetData(Int_t signal) { if (0 <= signal && signal < fNAdcSignals) { diff --git a/src/THcRawShowerHit.h b/src/THcRawShowerHit.h index 9008831e54362303bed9a48474ed0ccbd5a6ac85..c1a4fd871f4f5424dd55af16afbc8ca4f0e97353 100644 --- a/src/THcRawShowerHit.h +++ b/src/THcRawShowerHit.h @@ -22,6 +22,7 @@ class THcRawShowerHit : public THcRawHit { Int_t signal, Int_t data, Int_t time, Int_t pedestal, Int_t peak ); virtual void SetReference(Int_t signal, Int_t reference); + virtual void SetReferenceDiff(Int_t signal, Int_t reference); virtual Int_t GetData(Int_t signal); virtual Int_t GetRawData(Int_t signal); diff --git a/src/THcRawTdcHit.cxx b/src/THcRawTdcHit.cxx index d2ec274f8ca979f901d71c933a54193c13bd882a..38fb647078489d95cdf65f444ff5ce17cbff7bbf 100644 --- a/src/THcRawTdcHit.cxx +++ b/src/THcRawTdcHit.cxx @@ -95,6 +95,7 @@ THcRawTdcHit& THcRawTdcHit::operator=(const THcRawTdcHit& right) { fTime[iHit] = right.fTime[iHit]; } fRefTime = right.fRefTime; + fRefDiffTime = right.fRefDiffTime; fHasRefTime = right.fHasRefTime; fNHits = right.fNHits; } @@ -113,6 +114,7 @@ void THcRawTdcHit::Clear(Option_t* opt) { fTime[iHit] = 0; } fRefTime = 0; + fRefDiffTime = 0; fHasRefTime = kFALSE; fNHits = 0; } @@ -138,6 +140,10 @@ void THcRawTdcHit::SetRefTime(Int_t refTime) { fHasRefTime = kTRUE; } +void THcRawTdcHit::SetRefDiffTime(Int_t refDiffTime) { + fRefDiffTime = refDiffTime; +} + Int_t THcRawTdcHit::GetTimeRaw(UInt_t iHit) const { if (iHit < fNHits) { @@ -177,6 +183,18 @@ Int_t THcRawTdcHit::GetRefTime() const { } } +Int_t THcRawTdcHit::GetRefDiffTime() const { + if (fHasRefTime) { + return fRefDiffTime; + } + else { + TString msg = TString::Format( + "`THcRawTdcHit::GetRefDiffTime`: Reference time not available!" + ); + throw std::runtime_error(msg.Data()); + } +} + Bool_t THcRawTdcHit::HasRefTime() const { return fHasRefTime; diff --git a/src/THcRawTdcHit.h b/src/THcRawTdcHit.h index c930f2772f4fe96e7229e4cc05a2406ba9c8a08c..91e7eba4b5f4bd81522d836d2a88c9e9586c1fb6 100644 --- a/src/THcRawTdcHit.h +++ b/src/THcRawTdcHit.h @@ -14,10 +14,12 @@ class THcRawTdcHit : public TObject { void SetTime(Int_t time); void SetRefTime(Int_t refTime); + void SetRefDiffTime(Int_t refDiffTime); Int_t GetTimeRaw(UInt_t iHit=0) const; Int_t GetTime(UInt_t iHit=0) const; Int_t GetRefTime() const; + Int_t GetRefDiffTime() const; Bool_t HasRefTime() const; @@ -30,6 +32,7 @@ class THcRawTdcHit : public TObject { Int_t fTime[fMaxNHits]; Int_t fRefTime; + Int_t fRefDiffTime; Bool_t fHasRefTime; UInt_t fNHits; diff --git a/src/THcScintillatorPlane.cxx b/src/THcScintillatorPlane.cxx index 6dbc58b63a2d778239bb66e5dc3ea7c37f1ecd2f..f2605e43df4e154a190c7878e619ecbfd9e98e7c 100644 --- a/src/THcScintillatorPlane.cxx +++ b/src/THcScintillatorPlane.cxx @@ -544,6 +544,10 @@ Int_t THcScintillatorPlane::DefineVariables( EMode mode ) {"NegTdcRefTime", "Reference time of Neg TDC", "fNegTdcRefTime"}, {"PosAdcRefTime", "Reference time of Pos ADC", "fPosAdcRefTime"}, {"NegAdcRefTime", "Reference time of Neg aDC", "fNegAdcRefTime"}, + {"PosTdcRefDiffTime", "Reference Diff time of Pos TDC", "fPosTdcRefDiffTime"}, + {"NegTdcRefDiffTime", "Reference Diff time of Neg TDC", "fNegTdcRefDiffTime"}, + {"PosAdcRefDiffTime", "Reference Diff time of Pos ADC", "fPosAdcRefDiffTime"}, + {"NegAdcRefDiffTime", "Reference Diff time of Neg aDC", "fNegAdcRefDiffTime"}, //{"ngoodhits", "Number of paddle hits (passed tof tolerance and used to determine the focal plane time )", "GetNGoodHits() "}, { 0 } }; @@ -657,6 +661,10 @@ void THcScintillatorPlane::Clear( Option_t* ) fPosAdcRefTime = kBig; fNegTdcRefTime = kBig; fNegAdcRefTime = kBig; + fPosTdcRefDiffTime = kBig; + fPosAdcRefDiffTime = kBig; + fNegTdcRefDiffTime = kBig; + fNegAdcRefDiffTime = kBig; } //_____________________________________________________________________________ @@ -715,6 +723,10 @@ Int_t THcScintillatorPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit) fPosAdcRefTime = kBig; fNegTdcRefTime = kBig; fNegAdcRefTime = kBig; + fPosTdcRefDiffTime = kBig; + fPosAdcRefDiffTime = kBig; + fNegTdcRefDiffTime = kBig; + fNegAdcRefDiffTime = kBig; Int_t nrPosTDCHits=0; Int_t nrNegTDCHits=0; Int_t nrPosADCHits=0; @@ -802,7 +814,10 @@ Int_t THcScintillatorPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit) THcRawTdcHit& rawPosTdcHit = hit->GetRawTdcHitPos(); if (rawPosTdcHit.GetNHits() >0 && rawPosTdcHit.HasRefTime()) { - if (fPosTdcRefTime == kBig) fPosTdcRefTime=rawPosTdcHit.GetRefTime() ; + if (fPosTdcRefTime == kBig) { + fPosTdcRefTime=rawPosTdcHit.GetRefTime() ; + fPosTdcRefDiffTime=rawPosTdcHit.GetRefDiffTime() ; + } if (fPosTdcRefTime != rawPosTdcHit.GetRefTime()) { cout << "THcScintillatorPlane: " << GetName() << " reftime problem at paddle num = " << padnum << " TDC pos hits = " << rawPosTdcHit.GetNHits() << endl; problem_flag=kTRUE; @@ -817,7 +832,10 @@ Int_t THcScintillatorPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit) } THcRawTdcHit& rawNegTdcHit = hit->GetRawTdcHitNeg(); if (rawNegTdcHit.GetNHits() >0 && rawNegTdcHit.HasRefTime()) { - if (fNegTdcRefTime == kBig) fNegTdcRefTime=rawNegTdcHit.GetRefTime() ; + if (fNegTdcRefTime == kBig) { + fNegTdcRefTime=rawNegTdcHit.GetRefTime() ; + fNegTdcRefDiffTime=rawNegTdcHit.GetRefDiffTime() ; + } if (fNegTdcRefTime != rawNegTdcHit.GetRefTime()) { cout << "THcScintillatorPlane: " << GetName()<< " Neg TDC reftime problem at paddle num = " << padnum << " TDC neg hits = " << rawNegTdcHit.GetNHits() << endl; problem_flag=kTRUE; @@ -833,7 +851,10 @@ Int_t THcScintillatorPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit) } THcRawAdcHit& rawPosAdcHit = hit->GetRawAdcHitPos(); if (rawPosAdcHit.GetNPulses() >0 && rawPosAdcHit.HasRefTime()) { - if (fPosAdcRefTime == kBig ) fPosAdcRefTime=rawPosAdcHit.GetRefTime() ; + if (fPosAdcRefTime == kBig ) { + fPosAdcRefTime=rawPosAdcHit.GetRefTime() ; + fPosAdcRefDiffTime=rawPosAdcHit.GetRefDiffTime() ; + } if (fPosAdcRefTime != rawPosAdcHit.GetRefTime()) { cout << "THcScintillatorPlane: " << GetName()<< " Pos ADC reftime problem at paddle num = " << padnum << " ADC pos hits = " << rawPosAdcHit.GetNPulses() << endl; problem_flag=kTRUE; @@ -863,7 +884,10 @@ Int_t THcScintillatorPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit) } THcRawAdcHit& rawNegAdcHit = hit->GetRawAdcHitNeg(); if (rawNegAdcHit.GetNPulses()>0 && rawNegAdcHit.HasRefTime()) { - if (fNegAdcRefTime == kBig) fNegAdcRefTime=rawNegAdcHit.GetRefTime() ; + if (fNegAdcRefTime == kBig) { + fNegAdcRefTime=rawNegAdcHit.GetRefTime() ; + fNegAdcRefDiffTime=rawNegAdcHit.GetRefDiffTime() ; + } if (fNegAdcRefTime != rawNegAdcHit.GetRefTime()) { cout << "THcScintillatorPlane: " << GetName()<< " Neg ADC reftime problem at paddle num = " << padnum << " TDC pos hits = " << rawNegAdcHit.GetNPulses() << endl; problem_flag=kTRUE; diff --git a/src/THcScintillatorPlane.h b/src/THcScintillatorPlane.h index 63203738080d2948b19c9bd41dd494c8d5e36e1d..72e17194f935b7a59e56b6edb24588f1f9a616c1 100644 --- a/src/THcScintillatorPlane.h +++ b/src/THcScintillatorPlane.h @@ -185,6 +185,10 @@ class THcScintillatorPlane : public THaSubDetector { Double_t fPosAdcRefTime; Double_t fNegTdcRefTime; Double_t fNegAdcRefTime; + Double_t fPosTdcRefDiffTime; + Double_t fPosAdcRefDiffTime; + Double_t fNegTdcRefDiffTime; + Double_t fNegAdcRefDiffTime; Double_t fHitDistance; Double_t fScinXPos; Double_t fScinYPos;