JAPAn
Just Another Parity Analyzer
|
Integration PMT providing yield/diff/asym readout from Moller ADC. More...
#include <QwIntegrationPMT.h>
Public Member Functions | |
QwIntegrationPMT () | |
QwIntegrationPMT (TString name) | |
QwIntegrationPMT (TString subsystemname, TString name) | |
QwIntegrationPMT (const QwIntegrationPMT &source) | |
~QwIntegrationPMT () override | |
void | LoadChannelParameters (QwParameterFile ¶mfile) override |
Int_t | ProcessEvBuffer (UInt_t *buffer, UInt_t word_position_in_buffer, UInt_t subelement=0) override |
Process the raw event buffer and decode into the ADC channel. | |
void | InitializeChannel (TString name, TString datatosave) |
Initialize the PMT channel with a name and data-saving mode. | |
void | InitializeChannel (TString subsystem, TString name, TString datatosave) |
Initialize the PMT channel with subsystem and name. | |
void | InitializeChannel (TString subsystem, TString module, TString name, TString datatosave) |
Initialize the PMT channel including an intermediate module tag. | |
void | SetElementName (const TString &name) |
const QwMollerADC_Channel * | GetChannel (const TString name) const |
void | ClearEventData () override |
Clear event-scoped data in the underlying ADC channel. | |
void | PrintErrorCounters () |
Print accumulated error counters for this PMT. | |
void | SetRandomEventDriftParameters (Double_t amplitude, Double_t phase, Double_t frequency) |
Configure deterministic drift parameters applied per event. | |
void | AddRandomEventDriftParameters (Double_t amplitude, Double_t phase, Double_t frequency) |
Add additional drift parameters to the existing drift model. | |
void | SetRandomEventParameters (Double_t mean, Double_t sigma) |
Configure Gaussian mock data parameters. | |
void | SetRandomEventAsymmetry (Double_t asymmetry) |
Set an asymmetry parameter applied to helicity states. | |
void | RandomizeEventData (int helicity=0, double time=0.0) |
Generate mock data for a single event. | |
void | SetHardwareSum (Double_t hwsum, UInt_t sequencenumber=0) |
Set the hardware-level sum measurement for a sequence. | |
void | SetEventData (Double_t *block, UInt_t sequencenumber) |
Set the block data for the current event sequence. | |
void | EncodeEventData (std::vector< UInt_t > &buffer) |
Encode current event data into an output buffer. | |
void | RandomizeMollerEvent (int helicity, const QwBeamCharge &charge, const QwBeamPosition &xpos, const QwBeamPosition &ypos, const QwBeamAngle &xprime, const QwBeamAngle &yprime, const QwBeamEnergy &energy) |
Generate a mock MOLLER detector event using beam parameters. | |
void | UseExternalRandomVariable () |
Use an external random variable source for mock data. | |
void | SetExternalRandomVariable (Double_t random_variable) |
Set the external random variable to drive mock data. | |
Double_t | GetValue () |
Get the integrated value over the current event window. | |
Double_t | GetValue (Int_t blocknum) |
Get the integrated value for a specific block. | |
void | ProcessEvent () |
Apply hardware checks and process the event for this PMT. | |
Bool_t | ApplyHWChecks () |
Apply hardware checks and return whether the event is valid. | |
Bool_t | ApplySingleEventCuts () |
Apply single-event cuts for this PMT and return pass/fail. | |
void | IncrementErrorCounters () |
void | PrintErrorCounters () const override |
Print error counters (const overload). | |
Int_t | SetSingleEventCuts (Double_t, Double_t) |
Set basic single-event cut limits. | |
void | SetSingleEventCuts (UInt_t errorflag, Double_t LL, Double_t UL, Double_t stability, Double_t burplevel) |
Inherited from VQwDataElement to set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel. | |
void | SetDefaultSampleSize (Int_t sample_size) |
Set the default sample size used by the ADC channel. | |
void | SetSaturationLimit (Double_t saturation_volt) |
Set the saturation voltage limit for the ADC front-end. | |
UInt_t | GetEventcutErrorFlag () override |
return the error flag on this channel/device | |
Bool_t | CheckForBurpFail (const VQwDataElement *ev_error) |
Check for burp failures by comparing against a reference PMT. | |
UInt_t | UpdateErrorFlag () override |
Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag". | |
void | UpdateErrorFlag (const QwIntegrationPMT *ev_error) |
Merge error flags from a reference PMT into this instance. | |
void | SetEventCutMode (Int_t bcuts) |
void | SetBlindability (Bool_t isblindable) |
void | SetNormalizability (Bool_t isnormalizable) |
void | Blind (const QwBlinder *blinder) |
Blind the asymmetry. | |
void | Blind (const QwBlinder *blinder, const QwIntegrationPMT &yield) |
Blind the difference using the yield. | |
void | PrintValue () const override |
Print single line of value and error of this data element. | |
void | PrintInfo () const override |
Print multiple lines of information about this data element. | |
QwIntegrationPMT & | operator= (const QwIntegrationPMT &value) |
Copy-assign from another PMT (event-scoped data). | |
QwIntegrationPMT & | operator+= (const QwIntegrationPMT &value) |
Add-assign from another PMT (sum raw channels). | |
QwIntegrationPMT & | operator-= (const QwIntegrationPMT &value) |
void | Sum (const QwIntegrationPMT &value1, const QwIntegrationPMT &value2) |
void | Difference (const QwIntegrationPMT &value1, const QwIntegrationPMT &value2) |
void | Ratio (QwIntegrationPMT &numer, QwIntegrationPMT &denom) |
void | Scale (Double_t factor) |
void | Normalize (VQwDataElement *denom) |
void | AccumulateRunningSum (const QwIntegrationPMT &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) |
void | DeaccumulateRunningSum (QwIntegrationPMT &value, Int_t ErrorMask=0xFFFFFFF) |
void | CalculateRunningAverage () |
void | SetPedestal (Double_t ped) |
Set the pedestal value and propagate to the underlying ADC channel. | |
void | SetCalibrationFactor (Double_t calib) |
Set the calibration factor and propagate to the underlying ADC channel. | |
void | SetNormRate (Double_t value) |
void | SetVoltPerHz (Double_t value) |
void | SetAsymmetry (Double_t value) |
void | SetCoefficientCx (Double_t value) |
void | SetCoefficientCy (Double_t value) |
void | SetCoefficientCxp (Double_t value) |
void | SetCoefficientCyp (Double_t value) |
void | SetCoefficientCe (Double_t value) |
void | ConstructHistograms (TDirectory *folder, TString &prefix) override |
Construct the histograms for this data element. | |
void | FillHistograms () override |
Fill the histograms for this data element. | |
void | ConstructBranchAndVector (TTree *tree, TString &prefix, QwRootTreeBranchVector &values) |
void | ConstructBranch (TTree *tree, TString &prefix) |
void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &trim_file) |
void | FillTreeVector (QwRootTreeBranchVector &values) const |
std::vector< QwDBInterface > | GetDBEntry () |
std::vector< QwErrDBInterface > | GetErrDBEntry () |
![]() | |
VQwDataElement () | |
Default constructor. | |
VQwDataElement (const VQwDataElement &value) | |
Copy constructor. | |
~VQwDataElement () override | |
Virtual destructor. | |
void | CopyFrom (const VQwDataElement &value) |
Bool_t | IsNameEmpty () const |
Is the name of this element empty? | |
void | SetElementName (const TString &name) |
Set the name of this element. | |
virtual const TString & | GetElementName () const |
Get the name of this element. | |
virtual void | LoadMockDataParameters (QwParameterFile &) |
size_t | GetNumberOfDataWords () |
Get the number of data words in this data element. | |
UInt_t | GetGoodEventCount () const |
virtual void | AssignValueFrom (const VQwDataElement *) |
VQwDataElement & | operator+= (const VQwDataElement &) |
Addition-assignment operator. | |
VQwDataElement & | operator-= (const VQwDataElement &) |
Subtraction-assignment operator. | |
void | Sum (const VQwDataElement &, const VQwDataElement &) |
Sum operator (base class fallback throws runtime error) | |
void | Difference (const VQwDataElement &, const VQwDataElement &) |
Difference operator (base class fallback throws runtime error) | |
void | Ratio (const VQwDataElement &, const VQwDataElement &) |
Ratio operator (base class fallback throws runtime error) | |
void | SetSingleEventCuts (UInt_t, Double_t, Double_t, Double_t) |
set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel | |
Bool_t | CheckForBurpFail (const VQwDataElement *) |
virtual void | SetNeedsExternalClock (Bool_t) |
virtual Bool_t | NeedsExternalClock () |
virtual std::string | GetExternalClockName () |
virtual void | SetExternalClockPtr (const VQwHardwareChannel *) |
virtual void | SetExternalClockName (const std::string) |
virtual Double_t | GetNormClockValue () |
TString | GetSubsystemName () const |
Return the name of the inheriting subsystem name. | |
void | SetSubsystemName (TString sysname) |
Set the name of the inheriting subsystem name. | |
TString | GetModuleType () const |
Return the type of the beam instrument. | |
void | SetModuleType (TString ModuleType) |
set the type of the beam instrument | |
![]() | |
void | ShareHistograms (const MQwHistograms *source) |
Share histogram pointers between objects. | |
Private Attributes | |
Double_t | fPedestal |
Double_t | fCalibration |
Double_t | fNormRate |
Double_t | fVoltPerHz |
Double_t | fAsym |
Double_t | fCoeff_x |
Double_t | fCoeff_y |
Double_t | fCoeff_xp |
Double_t | fCoeff_yp |
Double_t | fCoeff_e |
Bool_t | fGoodEvent |
QwMollerADC_Channel | fTriumf_ADC |
Int_t | fDeviceErrorCode |
Bool_t | fIsBlindable |
Bool_t | fIsNormalizable |
Bool_t | bEVENTCUTMODE |
Static Private Attributes | |
static const Bool_t | bDEBUG =kFALSE |
Additional Inherited Members | |
![]() | |
enum | EDataToSave { kRaw = 0 , kDerived , kMoments } |
![]() | |
void | SetNumberOfDataWords (const UInt_t &numwords) |
Set the number of data words in this data element. | |
VQwDataElement & | operator= (const VQwDataElement &value) |
Arithmetic assignment operator: Should only copy event-based data. | |
void | UpdateErrorFlag (const UInt_t &error) |
![]() | |
MQwHistograms () | |
Default constructor. | |
MQwHistograms (const MQwHistograms &source) | |
Copy constructor. | |
virtual | ~MQwHistograms () |
Virtual destructor. | |
MQwHistograms & | operator= (const MQwHistograms &value) |
void | Fill_Pointer (TH1_ptr hist_ptr, Double_t value) |
void | AddHistogram (TH1 *h) |
Register a histogram. | |
![]() | |
TString | fElementName |
Name of this data element. | |
UInt_t | fNumberOfDataWords |
Number of raw data words in this data element. | |
UInt_t | fGoodEventCount |
Number of good events accumulated in this element. | |
TString | fSubsystemName |
TString | fModuleType |
UInt_t | fErrorFlag |
This the standard error code generated for the channel that contains the global/local/stability flags and the Device error code (Unique error code for HW failures) | |
UInt_t | fErrorConfigFlag |
contains the global/local/stability flags | |
![]() | |
std::vector< TH1_ptr > | fHistograms |
Histograms associated with this data element. | |
Integration PMT providing yield/diff/asym readout from Moller ADC.
Definition at line 37 of file QwIntegrationPMT.h.
|
inline |
Definition at line 40 of file QwIntegrationPMT.h.
References InitializeChannel().
Referenced by AccumulateRunningSum(), Blind(), CheckForBurpFail(), DeaccumulateRunningSum(), Difference(), operator+=(), operator-=(), operator=(), QwIntegrationPMT(), Ratio(), Sum(), and UpdateErrorFlag().
|
inline |
Definition at line 43 of file QwIntegrationPMT.h.
References InitializeChannel().
|
inline |
Definition at line 46 of file QwIntegrationPMT.h.
References InitializeChannel(), and VQwDataElement::SetSubsystemName().
|
inline |
Definition at line 50 of file QwIntegrationPMT.h.
References fCalibration, fIsBlindable, fIsNormalizable, fPedestal, fTriumf_ADC, QwIntegrationPMT(), and VQwDataElement::VQwDataElement().
|
inlineoverride |
Definition at line 58 of file QwIntegrationPMT.h.
void QwIntegrationPMT::AccumulateRunningSum | ( | const QwIntegrationPMT & | value, |
Int_t | count = 0, | ||
Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 644 of file QwIntegrationPMT.cc.
References fTriumf_ADC, and QwIntegrationPMT().
void QwIntegrationPMT::AddRandomEventDriftParameters | ( | Double_t | amplitude, |
Double_t | phase, | ||
Double_t | frequency ) |
Add additional drift parameters to the existing drift model.
amplitude | Drift amplitude. |
phase | Drift phase in radians. |
frequency | Drift frequency. |
Definition at line 145 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
Bool_t QwIntegrationPMT::ApplyHWChecks | ( | ) |
Apply hardware checks and return whether the event is valid.
Definition at line 289 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
Referenced by ProcessEvent().
Bool_t QwIntegrationPMT::ApplySingleEventCuts | ( | ) |
Apply single-event cuts for this PMT and return pass/fail.
Definition at line 348 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::Blind | ( | const QwBlinder * | blinder | ) |
Blind the asymmetry.
Definition at line 655 of file QwIntegrationPMT.cc.
References fIsBlindable, and fTriumf_ADC.
void QwIntegrationPMT::Blind | ( | const QwBlinder * | blinder, |
const QwIntegrationPMT & | yield ) |
Blind the difference using the yield.
Definition at line 660 of file QwIntegrationPMT.cc.
References fIsBlindable, fTriumf_ADC, and QwIntegrationPMT().
void QwIntegrationPMT::CalculateRunningAverage | ( | ) |
Definition at line 639 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
Bool_t QwIntegrationPMT::CheckForBurpFail | ( | const VQwDataElement * | ev_error | ) |
Check for burp failures by comparing against a reference PMT.
ev_error | Reference PMT to compare error conditions. |
Definition at line 380 of file QwIntegrationPMT.cc.
References fTriumf_ADC, VQwDataElement::GetElementName(), QwIntegrationPMT(), and VQwDataElement::VQwDataElement().
|
overridevirtual |
Clear event-scoped data in the underlying ADC channel.
Reimplemented from VQwDataElement.
Definition at line 99 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::ConstructBranch | ( | TTree * | tree, |
TString & | prefix ) |
Definition at line 580 of file QwIntegrationPMT.cc.
References fTriumf_ADC, and VQwDataElement::GetElementName().
void QwIntegrationPMT::ConstructBranch | ( | TTree * | tree, |
TString & | prefix, | ||
QwParameterFile & | trim_file ) |
Definition at line 591 of file QwIntegrationPMT.cc.
References QwLog::endl(), fTriumf_ADC, VQwDataElement::GetElementName(), QwParameterFile::HasValue(), and QwMessage.
void QwIntegrationPMT::ConstructBranchAndVector | ( | TTree * | tree, |
TString & | prefix, | ||
QwRootTreeBranchVector & | values ) |
Definition at line 569 of file QwIntegrationPMT.cc.
References fTriumf_ADC, and VQwDataElement::GetElementName().
|
overridevirtual |
Construct the histograms for this data element.
Implements VQwDataElement.
Definition at line 541 of file QwIntegrationPMT.cc.
References fTriumf_ADC, and VQwDataElement::GetElementName().
void QwIntegrationPMT::DeaccumulateRunningSum | ( | QwIntegrationPMT & | value, |
Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 649 of file QwIntegrationPMT.cc.
References fTriumf_ADC, and QwIntegrationPMT().
void QwIntegrationPMT::Difference | ( | const QwIntegrationPMT & | value1, |
const QwIntegrationPMT & | value2 ) |
Definition at line 485 of file QwIntegrationPMT.cc.
References QwIntegrationPMT().
void QwIntegrationPMT::EncodeEventData | ( | std::vector< UInt_t > & | buffer | ) |
Encode current event data into an output buffer.
Definition at line 271 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
|
overridevirtual |
Fill the histograms for this data element.
Implements VQwDataElement.
Definition at line 554 of file QwIntegrationPMT.cc.
References fTriumf_ADC, and VQwDataElement::GetElementName().
void QwIntegrationPMT::FillTreeVector | ( | QwRootTreeBranchVector & | values | ) | const |
Definition at line 609 of file QwIntegrationPMT.cc.
References fTriumf_ADC, and VQwDataElement::GetElementName().
|
inline |
Definition at line 78 of file QwIntegrationPMT.h.
References fTriumf_ADC.
Referenced by VQwDetectorArray::PublishInternalValues(), and VQwDetectorArray::WritePromptSummary().
std::vector< QwDBInterface > QwIntegrationPMT::GetDBEntry | ( | ) |
std::vector< QwErrDBInterface > QwIntegrationPMT::GetErrDBEntry | ( | ) |
|
inlineoverridevirtual |
return the error flag on this channel/device
Reimplemented from VQwDataElement.
Definition at line 118 of file QwIntegrationPMT.h.
References fTriumf_ADC.
Referenced by UpdateErrorFlag().
Double_t QwIntegrationPMT::GetValue | ( | ) |
Get the integrated value over the current event window.
Definition at line 244 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
Double_t QwIntegrationPMT::GetValue | ( | Int_t | blocknum | ) |
Get the integrated value for a specific block.
blocknum | Block index within the event. |
Definition at line 253 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
|
inline |
Definition at line 109 of file QwIntegrationPMT.h.
References fTriumf_ADC.
void QwIntegrationPMT::InitializeChannel | ( | TString | name, |
TString | datatosave ) |
Initialize the PMT channel with a name and data-saving mode.
name | Detector name used for branches and histograms. |
datatosave | Storage mode (e.g., "raw" or "derived"). |
Definition at line 52 of file QwIntegrationPMT.cc.
References fTriumf_ADC, SetBlindability(), SetCalibrationFactor(), SetElementName(), SetNormalizability(), and SetPedestal().
Referenced by QwIntegrationPMT(), QwIntegrationPMT(), and QwIntegrationPMT().
void QwIntegrationPMT::InitializeChannel | ( | TString | subsystem, |
TString | module, | ||
TString | name, | ||
TString | datatosave ) |
Initialize the PMT channel including an intermediate module tag.
subsystem | Subsystem identifier. |
module | Module type tag used in ROOT foldering. |
name | Detector name used for branches and histograms. |
datatosave | Storage mode (e.g., "raw" or "derived"). |
Definition at line 87 of file QwIntegrationPMT.cc.
References fTriumf_ADC, SetBlindability(), SetCalibrationFactor(), SetElementName(), SetNormalizability(), and SetPedestal().
void QwIntegrationPMT::InitializeChannel | ( | TString | subsystem, |
TString | name, | ||
TString | datatosave ) |
Initialize the PMT channel with subsystem and name.
subsystem | Subsystem identifier for foldering. |
name | Detector name used for branches and histograms. |
datatosave | Storage mode (e.g., "raw" or "derived"). |
Definition at line 69 of file QwIntegrationPMT.cc.
References fTriumf_ADC, SetBlindability(), SetCalibrationFactor(), SetElementName(), SetNormalizability(), and SetPedestal().
|
inlineoverridevirtual |
void QwIntegrationPMT::Normalize | ( | VQwDataElement * | denom | ) |
Definition at line 509 of file QwIntegrationPMT.cc.
References fIsNormalizable, fTriumf_ADC, and VQwDataElement::VQwDataElement().
QwIntegrationPMT & QwIntegrationPMT::operator+= | ( | const QwIntegrationPMT & | value | ) |
Add-assign from another PMT (sum raw channels).
Definition at line 458 of file QwIntegrationPMT.cc.
References fCalibration, fPedestal, fTriumf_ADC, VQwDataElement::GetElementName(), and QwIntegrationPMT().
QwIntegrationPMT & QwIntegrationPMT::operator-= | ( | const QwIntegrationPMT & | value | ) |
Definition at line 469 of file QwIntegrationPMT.cc.
References fCalibration, fPedestal, fTriumf_ADC, VQwDataElement::GetElementName(), and QwIntegrationPMT().
QwIntegrationPMT & QwIntegrationPMT::operator= | ( | const QwIntegrationPMT & | value | ) |
Copy-assign from another PMT (event-scoped data).
Definition at line 440 of file QwIntegrationPMT.cc.
References fCalibration, fPedestal, fTriumf_ADC, VQwDataElement::GetElementName(), and QwIntegrationPMT().
void QwIntegrationPMT::PrintErrorCounters | ( | ) |
Print accumulated error counters for this PMT.
Definition at line 106 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
|
overridevirtual |
Print error counters (const overload).
Reimplemented from VQwDataElement.
Definition at line 369 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
|
overridevirtual |
Print multiple lines of information about this data element.
Reimplemented from VQwDataElement.
Definition at line 523 of file QwIntegrationPMT.cc.
References fAsym, fCoeff_e, fCoeff_x, fCoeff_xp, fCoeff_y, fCoeff_yp, fIsBlindable, fIsNormalizable, fNormRate, fTriumf_ADC, and fVoltPerHz.
|
overridevirtual |
Print single line of value and error of this data element.
Reimplemented from VQwDataElement.
Definition at line 518 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
|
overridevirtual |
Process the raw event buffer and decode into the ADC channel.
Decode the Moller ADC block for this PMT from an event buffer.
buffer | Event buffer pointer. |
word_position_in_buffer | Current word index in buffer. |
subelement | Block index within the PMT (default 0). |
Implements VQwDataElement.
Definition at line 431 of file QwIntegrationPMT.cc.
References fTriumf_ADC, and QwBPMStripline< T >::subelement.
void QwIntegrationPMT::ProcessEvent | ( | ) |
Apply hardware checks and process the event for this PMT.
Definition at line 277 of file QwIntegrationPMT.cc.
References ApplyHWChecks(), and fTriumf_ADC.
void QwIntegrationPMT::RandomizeEventData | ( | int | helicity = 0, |
double | time = 0.0 ) |
Generate mock data for a single event.
helicity | Helicity state indicator. |
time | Event time or timestamp proxy. |
Definition at line 177 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::RandomizeMollerEvent | ( | int | helicity, |
const QwBeamCharge & | charge, | ||
const QwBeamPosition & | xpos, | ||
const QwBeamPosition & | ypos, | ||
const QwBeamAngle & | xprime, | ||
const QwBeamAngle & | yprime, | ||
const QwBeamEnergy & | energy ) |
Generate a mock MOLLER detector event using beam parameters.
helicity | Helicity state indicator. |
charge | Beam charge reference. |
xpos | Beam X position. |
ypos | Beam Y position. |
xprime | Beam X angle. |
yprime | Beam Y angle. |
energy | Beam energy reference. |
Definition at line 194 of file QwIntegrationPMT.cc.
References QwMollerADC_Channel::AssignScaledValue(), fAsym, fCoeff_e, fCoeff_x, fCoeff_xp, fCoeff_y, fCoeff_yp, fNormRate, fTriumf_ADC, fVoltPerHz, QwMollerADC_Channel::kTimePerSample, and Qw::sec.
void QwIntegrationPMT::Ratio | ( | QwIntegrationPMT & | numer, |
QwIntegrationPMT & | denom ) |
Definition at line 490 of file QwIntegrationPMT.cc.
References fCalibration, fPedestal, fTriumf_ADC, VQwDataElement::GetElementName(), and QwIntegrationPMT().
void QwIntegrationPMT::Scale | ( | Double_t | factor | ) |
Definition at line 503 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
Referenced by QwCombinedPMT::CalculateSumAndAverage().
|
inline |
|
inline |
Definition at line 132 of file QwIntegrationPMT.h.
References fIsBlindable.
Referenced by InitializeChannel(), InitializeChannel(), InitializeChannel(), and VQwDetectorArray::LoadChannelMap().
void QwIntegrationPMT::SetCalibrationFactor | ( | Double_t | calib | ) |
Set the calibration factor and propagate to the underlying ADC channel.
calib | Multiplicative calibration factor. |
Definition at line 40 of file QwIntegrationPMT.cc.
References fCalibration, and fTriumf_ADC.
Referenced by InitializeChannel(), InitializeChannel(), and InitializeChannel().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void QwIntegrationPMT::SetDefaultSampleSize | ( | Int_t | sample_size | ) |
Set the default sample size used by the ADC channel.
Definition at line 332 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
|
inline |
Definition at line 76 of file QwIntegrationPMT.h.
References VQwDataElement::fElementName, and fTriumf_ADC.
Referenced by InitializeChannel(), InitializeChannel(), and InitializeChannel().
|
inline |
Definition at line 127 of file QwIntegrationPMT.h.
References bEVENTCUTMODE, and fTriumf_ADC.
void QwIntegrationPMT::SetEventData | ( | Double_t * | block, |
UInt_t | sequencenumber ) |
Set the block data for the current event sequence.
block | Pointer to block data. |
sequencenumber | Sequence identifier. |
Definition at line 264 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::SetExternalRandomVariable | ( | Double_t | random_variable | ) |
Set the external random variable to drive mock data.
random_variable | External random value. |
Definition at line 121 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::SetHardwareSum | ( | Double_t | hwsum, |
UInt_t | sequencenumber = 0 ) |
Set the hardware-level sum measurement for a sequence.
hwsum | Hardware sum value. |
sequencenumber | Sequence identifier. |
Definition at line 237 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
|
inline |
Definition at line 133 of file QwIntegrationPMT.h.
References fIsNormalizable.
Referenced by InitializeChannel(), InitializeChannel(), InitializeChannel(), and VQwDetectorArray::LoadChannelMap().
|
inline |
void QwIntegrationPMT::SetPedestal | ( | Double_t | pedestal | ) |
Set the pedestal value and propagate to the underlying ADC channel.
pedestal | Pedestal offset to apply to the raw signal. |
Definition at line 29 of file QwIntegrationPMT.cc.
References fPedestal, and fTriumf_ADC.
Referenced by InitializeChannel(), InitializeChannel(), and InitializeChannel().
void QwIntegrationPMT::SetRandomEventAsymmetry | ( | Double_t | asymmetry | ) |
Set an asymmetry parameter applied to helicity states.
asymmetry | Fractional asymmetry to apply. |
Definition at line 166 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::SetRandomEventDriftParameters | ( | Double_t | amplitude, |
Double_t | phase, | ||
Double_t | frequency ) |
Configure deterministic drift parameters applied per event.
amplitude | Drift amplitude. |
phase | Drift phase in radians. |
frequency | Drift frequency. |
Definition at line 133 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::SetRandomEventParameters | ( | Double_t | mean, |
Double_t | sigma ) |
Configure Gaussian mock data parameters.
mean | Mean of the generated distribution. |
sigma | Standard deviation of the distribution. |
Definition at line 156 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::SetSaturationLimit | ( | Double_t | saturation_volt | ) |
Set the saturation voltage limit for the ADC front-end.
Definition at line 338 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
Int_t QwIntegrationPMT::SetSingleEventCuts | ( | Double_t | LL = 0, |
Double_t | UL = 0 ) |
Set basic single-event cut limits.
LL | Lower limit. |
UL | Upper limit. |
Definition at line 307 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
void QwIntegrationPMT::SetSingleEventCuts | ( | UInt_t | errorflag, |
Double_t | LL = 0, | ||
Double_t | UL = 0, | ||
Double_t | stability = 0, | ||
Double_t | burplevel = 0 ) |
Inherited from VQwDataElement to set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel.
Configure detailed single-event cuts for this PMT.
errorflag | Device-specific error flag mask to set. |
LL | Lower limit. |
UL | Upper limit. |
stability | Stability threshold. |
burplevel | Burp detection threshold. |
Definition at line 321 of file QwIntegrationPMT.cc.
References QwLog::endl(), fTriumf_ADC, kPMTErrorFlag, and QwMessage.
|
inline |
void QwIntegrationPMT::Sum | ( | const QwIntegrationPMT & | value1, |
const QwIntegrationPMT & | value2 ) |
Definition at line 480 of file QwIntegrationPMT.cc.
References QwIntegrationPMT().
|
inlineoverridevirtual |
Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag".
Reimplemented from VQwDataElement.
Definition at line 124 of file QwIntegrationPMT.h.
References GetEventcutErrorFlag().
void QwIntegrationPMT::UpdateErrorFlag | ( | const QwIntegrationPMT * | ev_error | ) |
Merge error flags from a reference PMT into this instance.
ev_error | Reference PMT whose flags are merged. |
Definition at line 406 of file QwIntegrationPMT.cc.
References fTriumf_ADC, VQwDataElement::GetElementName(), and QwIntegrationPMT().
void QwIntegrationPMT::UseExternalRandomVariable | ( | ) |
Use an external random variable source for mock data.
Definition at line 111 of file QwIntegrationPMT.cc.
References fTriumf_ADC.
|
staticprivate |
Definition at line 215 of file QwIntegrationPMT.h.
|
private |
Definition at line 216 of file QwIntegrationPMT.h.
Referenced by SetEventCutMode().
|
private |
Definition at line 199 of file QwIntegrationPMT.h.
Referenced by PrintInfo(), RandomizeMollerEvent(), and SetAsymmetry().
|
private |
Definition at line 196 of file QwIntegrationPMT.h.
Referenced by operator+=(), operator-=(), operator=(), QwIntegrationPMT(), Ratio(), and SetCalibrationFactor().
|
private |
Definition at line 204 of file QwIntegrationPMT.h.
Referenced by PrintInfo(), RandomizeMollerEvent(), and SetCoefficientCe().
|
private |
Definition at line 200 of file QwIntegrationPMT.h.
Referenced by PrintInfo(), RandomizeMollerEvent(), and SetCoefficientCx().
|
private |
Definition at line 202 of file QwIntegrationPMT.h.
Referenced by PrintInfo(), RandomizeMollerEvent(), and SetCoefficientCxp().
|
private |
Definition at line 201 of file QwIntegrationPMT.h.
Referenced by PrintInfo(), RandomizeMollerEvent(), and SetCoefficientCy().
|
private |
Definition at line 203 of file QwIntegrationPMT.h.
Referenced by PrintInfo(), RandomizeMollerEvent(), and SetCoefficientCyp().
|
private |
Definition at line 210 of file QwIntegrationPMT.h.
|
private |
Definition at line 206 of file QwIntegrationPMT.h.
|
private |
Definition at line 212 of file QwIntegrationPMT.h.
Referenced by Blind(), Blind(), PrintInfo(), QwIntegrationPMT(), and SetBlindability().
|
private |
Definition at line 213 of file QwIntegrationPMT.h.
Referenced by Normalize(), PrintInfo(), QwIntegrationPMT(), and SetNormalizability().
|
private |
Definition at line 197 of file QwIntegrationPMT.h.
Referenced by PrintInfo(), RandomizeMollerEvent(), and SetNormRate().
|
private |
Definition at line 195 of file QwIntegrationPMT.h.
Referenced by operator+=(), operator-=(), operator=(), QwIntegrationPMT(), Ratio(), and SetPedestal().
|
private |
Definition at line 208 of file QwIntegrationPMT.h.
Referenced by AccumulateRunningSum(), AddRandomEventDriftParameters(), ApplyHWChecks(), ApplySingleEventCuts(), Blind(), Blind(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), EncodeEventData(), FillHistograms(), FillTreeVector(), GetChannel(), GetEventcutErrorFlag(), GetValue(), GetValue(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), InitializeChannel(), Normalize(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvBuffer(), ProcessEvent(), QwIntegrationPMT(), RandomizeEventData(), RandomizeMollerEvent(), Ratio(), Scale(), SetCalibrationFactor(), SetDefaultSampleSize(), SetElementName(), SetEventCutMode(), SetEventData(), SetExternalRandomVariable(), SetHardwareSum(), SetPedestal(), SetRandomEventAsymmetry(), SetRandomEventDriftParameters(), SetRandomEventParameters(), SetSaturationLimit(), SetSingleEventCuts(), SetSingleEventCuts(), UpdateErrorFlag(), and UseExternalRandomVariable().
|
private |
Definition at line 198 of file QwIntegrationPMT.h.
Referenced by PrintInfo(), RandomizeMollerEvent(), and SetVoltPerHz().