|
JAPAn
Just Another Parity Analyzer
|
Quadrant photodiode BPM computing X/Y and effective charge. More...
#include <QwQPD.h>
Inheritance diagram for QwQPD:
Collaboration diagram for QwQPD: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 (VQwBPM &numer, VQwBPM &denum) 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 () |
Public Member Functions inherited from VQwBPM | |
| 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 |
| 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. | |
Public Member Functions inherited from VQwDataElement | |
| 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 | |
Public Member Functions inherited from MQwHistograms | |
| void | ShareHistograms (const MQwHistograms *source) |
| Share histogram pointers between objects. | |
Static Public Member Functions | |
| static UInt_t | GetSubElementIndex (TString subname) |
Static Public Member Functions inherited from VQwBPM | |
| 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 |
Protected Member Functions inherited from VQwBPM | |
| virtual VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) |
| VQwHardwareChannel * | GetSubelementByIndex (size_t index) |
Protected Member Functions inherited from VQwDataElement | |
| 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) |
Protected Member Functions inherited from MQwHistograms | |
| 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 |
Protected Attributes inherited from VQwBPM | |
| 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 |
Protected Attributes inherited from VQwDataElement | |
| 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 | |
Protected Attributes inherited from MQwHistograms | |
| 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 | |
Public Types inherited from VQwBPM | |
| enum | EBeamPositionMonitorAxis { kXAxis =0 , kYAxis , kNumAxes } |
Public Types inherited from VQwDataElement | |
| enum | EDataToSave { kRaw = 0 , kDerived , kMoments } |
Static Protected Attributes inherited from VQwBPM | |
| 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(), Ratio(), and UpdateErrorFlag().
Here is the caller graph for this function:
|
inline |
Definition at line 45 of file QwQPD.h.
References InitializeChannel(), and VQwBPM::VQwBPM().
Here is the call graph for this function:
|
inline |
Definition at line 48 of file QwQPD.h.
References fQwQPDCalibration, InitializeChannel(), VQwDataElement::SetSubsystemName(), and VQwBPM::VQwBPM().
Here is the call graph for this function:
|
inline |
Definition at line 54 of file QwQPD.h.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, QwCopyArray(), QwQPD(), and VQwBPM::VQwBPM().
Here is the call graph for this function:| void QwQPD::AccumulateRunningSum | ( | const QwQPD & | value, |
| Int_t | count = 0, | ||
| Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 705 of file QwQPD.cc.
References AccumulateRunningSum(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, and QwQPD().
Referenced by AccumulateRunningSum(), and AccumulateRunningSum().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 700 of file QwQPD.cc.
References AccumulateRunningSum(), QwQPD(), and VQwBPM::VQwBPM().
Here is the call graph for this function:| 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().
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwBPM.
Definition at line 688 of file QwQPD.cc.
References CalculateRunningAverage(), fAbsPos, fEffectiveCharge, fPhotodiode, and fRelPos.
Referenced by CalculateRunningAverage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwBPM.
Definition at line 810 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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwBPM.
Definition at line 836 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().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwBPM.
Definition at line 784 of file QwQPD.cc.
References VQwBPM::bFullSave, ConstructBranchAndVector(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
Referenced by ConstructBranchAndVector().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Construct the histograms for this data element.
Implements VQwBPM.
Definition at line 741 of file QwQPD.cc.
References VQwBPM::bFullSave, ConstructHistograms(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
Referenced by ConstructHistograms().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwQPD::DeaccumulateRunningSum | ( | QwQPD & | value, |
| Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 724 of file QwQPD.cc.
References DeaccumulateRunningSum(), fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, and QwQPD().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwBPM.
Definition at line 719 of file QwQPD.cc.
References DeaccumulateRunningSum(), QwQPD(), and VQwBPM::VQwBPM().
Referenced by DeaccumulateRunningSum(), and DeaccumulateRunningSum().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1046 of file QwQPD.cc.
References EncodeEventData(), and fPhotodiode.
Referenced by EncodeEventData().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Fill the histograms for this data element.
Implements VQwBPM.
Definition at line 765 of file QwQPD.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, FillHistograms(), fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by FillHistograms().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwBPM.
Definition at line 875 of file QwQPD.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, FillTreeVector(), fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by FillTreeVector().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineoverridevirtual |
Reimplemented from VQwBPM.
Definition at line 80 of file QwQPD.h.
References VQwBPM::axis, fAbsPos, and VQwDataElement::GetElementName().
Here is the call graph for this function:
|
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().
Here is the call graph for this function:
|
static |
Definition at line 584 of file QwQPD.cc.
References kInvalidSubelementIndex, and subelement.
Referenced by QwBeamDetectorID::QwBeamDetectorID().
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 572 of file QwQPD.cc.
References fPhotodiode, and VQwDataElement::GetElementName().
Here is the call graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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.
Here is the call graph for this function:
|
inlineoverridevirtual |
Implements VQwBPM.
Definition at line 68 of file QwQPD.h.
References fPhotodiode, and LoadChannelParameters().
Referenced by LoadChannelParameters().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwQPD::MakeQPDList | ( | ) |
Definition at line 958 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().
Here is the call graph for this function:Definition at line 644 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwQPD().
Here is the call graph for this function:Definition at line 603 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwQPD().
Here is the call graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1027 of file QwQPD.cc.
References fPhotodiode, and RandomizeEventData().
Referenced by RandomizeEventData().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 660 of file QwQPD.cc.
References fEffectiveCharge, and QwQPD().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 675 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwBPM::kNumAxes, VQwBPM::kXAxis, and Scale().
Referenced by Scale().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1052 of file QwQPD.cc.
References fPhotodiode, and SetDefaultSampleSize().
Referenced by SetDefaultSampleSize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwBPM.
Definition at line 945 of file QwQPD.cc.
References fAbsPos, fEffectiveCharge, fPhotodiode, fRelPos, VQwBPM::kNumAxes, VQwBPM::kXAxis, and SetEventCutMode().
Referenced by SetEventCutMode().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwQPD::SetEventData | ( | Double_t * | block, |
| UInt_t | sequencenumber ) |
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 999 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.
Here is the call graph for this function:
|
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().
Here is the call graph for this function:
|
protected |
Definition at line 173 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 174 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 168 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 176 of file QwQPD.h.
Referenced by MakeQPDList().
|
private |
Definition at line 164 of file QwQPD.h.
Referenced by GetCalibrationFactors(), ProcessEvent(), QwQPD(), and SetRandomEventParameters().
|
protected |
Definition at line 169 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().