JAPAn
Just Another Parity Analyzer
|
Quadrant photodiode BPM computing X/Y and effective charge. More...
#include <QwQPD.h>
Public Member Functions | |
QwQPD () | |
QwQPD (TString name) | |
QwQPD (TString subsystemname, TString name) | |
QwQPD (const QwQPD &source) | |
~QwQPD () override | |
void | InitializeChannel (TString name) |
void | InitializeChannel (TString subsystem, TString name) |
void | LoadChannelParameters (QwParameterFile ¶mfile) override |
void | GetCalibrationFactors (Double_t AlphaX, Double_t AlphaY) |
void | ClearEventData () override |
Int_t | ProcessEvBuffer (UInt_t *buffer, UInt_t word_position_in_buffer, UInt_t indexnumber) override |
void | ProcessEvent () override |
const VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) const override |
const VQwHardwareChannel * | GetEffectiveCharge () const override |
TString | GetSubElementName (Int_t subindex) override |
void | GetAbsolutePosition () override |
Bool_t | ApplyHWChecks () |
Bool_t | ApplySingleEventCuts () override |
void | SetSingleEventCuts (TString ch_name, UInt_t errorflag, Double_t minX, Double_t maxX, 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 | SetEventCutMode (Int_t bcuts) override |
void | IncrementErrorCounters () override |
void | PrintErrorCounters () const override |
UInt_t | GetEventcutErrorFlag () override |
UInt_t | UpdateErrorFlag () override |
void | UpdateErrorFlag (const VQwBPM *ev_error) override |
Bool_t | CheckForBurpFail (const VQwDataElement *ev_error) override |
void | SetDefaultSampleSize (Int_t sample_size) override |
void | SetRandomEventParameters (Double_t meanX, Double_t sigmaX, Double_t meanY, Double_t sigmaY) override |
void | RandomizeEventData (int helicity=0, double time=0.0) override |
void | SetEventData (Double_t *block, UInt_t sequencenumber) |
void | EncodeEventData (std::vector< UInt_t > &buffer) override |
void | SetSubElementPedestal (Int_t j, Double_t value) override |
void | SetSubElementCalibrationFactor (Int_t j, Double_t value) override |
void | Ratio (QwQPD &numer, QwQPD &denom) |
void | Scale (Double_t factor) override |
VQwBPM & | operator= (const VQwBPM &value) override |
VQwBPM & | operator+= (const VQwBPM &value) override |
VQwBPM & | operator-= (const VQwBPM &value) override |
virtual QwQPD & | operator= (const QwQPD &value) |
virtual QwQPD & | operator+= (const QwQPD &value) |
virtual QwQPD & | operator-= (const QwQPD &value) |
void | AccumulateRunningSum (const QwQPD &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) |
void | AccumulateRunningSum (const VQwBPM &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) override |
void | DeaccumulateRunningSum (VQwBPM &value, Int_t ErrorMask=0xFFFFFFF) override |
void | DeaccumulateRunningSum (QwQPD &value, Int_t ErrorMask=0xFFFFFFF) |
void | CalculateRunningAverage () override |
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) override |
void | ConstructBranch (TTree *tree, TString &prefix) override |
void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &modulelist) override |
void | FillTreeVector (QwRootTreeBranchVector &values) const override |
void | MakeQPDList () |
![]() | |
VQwBPM () | |
VQwBPM (TString &) | |
VQwBPM (const VQwBPM &source) | |
~VQwBPM () override | |
void | InitializeChannel (TString name) |
Initialize common BPM state and set the element name. | |
virtual void | GetProjectedPosition (VQwBPM *) |
virtual size_t | GetNumberOfElements () |
virtual void | FillRawEventData () |
void | GetSurveyOffsets (Double_t Xoffset, Double_t Yoffset, Double_t Zoffset) |
Store geometry/survey offsets for absolute position calibration. | |
void | GetElectronicFactors (Double_t BSENfactor, Double_t AlphaX, Double_t AlphaY) |
Apply per-detector electronic calibration and relative gains. | |
void | SetRotation (Double_t) |
Set detector rotation angle and update cached trigonometric values. | |
void | SetRotationOff () |
void | SetSingleEventCuts (TString, Double_t, Double_t) |
void | SetSingleEventCuts (TString, UInt_t, Double_t, Double_t, Double_t, Double_t) |
void | SetGains (TString pos, Double_t value) |
void | SetRootSaveStatus (TString &prefix) |
Double_t | GetPositionInZ () const |
virtual void | Ratio (VQwBPM &, VQwBPM &) |
void | PrintErrorCounters () const override |
report number of events failed due to HW and event cut failure | |
virtual const VQwHardwareChannel * | GetAngleX () const |
virtual const VQwHardwareChannel * | GetAngleY () const |
virtual void | SetBPMForCombo (const VQwBPM *, Double_t, Double_t, Double_t, Double_t) |
virtual void | SetResolution (Double_t resolutionX, Double_t resolutionY) |
virtual void | SetRandomEventParameters (Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t) |
virtual void | SetRandomEventAsymmetry (Double_t) |
virtual void | ApplyResolutionSmearing () |
virtual void | ApplyResolutionSmearing (EBeamPositionMonitorAxis) |
void | PrintInfo () const override |
Print multiple lines of information about this data element. | |
![]() | |
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) | |
virtual void | PrintValue () const |
Print single line of value and error of this data element. | |
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. | |
Static Public Member Functions | |
static UInt_t | GetSubElementIndex (TString subname) |
![]() | |
static VQwBPM * | CreateStripline (TString subsystemname, TString type, TString name) |
A fast way of creating a BPM stripline of specified type. | |
static VQwBPM * | CreateStripline (const VQwBPM &source) |
static VQwBPM * | CreateCombo (TString subsystemname, TString type, TString name) |
A fast way of creating a BPM stripline of specified type. | |
static VQwBPM * | CreateCombo (const VQwBPM &source) |
Protected Member Functions | |
VQwHardwareChannel * | GetSubelementByName (TString ch_name) override |
![]() | |
virtual VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) |
VQwHardwareChannel * | GetSubelementByIndex (size_t index) |
![]() | |
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. | |
Protected Attributes | |
std::array< QwVQWK_Channel, 4 > | fPhotodiode |
std::array< QwVQWK_Channel, 2 > | fRelPos |
std::array< QwVQWK_Channel, 2 > | fAbsPos |
QwVQWK_Channel | fEffectiveCharge |
std::vector< QwVQWK_Channel > | fQPDElementList |
![]() | |
std::vector< TString > | fSubelementNames |
Double_t | fPositionCenter [3] |
Double_t | fQwStriplineCalibration |
Double_t | fQwStriplineCorrection |
Double_t | fRelativeGains [2] |
Double_t | fGains [2] |
Bool_t | bRotated |
Double_t | fRotationAngle |
Double_t | fCosRotation |
Double_t | fSinRotation |
Double_t | fResolution [2] |
Bool_t | fGoodEvent |
Bool_t | bFullSave |
![]() | |
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. | |
Private Attributes | |
Double_t | fQwQPDCalibration [2] |
Static Private Attributes | |
static const TString | subelement [4] ={"BR","TR","BL","TL"} |
Additional Inherited Members | |
![]() | |
enum | EBeamPositionMonitorAxis { kXAxis =0 , kYAxis , kNumAxes } |
![]() | |
enum | EDataToSave { kRaw = 0 , kDerived , kMoments } |
![]() | |
static const TString | kAxisLabel [2] ={"X","Y"} |
static const TString | axis [3] |
static const Bool_t | bDEBUG =kFALSE |
|
inline |
Definition at line 43 of file QwQPD.h.
Referenced by AccumulateRunningSum(), AccumulateRunningSum(), CheckForBurpFail(), DeaccumulateRunningSum(), DeaccumulateRunningSum(), operator+=(), operator+=(), operator-=(), operator-=(), operator=(), operator=(), QwQPD(), Ratio(), and UpdateErrorFlag().
|
inline |
Definition at line 45 of file QwQPD.h.
References InitializeChannel(), and VQwBPM::VQwBPM().
|
inline |
Definition at line 48 of file QwQPD.h.
References fQwQPDCalibration, InitializeChannel(), VQwDataElement::SetSubsystemName(), and VQwBPM::VQwBPM().
|
inline |
Definition at line 54 of file QwQPD.h.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, QwCopyArray(), QwQPD(), and VQwBPM::VQwBPM().
void QwQPD::AccumulateRunningSum | ( | const QwQPD & | value, |
Int_t | count = 0, | ||
Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 702 of file QwQPD.cc.
References AccumulateRunningSum(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, and QwQPD().
Referenced by AccumulateRunningSum(), and AccumulateRunningSum().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 697 of file QwQPD.cc.
References AccumulateRunningSum(), QwQPD(), and VQwBPM::VQwBPM().
Bool_t QwQPD::ApplyHWChecks | ( | ) |
Apply hardware-level checks to all four photodiode channels and aggregate their status.
Definition at line 129 of file QwQPD.cc.
References VQwBPM::bDEBUG, and fPhotodiode.
Referenced by ProcessEvent().
|
overridevirtual |
Apply single-event cuts to photodiodes and derived channels, propagating error codes to position and charge outputs.
Implements VQwBPM.
Definition at line 219 of file QwQPD.cc.
References ApplySingleEventCuts(), VQwBPM::bDEBUG, fAbsPos, fEffectiveCharge, fPhotodiode, and fRelPos.
Referenced by ApplySingleEventCuts().
|
overridevirtual |
Implements VQwBPM.
Definition at line 685 of file QwQPD.cc.
References CalculateRunningAverage(), fAbsPos, fEffectiveCharge, fPhotodiode, and fRelPos.
Referenced by CalculateRunningAverage().
|
overridevirtual |
Polymorphic burp check against a reference QPD, delegating to all photodiodes, position, and charge channels.
std::invalid_argument | if ev_error is not a QwQPD. |
Reimplemented from VQwBPM.
Definition at line 383 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, QwQPD(), and VQwDataElement::VQwDataElement().
|
overridevirtual |
Clear event data for all photodiodes and derived position/charge channels.
Reimplemented from VQwDataElement.
Definition at line 106 of file QwQPD.cc.
References ClearEventData(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by ClearEventData().
|
overridevirtual |
Implements VQwBPM.
Definition at line 807 of file QwQPD.cc.
References VQwBPM::bFullSave, ConstructBranch(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
Referenced by ConstructBranch(), and ConstructBranch().
|
overridevirtual |
Implements VQwBPM.
Definition at line 833 of file QwQPD.cc.
References VQwBPM::bFullSave, ConstructBranch(), QwLog::endl(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), QwParameterFile::HasValue(), VQwBPM::kNumAxes, VQwBPM::kXAxis, QwMessage, and VQwBPM::SetRootSaveStatus().
|
overridevirtual |
Implements VQwBPM.
Definition at line 781 of file QwQPD.cc.
References VQwBPM::bFullSave, ConstructBranchAndVector(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
Referenced by ConstructBranchAndVector().
|
overridevirtual |
Construct the histograms for this data element.
Implements VQwBPM.
Definition at line 738 of file QwQPD.cc.
References VQwBPM::bFullSave, ConstructHistograms(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
Referenced by ConstructHistograms().
void QwQPD::DeaccumulateRunningSum | ( | QwQPD & | value, |
Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 721 of file QwQPD.cc.
References DeaccumulateRunningSum(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, and QwQPD().
|
overridevirtual |
Implements VQwBPM.
Definition at line 716 of file QwQPD.cc.
References DeaccumulateRunningSum(), QwQPD(), and VQwBPM::VQwBPM().
Referenced by DeaccumulateRunningSum(), and DeaccumulateRunningSum().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1043 of file QwQPD.cc.
References EncodeEventData(), and fPhotodiode.
Referenced by EncodeEventData().
|
overridevirtual |
Fill the histograms for this data element.
Implements VQwBPM.
Definition at line 762 of file QwQPD.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, FillHistograms(), fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by FillHistograms().
|
overridevirtual |
Implements VQwBPM.
Definition at line 872 of file QwQPD.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, FillTreeVector(), fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by FillTreeVector().
|
inlineoverridevirtual |
void QwQPD::GetCalibrationFactors | ( | Double_t | AlphaX, |
Double_t | AlphaY ) |
Apply QPD-specific calibration factors converting ADC counts to mm. These come from geometry/calibration files for each axis.
Definition at line 84 of file QwQPD.cc.
References fQwQPDCalibration, VQwBPM::fRelativeGains, and VQwDataElement::GetElementName().
|
inlineoverridevirtual |
|
overridevirtual |
Return OR of event-cut error flags across all photodiodes and derived channels.
Reimplemented from VQwDataElement.
Definition at line 173 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, GetEventcutErrorFlag(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by GetEventcutErrorFlag().
|
inlineoverridevirtual |
Reimplemented from VQwBPM.
Definition at line 80 of file QwQPD.h.
References VQwBPM::axis, fAbsPos, and VQwDataElement::GetElementName().
|
overrideprotectedvirtual |
Map a human-readable name to the corresponding channel pointer. Supports: tl/tr/br/bl (photodiodes), relx/rely, absx/x, absy/y, effectivecharge/charge.
std::invalid_argument | on unrecognized names. |
Implements VQwBPM.
Definition at line 257 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, and VQwDataElement::GetElementName().
|
static |
Definition at line 584 of file QwQPD.cc.
References kInvalidSubelementIndex, and subelement.
Referenced by QwBeamDetectorID::QwBeamDetectorID().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 572 of file QwQPD.cc.
References fPhotodiode, and VQwDataElement::GetElementName().
|
overridevirtual |
Increment persistent error counters for all channels.
Implements VQwBPM.
Definition at line 147 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, IncrementErrorCounters(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by IncrementErrorCounters().
void QwQPD::InitializeChannel | ( | TString | name | ) |
Initialize QPD with 4 photodiode raw channels and derived position/charge.
Definition at line 31 of file QwQPD.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwBPM::InitializeChannel(), VQwBPM::kAxisLabel, VQwBPM::kNumAxes, VQwBPM::kXAxis, and subelement.
Referenced by InitializeChannel(), QwQPD(), and QwQPD().
void QwQPD::InitializeChannel | ( | TString | subsystem, |
TString | name ) |
Initialize QPD with subsystem scoping for proper tree/histogram naming.
Definition at line 58 of file QwQPD.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, InitializeChannel(), VQwBPM::InitializeChannel(), VQwBPM::kAxisLabel, VQwBPM::kNumAxes, VQwBPM::kXAxis, and subelement.
|
inlineoverridevirtual |
Implements VQwBPM.
Definition at line 68 of file QwQPD.h.
References fPhotodiode, and LoadChannelParameters().
Referenced by LoadChannelParameters().
void QwQPD::MakeQPDList | ( | ) |
Definition at line 955 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fQPDElementList, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Definition at line 623 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwQPD().
Definition at line 644 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwQPD().
Definition at line 603 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwQPD().
|
overridevirtual |
Print error counter summaries for all channels.
Reimplemented from VQwDataElement.
Definition at line 160 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwBPM::kNumAxes, VQwBPM::kXAxis, and PrintErrorCounters().
Referenced by PrintErrorCounters().
|
overridevirtual |
Route raw buffer data to the specified photodiode channel.
buffer | Raw event buffer |
word_position_in_buffer | Position in buffer to read from |
index | Target photodiode index (0-3) |
Implements VQwDataElement.
Definition at line 557 of file QwQPD.cc.
References fPhotodiode.
|
overridevirtual |
Process the current event: apply HW checks, sum photodiodes for effective charge, and calculate X/Y positions using the standard QPD formula: X = ((TL-TR) + (BL-BR)) / (TL+TR+BL+BR) Y = ((TL-BL) + (TR-BR)) / (TL+TR+BL+BR)
The positions X and Y from a QPD are calculated using following equations,
TL ------— TR
(4-2) + (3-1) (4-3) + (2-1) X = ------------ Y = ------------- 1+2+3+4 1+2+3+4
Implements VQwBPM.
Definition at line 453 of file QwQPD.cc.
References ApplyHWChecks(), QwVQWK_Channel::ClearEventData(), QwVQWK_Channel::Difference(), fAbsPos, fEffectiveCharge, VQwDataElement::fElementName, fPhotodiode, fQwQPDCalibration, fRelPos, QwVQWK_Channel::GetValue(), QwVQWK_Channel::InitializeChannel(), VQwBPM::kAxisLabel, VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwVQWK_Channel::Sum().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1024 of file QwQPD.cc.
References fPhotodiode, and RandomizeEventData().
Referenced by RandomizeEventData().
Definition at line 660 of file QwQPD.cc.
References fEffectiveCharge, and QwQPD().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 672 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwBPM::kNumAxes, VQwBPM::kXAxis, and Scale().
Referenced by Scale().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1049 of file QwQPD.cc.
References fPhotodiode, and SetDefaultSampleSize().
Referenced by SetDefaultSampleSize().
|
overridevirtual |
Implements VQwBPM.
Definition at line 942 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwBPM::kNumAxes, VQwBPM::kXAxis, and SetEventCutMode().
Referenced by SetEventCutMode().
void QwQPD::SetEventData | ( | Double_t * | block, |
UInt_t | sequencenumber ) |
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 996 of file QwQPD.cc.
References fPhotodiode, and fQwQPDCalibration.
void QwQPD::SetSingleEventCuts | ( | TString | ch_name, |
UInt_t | errorflag, | ||
Double_t | minX, | ||
Double_t | maxX, | ||
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.
Configure single-event cuts for a specific subelement by name, including error flags, limits, stability, and burp detection parameters.
ch_name | Subelement name (tl,tr,bl,br,relx,rely,absx,absy,effectivecharge) |
errorflag | Error flag mask to set when the cut fails |
minX | Lower limit |
maxX | Upper limit |
stability | Stability cut width |
burplevel | Burp detection threshold |
Definition at line 334 of file QwQPD.cc.
References QwLog::endl(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, kBPMErrorFlag, and QwMessage.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Update derived channel error flags based on photodiode error codes and return aggregated event-cut flags.
Implements VQwBPM.
Definition at line 193 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Copy error flags from a reference QPD to this instance.
std::invalid_argument | if ev_error is not a QwQPD. |
Implements VQwBPM.
Definition at line 417 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, QwQPD(), and VQwBPM::VQwBPM().
|
protected |
Definition at line 172 of file QwQPD.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEventcutErrorFlag(), GetPosition(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), MakeQPDList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), ProcessEvent(), QwQPD(), Scale(), SetEventCutMode(), SetEventData(), SetSingleEventCuts(), UpdateErrorFlag(), and UpdateErrorFlag().
|
protected |
Definition at line 173 of file QwQPD.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEffectiveCharge(), GetEventcutErrorFlag(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), MakeQPDList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), ProcessEvent(), QwQPD(), Ratio(), Scale(), SetEventCutMode(), SetSingleEventCuts(), UpdateErrorFlag(), and UpdateErrorFlag().
|
protected |
Definition at line 167 of file QwQPD.h.
Referenced by AccumulateRunningSum(), ApplyHWChecks(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), EncodeEventData(), FillHistograms(), FillTreeVector(), GetEventcutErrorFlag(), GetSubelementByName(), GetSubElementName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), LoadChannelParameters(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), ProcessEvBuffer(), ProcessEvent(), QwQPD(), RandomizeEventData(), Scale(), SetDefaultSampleSize(), SetEventCutMode(), SetRandomEventParameters(), SetSingleEventCuts(), SetSubElementCalibrationFactor(), SetSubElementPedestal(), UpdateErrorFlag(), and UpdateErrorFlag().
|
protected |
Definition at line 175 of file QwQPD.h.
Referenced by MakeQPDList().
|
private |
Definition at line 163 of file QwQPD.h.
Referenced by GetCalibrationFactors(), ProcessEvent(), QwQPD(), and SetRandomEventParameters().
|
protected |
Definition at line 168 of file QwQPD.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEventcutErrorFlag(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), ProcessEvent(), QwQPD(), Scale(), SetEventCutMode(), SetSingleEventCuts(), UpdateErrorFlag(), and UpdateErrorFlag().
|
staticprivate |
Definition at line 27 of file QwQPD.h.
Referenced by GetSubElementIndex(), InitializeChannel(), and InitializeChannel().