40 fAdcPosTimeWindowMin(0), fAdcPosTimeWindowMax(0), fAdcNegTimeWindowMin(0),
41 fAdcNegTimeWindowMax(0),fPedNegDefault(0),fPedPosDefault(0),
42 fRegionValue(0), fPosGain(0), fNegGain(0),
43 frPosAdcPedRaw(0), frPosAdcPulseIntRaw(0), frPosAdcPulseAmpRaw(0),
44 frPosAdcPulseTimeRaw(0), frPosAdcPed(0), frPosAdcPulseInt(0),
45 frPosAdcPulseAmp(0), frPosAdcPulseTime(0), frNegAdcPedRaw(0),
46 frNegAdcPulseIntRaw(0), frNegAdcPulseAmpRaw(0), frNegAdcPulseTimeRaw(0),
47 frNegAdcPed(0), frNegAdcPulseInt(0), frNegAdcPulseAmp(0),
48 frNegAdcPulseTime(0), fPosAdcErrorFlag(0), fNegAdcErrorFlag(0),
49 frPosAdcSampPedRaw(0), frPosAdcSampPulseIntRaw(0), frPosAdcSampPulseAmpRaw(0),
50 frPosAdcSampPulseTimeRaw(0), frPosAdcSampPed(0), frPosAdcSampPulseInt(0),
51 frPosAdcSampPulseAmp(0), frPosAdcSampPulseTime(0),
52 frNegAdcSampPedRaw(0),frNegAdcSampPulseIntRaw(0), frNegAdcSampPulseAmpRaw(0),
53 frNegAdcSampPulseTimeRaw(0), frNegAdcSampPed(0), frNegAdcSampPulseInt(0),
54 frNegAdcSampPulseAmp(0), frNegAdcSampPulseTime(0),
55 fPosPedSum(0), fPosPedSum2(0), fPosPedLimit(0),
56 fPosPedCount(0), fNegPedSum(0), fNegPedSum2(0), fNegPedLimit(0), fNegPedCount(0),
57 fA_Pos(0), fA_Neg(0), fA_Pos_p(0), fA_Neg_p(0), fT_Pos(0), fT_Neg(0),
58 fPosPed(0), fPosSig(0), fPosThresh(0), fNegPed(0), fNegSig(0),
59 fNegThresh(0), fPosPedMean(0), fNegPedMean(0),
60 fPosTDCHits(0), fNegTDCHits(0), fPosADCHits(0), fNegADCHits(0)
67 fAdcPosTimeWindowMin(0), fAdcPosTimeWindowMax(0), fAdcNegTimeWindowMin(0),
68 fAdcNegTimeWindowMax(0),
69 fPedNegDefault(0),fPedPosDefault(0),fRegionValue(0), fPosGain(0), fNegGain(0),
70 frPosAdcPedRaw(0), frPosAdcPulseIntRaw(0), frPosAdcPulseAmpRaw(0),
71 frPosAdcPulseTimeRaw(0), frPosAdcPed(0), frPosAdcPulseInt(0),
72 frPosAdcPulseAmp(0), frPosAdcPulseTime(0), frNegAdcPedRaw(0),
73 frNegAdcPulseIntRaw(0), frNegAdcPulseAmpRaw(0), frNegAdcPulseTimeRaw(0),
74 frNegAdcPed(0), frNegAdcPulseInt(0), frNegAdcPulseAmp(0),
75 frNegAdcPulseTime(0), fPosAdcErrorFlag(0), fNegAdcErrorFlag(0),
76 frPosAdcSampPedRaw(0), frPosAdcSampPulseIntRaw(0), frPosAdcSampPulseAmpRaw(0),
77 frPosAdcSampPulseTimeRaw(0), frPosAdcSampPed(0), frPosAdcSampPulseInt(0),
78 frPosAdcSampPulseAmp(0), frPosAdcSampPulseTime(0),
79 frNegAdcSampPedRaw(0),frNegAdcSampPulseIntRaw(0), frNegAdcSampPulseAmpRaw(0),
80 frNegAdcSampPulseTimeRaw(0), frNegAdcSampPed(0), frNegAdcSampPulseInt(0),
81 frNegAdcSampPulseAmp(0), frNegAdcSampPulseTime(0),
82 fPosPedSum(0), fPosPedSum2(0), fPosPedLimit(0),
83 fPosPedCount(0), fNegPedSum(0), fNegPedSum2(0), fNegPedLimit(0), fNegPedCount(0),
84 fA_Pos(0), fA_Neg(0), fA_Pos_p(0), fA_Neg_p(0), fT_Pos(0), fT_Neg(0),
85 fPosPed(0), fPosSig(0), fPosThresh(0), fNegPed(0), fNegSig(0),
86 fNegThresh(0), fPosPedMean(0), fNegPedMean(0),
87 fPosTDCHits(0), fNegTDCHits(0), fPosADCHits(0), fNegADCHits(0)
196 char EngineDID[] =
"xAERO";
199 static const char*
const here =
"Init()";
200 Error(
Here(here),
"Error filling detectormap for %s.", EngineDID );
216 static const char*
const here =
"ReadDatabase()";
217 Warning(
Here(here),
"Hodoscope \"%s\" not found. ",
"hod");
244 DBRequest listextra[]={
424 cout <<
"6 GeV Data Analysis Flag Set To TRUE" << endl;
458 {
"posGain",
"Positive PMT gains",
"fPosGain"},
459 {
"negGain",
"Negative PMT gains",
"fNegGain"},
461 {
"numPosAdcHits",
"Number of Positive ADC Hits Per PMT",
"fNumPosAdcHits"},
462 {
"totNumPosAdcHits",
"Total Number of Positive ADC Hits",
"fTotNumPosAdcHits"},
463 {
"numNegAdcHits",
"Number of Negative ADC Hits Per PMT",
"fNumNegAdcHits"},
464 {
"totNumNegAdcHits",
"Total Number of Negative ADC Hits",
"fTotNumNegAdcHits"},
465 {
"totnumAdcHits",
"Total Number of ADC Hits Per PMT",
"fTotNumAdcHits"},
467 {
"posAdcPedRaw",
"Positive Raw ADC pedestals",
"frPosAdcPedRaw.THcSignalHit.GetData()"},
468 {
"posAdcPulseIntRaw",
"Positive Raw ADC pulse integrals",
"frPosAdcPulseIntRaw.THcSignalHit.GetData()"},
469 {
"posAdcPulseAmpRaw",
"Positive Raw ADC pulse amplitudes",
"frPosAdcPulseAmpRaw.THcSignalHit.GetData()"},
470 {
"posAdcPulseTimeRaw",
"Positive Raw ADC pulse times",
"frPosAdcPulseTimeRaw.THcSignalHit.GetData()"},
471 {
"posAdcPed",
"Positive ADC pedestals",
"frPosAdcPed.THcSignalHit.GetData()"},
472 {
"posAdcPulseInt",
"Positive ADC pulse integrals",
"frPosAdcPulseInt.THcSignalHit.GetData()"},
473 {
"posAdcPulseAmp",
"Positive ADC pulse amplitudes",
"frPosAdcPulseAmp.THcSignalHit.GetData()"},
474 {
"posAdcPulseTime",
"Positive ADC pulse times",
"frPosAdcPulseTime.THcSignalHit.GetData()"},
475 {
"posAdcSampPedRaw",
"Positive Raw Samp ADC pedestals",
"frPosAdcSampPedRaw.THcSignalHit.GetData()"},
476 {
"posAdcSampPulseIntRaw",
"Positive Raw Samp ADC pulse integrals",
"frPosAdcSampPulseIntRaw.THcSignalHit.GetData()"},
477 {
"posAdcSampPulseAmpRaw",
"Positive Raw Samp ADC pulse amplitudes",
"frPosAdcSampPulseAmpRaw.THcSignalHit.GetData()"},
478 {
"posAdcSampPulseTimeRaw",
"Positive Raw Samp ADC pulse times",
"frPosAdcSampPulseTimeRaw.THcSignalHit.GetData()"},
479 {
"posAdcSampPed",
"Positive Samp ADC pedestals",
"frPosAdcSampPed.THcSignalHit.GetData()"},
480 {
"posAdcSampPulseInt",
"Positive Samp ADC pulse integrals",
"frPosAdcSampPulseInt.THcSignalHit.GetData()"},
481 {
"posAdcSampPulseAmp",
"Positive Samp ADC pulse amplitudes",
"frPosAdcSampPulseAmp.THcSignalHit.GetData()"},
482 {
"posAdcSampPulseTime",
"Positive Samp ADC pulse times",
"frPosAdcSampPulseTime.THcSignalHit.GetData()"},
483 {
"negAdcPedRaw",
"Negative Raw ADC pedestals",
"frNegAdcPedRaw.THcSignalHit.GetData()"},
484 {
"negAdcPulseIntRaw",
"Negative Raw ADC pulse integrals",
"frNegAdcPulseIntRaw.THcSignalHit.GetData()"},
485 {
"negAdcPulseAmpRaw",
"Negative Raw ADC pulse amplitudes",
"frNegAdcPulseAmpRaw.THcSignalHit.GetData()"},
486 {
"negAdcPulseTimeRaw",
"Negative Raw ADC pulse times",
"frNegAdcPulseTimeRaw.THcSignalHit.GetData()"},
487 {
"negAdcPed",
"Negative ADC pedestals",
"frNegAdcPed.THcSignalHit.GetData()"},
488 {
"negAdcPulseInt",
"Negative ADC pulse integrals",
"frNegAdcPulseInt.THcSignalHit.GetData()"},
489 {
"negAdcPulseAmp",
"Negative ADC pulse amplitudes",
"frNegAdcPulseAmp.THcSignalHit.GetData()"},
490 {
"negAdcPulseTime",
"Negative ADC pulse times",
"frNegAdcPulseTime.THcSignalHit.GetData()"},
491 {
"negAdcSampPedRaw",
"Negative Raw Samp ADC pedestals",
"frNegAdcSampPedRaw.THcSignalHit.GetData()"},
492 {
"negAdcSampPulseIntRaw",
"Negative Raw Samp ADC pulse integrals",
"frNegAdcSampPulseIntRaw.THcSignalHit.GetData()"},
493 {
"negAdcSampPulseAmpRaw",
"Negative Raw Samp ADC pulse amplitudes",
"frNegAdcSampPulseAmpRaw.THcSignalHit.GetData()"},
494 {
"negAdcSampPulseTimeRaw",
"Negative Raw Samp ADC pulse times",
"frNegAdcSampPulseTimeRaw.THcSignalHit.GetData()"},
495 {
"negAdcSampPed",
"Negative Samp ADC pedestals",
"frNegAdcSampPed.THcSignalHit.GetData()"},
496 {
"negAdcSampPulseInt",
"Negative Samp ADC pulse integrals",
"frNegAdcSampPulseInt.THcSignalHit.GetData()"},
497 {
"negAdcSampPulseAmp",
"Negative Samp ADC pulse amplitudes",
"frNegAdcSampPulseAmp.THcSignalHit.GetData()"},
498 {
"negAdcSampPulseTime",
"Negative Samp ADC pulse times",
"frNegAdcSampPulseTime.THcSignalHit.GetData()"},
504 {
"adcNegSampWaveform",
"FADC Neg ADCSample Waveform",
"fNegAdcSampWaveform"},
505 {
"adcPosSampWaveform",
"FADC Pos ADCSample Waveform",
"fPosAdcSampWaveform"},
515 {
"apos",
"Positive Raw ADC Amplitudes",
"fA_Pos"},
516 {
"aneg",
"Negative Raw ADC Amplitudes",
"fA_Neg"},
517 {
"apos_p",
"Positive Ped-subtracted ADC Amplitudes",
"fA_Pos_p"},
518 {
"aneg_p",
"Negative Ped-subtracted ADC Amplitudes",
"fA_Neg_p"},
519 {
"tpos",
"Positive Raw TDC",
"fT_Pos"},
520 {
"tneg",
"Negative Raw TDC",
"fT_Neg"},
521 {
"ntdc_pos_hits",
"Number of Positive Tube Hits",
"fNTDCPosHits"},
522 {
"ntdc_neg_hits",
"Number of Negative Tube Hits",
"fNTDCNegHits"},
523 {
"posadchits",
"Positive ADC hits",
"fPosADCHits.THcSignalHit.GetPaddleNumber()"},
524 {
"negadchits",
"Negative ADC hits",
"fNegADCHits.THcSignalHit.GetPaddleNumber()"},
525 {
"postdchits",
"Positive TDC hits",
"fPosTDCHits.THcSignalHit.GetPaddleNumber()"},
526 {
"negtdchits",
"Negative TDC hits",
"fNegTDCHits.THcSignalHit.GetPaddleNumber()"},
527 {
"nGoodHits",
"Total number of good hits",
"fNGoodHits"},
528 {
"posNpeSixGev",
"Number of Positive PEs",
"fPosNpeSixGev"},
529 {
"negNpeSixGev",
"Number of Negative PEs",
"fNegNpeSixGev"},
530 {
"posNpeSumSixGev",
"Total Number of Positive PEs",
"fPosNpeSumSixGev"},
531 {
"negNpeSumSixGev",
"Total Number of Negative PEs",
"fNegNpeSumSixGev"},
532 {
"npeSumSixGev",
"Total Number of PEs",
"fNpeSumSixGev"},
539 {
"posAdcCounter",
"Positive ADC counter numbers",
"frPosAdcPulseIntRaw.THcSignalHit.GetPaddleNumber()"},
540 {
"negAdcCounter",
"Negative ADC counter numbers",
"frNegAdcPulseIntRaw.THcSignalHit.GetPaddleNumber()"},
541 {
"negAdcSampleCounter",
"Negative ADC Sample counter numbers",
"frNegAdcSampPulseIntRaw.THcSignalHit.GetPaddleNumber()"},
542 {
"posAdcSampleCounter",
"Positive ADC Sample counter numbers",
"frPosAdcSampPulseIntRaw.THcSignalHit.GetPaddleNumber()"},
543 {
"posAdcErrorFlag",
"Error Flag for When FPGA Fails",
"fPosAdcErrorFlag.THcSignalHit.GetData()"},
544 {
"negAdcErrorFlag",
"Error Flag for When FPGA Fails",
"fNegAdcErrorFlag.THcSignalHit.GetData()"},
546 {
"numGoodPosAdcHits",
"Number of Good Positive ADC Hits Per PMT",
"fNumGoodPosAdcHits"},
547 {
"numGoodNegAdcHits",
"Number of Good Negative ADC Hits Per PMT",
"fNumGoodNegAdcHits"},
548 {
"totNumGoodPosAdcHits",
"Total Number of Good Positive ADC Hits",
"fTotNumGoodPosAdcHits"},
549 {
"totNumGoodNegAdcHits",
"Total Number of Good Negative ADC Hits",
"fTotNumGoodNegAdcHits"},
551 {
"totnumGoodAdcHits",
"TotalNumber of Good ADC Hits Per PMT",
"fTotNumGoodAdcHits"},
552 {
"numTracksMatched",
"Number of Tracks Matched Per Region",
"fNumTracksMatched"},
553 {
"numTracksFired",
"Number of Tracks that Fired Per Region",
"fNumTracksFired"},
554 {
"totNumTracksMatched",
"Total Number of Tracks Matched Per Region",
"fTotNumTracksMatched"},
555 {
"totNumTracksFired",
"Total Number of Tracks that Fired",
"fTotNumTracksFired"},
557 {
"xAtAero",
"Track X at Aero diffusion box",
"fXAtAero"},
558 {
"yAtAero",
"Track Y at Aero diffusion box",
"fYAtAero"},
560 {
"posNpe",
"Number of Positive PEs",
"fPosNpe"},
561 {
"negNpe",
"Number of Negative PEs",
"fNegNpe"},
562 {
"posNpeSum",
"Total Number of Positive PEs",
"fPosNpeSum"},
563 {
"negNpeSum",
"Total Number of Negative PEs",
"fNegNpeSum"},
564 {
"npeSum",
"Total Number of PEs",
"fNpeSum"},
566 {
"goodPosAdcPed",
"Good Negative ADC pedestals",
"fGoodPosAdcPed"},
567 {
"goodPosAdcMult",
"Good Positive ADC mult",
"fGoodPosAdcMult"},
568 {
"goodPosAdcPulseInt",
"Good Negative ADC pulse integrals",
"fGoodPosAdcPulseInt"},
569 {
"goodPosAdcPulseIntRaw",
"Good Negative ADC raw pulse integrals",
"fGoodPosAdcPulseIntRaw"},
570 {
"goodPosAdcPulseAmp",
"Good Negative ADC pulse amplitudes",
"fGoodPosAdcPulseAmp"},
571 {
"goodPosAdcPulseTime",
"Good Negative ADC pulse times",
"fGoodPosAdcPulseTime"},
572 {
"goodPosAdcTdcDiffTime",
"Good Positive hodo Start - ADC pulse times",
"fGoodPosAdcTdcDiffTime"},
574 {
"goodNegAdcPed",
"Good Negative ADC pedestals",
"fGoodNegAdcPed"},
575 {
"goodNegAdcMult",
"Good Negative ADC Mult",
"fGoodNegAdcMult"},
576 {
"goodNegAdcPulseInt",
"Good Negative ADC pulse integrals",
"fGoodNegAdcPulseInt"},
577 {
"goodNegAdcPulseIntRaw",
"Good Negative ADC raw pulse integrals",
"fGoodNegAdcPulseIntRaw"},
578 {
"goodNegAdcPulseAmp",
"Good Negative ADC pulse amplitudes",
"fGoodNegAdcPulseAmp"},
579 {
"goodNegAdcPulseTime",
"Good Negative ADC pulse times",
"fGoodNegAdcPulseTime"},
580 {
"goodNegAdcTdcDiffTime",
"Good Negative hodo Start - ADC pulse times",
"fGoodNegAdcTdcDiffTime"},
737 UInt_t nrSampPosAdcHits = 0;
738 UInt_t nrSampNegAdcHits = 0;
950 Double_t adctdcdiffTime = StartTime-pulseTime+OffsetTime;
983 Double_t adctdcdiffTime = StartTime-pulseTime+OffsetTime;
1010 Int_t nPosTDCHits = 0;
1011 Int_t nNegTDCHits = 0;
1012 Int_t nPosADCHits = 0;
1013 Int_t nNegADCHits = 0;
1108 for (
Int_t itrack = 0; itrack < nTracks; itrack++) {
1111 if (track->
GetIndex() != 0)
continue;
1115 Double_t trackRedChi2 = trackChi2/trackNDoF;
1119 Double_t trackENorm = trackEnergy/trackMom;
1133 if (trackRedChi2Cut && trackBetaCut && trackENormCut && trackDpCut) {
1218 while(ihit < nrawhits) {
1288 cout <<
"Aerogel Pedestals" << endl;
1289 cout <<
"No. Neg Pos" << endl;
1293 cout <<
" fMinPeds = " <<
fMinPeds << endl;
Option_t Option_t TPoint TPoint const char mode
R__EXTERN class THaVarList * gHaVars
R__EXTERN class THaCutList * gHaCuts
ClassImp(VDC::AnalyticTTDConv) using namespace std
R__EXTERN class THcParmList * gHcParms
R__EXTERN class THcDetectorMap * gHcDetectorMap
char * Form(const char *fmt,...)
void Clear(Option_t *option="") override
TObject * ConstructedAt(Int_t idx)
static Int_t DefineVarsFromList(const void *list, EType type, EMode mode, const char *def_prefix, const TObject *obj, const char *prefix, const char *here, const char *comment_subst="")
virtual const char * Here(const char *) const
virtual void Print(Option_t *opt="") const
virtual Int_t Result(const char *cutname="", EWarnMode mode=kWarn)
UInt_t GetTotNumChan() const
THaApparatus * GetApparatus() const
Double_t GetEnergy() const
Double_t GetTheta() const
virtual THaVar * Find(const char *name) const
const void * GetValuePointer() const
Class for an Aerogel detector consisting of pairs of PMT's attached to a diffuser box.
Double_t * fAdcNegTimeWindowMax
void DeletePedestalArrays()
TClonesArray * frPosAdcPedRaw
vector< Int_t > fNumPosAdcHits
TClonesArray * frPosAdcSampPulseIntRaw
TClonesArray * fPosADCHits
TClonesArray * frPosAdcSampPedRaw
vector< Double_t > fNegNpe
vector< Double_t > fGoodPosAdcPed
TClonesArray * frNegAdcPulseInt
virtual void AccumulatePedestals(TClonesArray *rawhits)
static const Int_t MaxNumAdcPulse
vector< Int_t > fNumGoodNegAdcHits
vector< Double_t > fGoodPosAdcPulseAmp
vector< Double_t > fGoodNegAdcMult
TClonesArray * fPosAdcErrorFlag
vector< Double_t > fGoodPosAdcPulseIntRaw
Double_t fPosNpeSumSixGev
TClonesArray * frPosAdcSampPulseTime
TClonesArray * frNegAdcSampPulseAmp
vector< Double_t > fGoodPosAdcTdcDiffTime
TClonesArray * frNegAdcPed
vector< Double_t > fPosNpeSixGev
TClonesArray * fNegAdcErrorFlag
virtual void Print(const Option_t *opt) const
vector< Int_t > fNumNegAdcHits
TClonesArray * frNegAdcSampPulseTimeRaw
TClonesArray * frPosAdcSampPulseAmp
TClonesArray * fPosTDCHits
TClonesArray * frNegAdcSampPedRaw
TClonesArray * frPosAdcPulseAmpRaw
vector< Int_t > fNumTracksFired
virtual Int_t Decode(const THaEvData &)
TClonesArray * frPosAdcSampPulseTimeRaw
vector< Double_t > fGoodNegAdcPulseIntRaw
Int_t fTotNumGoodNegAdcHits
TClonesArray * frPosAdcSampPulseAmpRaw
TClonesArray * frNegAdcSampPulseInt
virtual Int_t ApplyCorrections(void)
TClonesArray * frPosAdcSampPulseInt
TClonesArray * fNegTDCHits
Int_t GetIndex(Int_t nRegion, Int_t nValue)
vector< Double_t > fGoodPosAdcPulseInt
Double_t fNegNpeSumSixGev
vector< Double_t > fPosAdcSampWaveform
vector< Int_t > fNumTracksMatched
TClonesArray * frPosAdcPed
Int_t fTotNumTracksMatched
TClonesArray * frPosAdcSampPed
TClonesArray * frNegAdcSampPulseIntRaw
vector< Double_t > fPosNpe
TClonesArray * frNegAdcPulseTimeRaw
virtual void CalculatePedestals()
TClonesArray * frNegAdcPedRaw
Int_t fTotNumGoodPosAdcHits
TClonesArray * frNegAdcPulseTime
vector< Double_t > fGoodNegAdcPulseInt
Int_t fOutputSampWaveform
Double_t * fAdcNegTimeWindowMin
virtual Int_t FineProcess(TClonesArray &tracks)
vector< Double_t > fGoodNegAdcTdcDiffTime
vector< Double_t > fGoodPosAdcMult
Double_t * fAdcPosTimeWindowMin
virtual void InitializePedestals()
TClonesArray * frPosAdcPulseTime
TClonesArray * frNegAdcPulseAmp
TClonesArray * fNegADCHits
TClonesArray * frPosAdcPulseAmp
vector< Double_t > fNegAdcSampWaveform
Int_t End(THaRunBase *run=0)
virtual void Clear(Option_t *opt="")
TClonesArray * frNegAdcSampPulseTime
Double_t * fAdcPosTimeWindowMax
vector< Int_t > fNumGoodPosAdcHits
vector< Double_t > fGoodPosAdcPulseTime
TClonesArray * frNegAdcPulseIntRaw
virtual Int_t ReadDatabase(const TDatime &date)
vector< Double_t > fGoodNegAdcPulseTime
TClonesArray * frPosAdcPulseIntRaw
virtual Int_t CoarseProcess(TClonesArray &tracks)
TClonesArray * frPosAdcPulseInt
vector< Double_t > fGoodNegAdcPed
vector< Double_t > fNegNpeSixGev
TClonesArray * frNegAdcPulseAmpRaw
TClonesArray * frNegAdcSampPed
vector< Double_t > fGoodNegAdcPulseAmp
virtual Int_t DefineVariables(EMode mode=kDefine)
TClonesArray * frNegAdcSampPulseAmpRaw
TClonesArray * frPosAdcPulseTimeRaw
virtual Int_t FillMap(THaDetMap *detmap, const char *detectorname)
A standard Hall C spectrometer apparatus.
virtual Int_t DecodeToHitList(const THaEvData &evdata, Bool_t suppress=kFALSE)
Populate the hitlist from the raw event data.
TClonesArray * fRawHitList
void CreateMissReportParms(const char *prefix) const
void InitHitList(THaDetMap *detmap, const char *hitclass, Int_t maxhits, Int_t tdcref_cut=0, Int_t adcref_cut=0)
Save the electronics module to detector mapping and initialize a hit array of hits of class hitclass.
void MissReport(const char *name) const
Generic hodoscope consisting of multiple planes with multiple paddles with phototubes on both ends.
Double_t GetStartTime() const
Double_t GetOffsetTime() const
Int_t LoadParmValues(const DBRequest *list, const char *prefix="")
Retrieve parameter values from the parameter cache.
Class representing a single raw ADC hit.
Int_t GetSampPulseIntRaw(UInt_t iPulse=0) const
UInt_t GetNSampPulses() const
Double_t GetSampPulseInt(UInt_t iPulse=0) const
Int_t GetPedRaw() const
Gets raw signal pedestal. In channels.
Int_t GetSampPulseAmpRaw(UInt_t iPulse=0) const
Double_t GetSampPulseTime(UInt_t iPulse=0) const
UInt_t GetNPulses() const
Gets number of set pulses.
Int_t GetF250_NSB() const
UInt_t GetNSamples() const
Gets number of set samples.
Int_t GetSampPedRaw() const
void SetSampNSAT(Int_t nsat)
static constexpr Double_t GetAdcTopC()
void SetSampThreshold(Double_t thres)
Double_t GetPulseAmp(UInt_t iPulse=0) const
Gets pedestal subtracted pulse amplitude. In channels.
Double_t GetSample(UInt_t iSample=0) const
void SetSampIntTimePedestalPeak()
Int_t GetPulseAmpRaw(UInt_t iPulse=0) const
Gets raw pulse amplitude. In channels.
Double_t GetPed() const
Gets sample pedestal. In channels.
Double_t GetF250_PeakPedestalRatio() const
Int_t GetPulseTimeRaw(UInt_t iPulse=0) const
Gets raw pulse time. In subsamples.
Double_t GetSampPulseAmp(UInt_t iPulse=0) const
Double_t GetPulseTime(UInt_t iPulse=0) const
Int_t GetF250_NPedestalSamples() const
Int_t GetPulseIntRaw(UInt_t iPulse=0) const
Gets raw pulse integral. In channels.
Int_t GetSampPulseTimeRaw(UInt_t iPulse=0) const
Double_t GetSampPed() const
Int_t GetF250_NSA() const
static constexpr Double_t GetAdcTomV()
void SetF250Params(Int_t NSA, Int_t NSB, Int_t NPED)
Sets F250 parameters used for pedestal subtraction.
Double_t GetPulseInt(UInt_t iPulse=0) const
Gets pedestal subtracted pulse integral. In channels.
THcRawAdcHit & GetRawAdcHitPos()
THcRawAdcHit & GetRawAdcHitNeg()
THcRawTdcHit & GetRawTdcHitNeg()
THcRawTdcHit & GetRawTdcHitPos()
Int_t GetTime(UInt_t iHit=0) const
Gets TDC time. In channels.
UInt_t GetNHits() const
Gets the number of set hits.
virtual void Set(Int_t paddle, Int_t data)
const char * GetName() const override
Int_t GetEntries() const override
TObject * At(Int_t idx) const override
Int_t GetLast() const override
virtual void Warning(const char *method, const char *msgfmt,...) const
virtual void Error(const char *method, const char *msgfmt,...) const
Double_t Max(Double_t a, Double_t b)