JAPAn
Just Another Parity Analyzer
|
Abstract base for beam position monitors (BPMs) More...
#include <VQwBPM.h>
Public Types | |
enum | EBeamPositionMonitorAxis { kXAxis =0 , kYAxis , kNumAxes } |
![]() | |
enum | EDataToSave { kRaw = 0 , kDerived , kMoments } |
Public Member Functions | |
VQwBPM () | |
VQwBPM (TString &) | |
VQwBPM (const VQwBPM &source) | |
~VQwBPM () override | |
void | InitializeChannel (TString name) |
Initialize common BPM state and set the element name. | |
void | LoadChannelParameters (QwParameterFile ¶mfile) override=0 |
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) |
UInt_t | UpdateErrorFlag () override=0 |
Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag". | |
virtual void | UpdateErrorFlag (const VQwBPM *ev_error)=0 |
virtual void | Scale (Double_t) |
void | SetGains (TString pos, Double_t value) |
virtual VQwBPM & | operator= (const VQwBPM &value)=0 |
virtual VQwBPM & | operator+= (const VQwBPM &value)=0 |
virtual VQwBPM & | operator-= (const VQwBPM &value)=0 |
void | SetRootSaveStatus (TString &prefix) |
virtual const VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) const |
virtual const VQwHardwareChannel * | GetEffectiveCharge () const =0 |
Double_t | GetPositionInZ () const |
virtual void | CalculateRunningAverage ()=0 |
virtual void | AccumulateRunningSum (const VQwBPM &, Int_t=0, Int_t=0xFFFFFFF) |
virtual void | DeaccumulateRunningSum (VQwBPM &value, Int_t ErrorMask=0xFFFFFFF)=0 |
void | ConstructHistograms (TDirectory *folder, TString &prefix) override=0 |
Construct the histograms for this data element. | |
void | FillHistograms () override=0 |
Fill the histograms for this data element. | |
virtual void | ConstructBranchAndVector (TTree *tree, TString &prefix, QwRootTreeBranchVector &values)=0 |
virtual void | ConstructBranch (TTree *tree, TString &prefix)=0 |
virtual void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &modulelist)=0 |
virtual void | FillTreeVector (QwRootTreeBranchVector &values) const =0 |
virtual void | Ratio (VQwBPM &, VQwBPM &) |
virtual Bool_t | CheckForBurpFail (const VQwDataElement *ev_error) |
virtual TString | GetSubElementName (Int_t) |
virtual void | GetAbsolutePosition () |
virtual void | SetEventCutMode (Int_t bcuts)=0 |
void | PrintErrorCounters () const override |
report number of events failed due to HW and event cut failure | |
virtual Bool_t | ApplySingleEventCuts ()=0 |
virtual void | IncrementErrorCounters ()=0 |
virtual void | ProcessEvent ()=0 |
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 | SetDefaultSampleSize (Int_t) |
virtual void | SetResolution (Double_t resolutionX, Double_t resolutionY) |
virtual void | SetRandomEventParameters (Double_t, Double_t, Double_t, Double_t) |
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 | RandomizeEventData (int=0, double=0.0) |
virtual void | ApplyResolutionSmearing () |
virtual void | ApplyResolutionSmearing (EBeamPositionMonitorAxis) |
virtual void | EncodeEventData (std::vector< UInt_t > &) |
virtual void | SetSubElementPedestal (Int_t, Double_t) |
virtual void | SetSubElementCalibrationFactor (Int_t, Double_t) |
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 &) |
virtual void | ClearEventData () |
Clear the event data in this element. | |
virtual Int_t | ProcessEvBuffer (UInt_t *buffer, UInt_t num_words_left, UInt_t subelement=0)=0 |
Process the CODA event buffer for this element. | |
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 UInt_t | GetEventcutErrorFlag () |
return the error flag on this channel/device | |
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 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 | |
virtual VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) |
virtual VQwHardwareChannel * | GetSubelementByName (TString ch_name)=0 |
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::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. | |
Static Protected Attributes | |
static const TString | kAxisLabel [2] ={"X","Y"} |
static const TString | axis [3] |
static const Bool_t | bDEBUG =kFALSE |
Private Member Functions | |
void | InitializeChannel_base () |
Friends | |
template<typename TT> | |
class | QwBPMStripline |
template<typename TT> | |
class | QwCombinedBPM |
class | QwEnergyCalculator |
Abstract base for beam position monitors (BPMs)
Defines the common interface for BPM-like data elements, including decoding of position channels, per-event cuts, error propagation, and output. Concrete implementations such as QwBPMStripline<T> and QwCombinedBPM<T> inherit from this base to provide hardware-specific logic while sharing the higher-level processing contract.
|
inline |
Definition at line 76 of file VQwBPM.h.
References InitializeChannel_base().
Referenced by QwBPMCavity::AccumulateRunningSum(), QwBPMStripline< T >::AccumulateRunningSum(), QwCombinedBPM< T >::AccumulateRunningSum(), QwLinearDiodeArray::AccumulateRunningSum(), QwQPD::AccumulateRunningSum(), AccumulateRunningSum(), CreateCombo(), CreateCombo(), CreateStripline(), CreateStripline(), QwBPMCavity::DeaccumulateRunningSum(), QwBPMStripline< T >::DeaccumulateRunningSum(), QwCombinedBPM< T >::DeaccumulateRunningSum(), QwLinearDiodeArray::DeaccumulateRunningSum(), QwQPD::DeaccumulateRunningSum(), DeaccumulateRunningSum(), GetPosition(), QwCombinedBPM< T >::GetProjectedPosition(), GetProjectedPosition(), QwBPMCavity::operator+=(), QwBPMStripline< T >::operator+=(), QwCombinedBPM< T >::operator+=(), QwLinearDiodeArray::operator+=(), QwQPD::operator+=(), operator+=(), QwBPMCavity::operator-=(), QwBPMStripline< T >::operator-=(), QwCombinedBPM< T >::operator-=(), QwLinearDiodeArray::operator-=(), QwQPD::operator-=(), operator-=(), QwBPMCavity::operator=(), QwBPMStripline< T >::operator=(), QwCombinedBPM< T >::operator=(), QwLinearDiodeArray::operator=(), QwQPD::operator=(), operator=(), QwBPMCavity::QwBPMCavity(), QwBPMCavity::QwBPMCavity(), QwBPMCavity::QwBPMCavity(), QwBPMStripline< T >::QwBPMStripline(), QwCombinedBPM< T >::QwCombinedBPM(), QwCombinedBPM< T >::QwCombinedBPM(), QwCombinedBPM< T >::QwCombinedBPM(), QwCombinedBPM< T >::QwCombinedBPM(), QwLinearDiodeArray::QwLinearDiodeArray(), QwLinearDiodeArray::QwLinearDiodeArray(), QwLinearDiodeArray::QwLinearDiodeArray(), QwQPD::QwQPD(), QwQPD::QwQPD(), QwQPD::QwQPD(), QwBPMStripline< T >::Ratio(), QwCombinedBPM< T >::Ratio(), Ratio(), QwCombinedBPM< T >::SetBPMForCombo(), SetBPMForCombo(), QwLinearDiodeArray::SetSubElementName(), QwBPMCavity::UpdateErrorFlag(), QwBPMStripline< T >::UpdateErrorFlag(), QwCombinedBPM< T >::UpdateErrorFlag(), QwLinearDiodeArray::UpdateErrorFlag(), QwQPD::UpdateErrorFlag(), UpdateErrorFlag(), and VQwBPM().
|
inline |
Definition at line 77 of file VQwBPM.h.
References InitializeChannel_base().
|
inline |
Definition at line 78 of file VQwBPM.h.
References bFullSave, bRotated, fPositionCenter, VQwBPM(), and VQwDataElement::VQwDataElement().
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 178 of file VQwBPM.h.
References VQwDataElement::GetElementName(), and VQwBPM().
|
inlinevirtual |
Reimplemented in QwBPMStripline< T >.
Definition at line 273 of file VQwBPM.h.
References VQwDataElement::GetElementName().
Referenced by QwCombinedBPM< T >::GetProjectedPosition(), and QwEnergyCalculator::GetProjectedPosition().
|
inlinevirtual |
Reimplemented in QwBPMStripline< T >.
Definition at line 276 of file VQwBPM.h.
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 209 of file VQwBPM.h.
References VQwDataElement::CheckForBurpFail(), and VQwDataElement::VQwDataElement().
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
overridepure virtual |
Construct the histograms for this data element.
Implements VQwDataElement.
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 337 of file VQwBPM.cc.
References QwLog::endl(), VQwDataElement::GetModuleType(), QwCombinedBPM, QwMessage, QwWarning, and VQwBPM().
|
static |
A fast way of creating a BPM stripline of specified type.
Definition at line 314 of file VQwBPM.cc.
References QwCombinedBPM, QwMessage, QwWarning, and VQwBPM().
Referenced by QwBeamLine::CopyTemplatedDataElements(), and QwBeamLine::LoadChannelMap().
Definition at line 289 of file VQwBPM.cc.
References QwLog::endl(), VQwDataElement::GetModuleType(), QwBPMStripline, QwMessage, QwWarning, and VQwBPM().
|
static |
A fast way of creating a BPM stripline of specified type.
Definition at line 267 of file VQwBPM.cc.
References QwBPMStripline, QwMessage, QwWarning, and VQwBPM().
Referenced by QwBeamLine::AddToElementList(), and QwBeamLine::CopyTemplatedDataElements().
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
References VQwBPM().
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 279 of file VQwBPM.h.
|
overridepure virtual |
Fill the histograms for this data element.
Implements VQwDataElement.
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
inlinevirtual |
Reimplemented in QwBPMStripline< T >.
Definition at line 98 of file VQwBPM.h.
References VQwDataElement::GetElementName().
Referenced by QwCombinedBPM< T >::GetProjectedPosition(), and QwEnergyCalculator::GetProjectedPosition().
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 224 of file VQwBPM.h.
|
inlinevirtual |
Reimplemented in QwCombinedBPM< T >.
Definition at line 236 of file VQwBPM.h.
|
inlinevirtual |
Reimplemented in QwCombinedBPM< T >.
Definition at line 241 of file VQwBPM.h.
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Referenced by QwBeamLine::GetChannel().
void VQwBPM::GetElectronicFactors | ( | Double_t | BSENfactor, |
Double_t | AlphaX, | ||
Double_t | AlphaY ) |
Apply per-detector electronic calibration and relative gains.
BSENfactor | Beam sensitivity factor for position calibration. |
AlphaX | Relative gain correction factor for X position. |
AlphaY | Relative gain correction factor for Y position. |
Reads electronic factors from calibration file and applies stripline-specific calibrations. BSENfactor is scaled by 18.81 to convert to mm/V, and a correction factor of 0.250014 is applied for stripline geometry.
Definition at line 77 of file VQwBPM.cc.
References fQwStriplineCalibration, fQwStriplineCorrection, fRelativeGains, and VQwDataElement::GetElementName().
Referenced by QwBeamLine::LoadGeometryDefinition().
|
inlinevirtual |
|
inlineprotectedvirtual |
Reimplemented in QwBPMStripline< T >.
Definition at line 148 of file VQwBPM.h.
References axis, VQwDataElement::GetElementName(), GetSubelementByName(), kXAxis, and kYAxis.
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 140 of file VQwBPM.h.
References axis, GetPosition(), and VQwBPM().
Referenced by QwBeamLine::GetChannel(), GetPosition(), QwCombinedBPM< T >::GetProjectedPosition(), and QwEnergyCalculator::GetProjectedPosition().
|
inline |
Definition at line 171 of file VQwBPM.h.
References fPositionCenter.
Referenced by QwCombinedBPM< T >::GetProjectedPosition(), QwCombinedBPM< T >::LeastSquareFit(), and QwCombinedBPM< T >::RandomizeEventData().
|
inlinevirtual |
Reimplemented in QwCombinedBPM< T >.
Definition at line 96 of file VQwBPM.h.
References VQwBPM().
|
inlineprotected |
Definition at line 320 of file VQwBPM.h.
References fSubelementNames, and GetSubelementByName().
|
protectedpure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Referenced by GetPosition(), GetSubelementByIndex(), SetSingleEventCuts(), and SetSingleEventCuts().
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 220 of file VQwBPM.h.
References VQwDataElement::GetElementName().
void VQwBPM::GetSurveyOffsets | ( | Double_t | Xoffset, |
Double_t | Yoffset, | ||
Double_t | Zoffset ) |
Store geometry/survey offsets for absolute position calibration.
Xoffset | X-axis survey offset in mm. |
Yoffset | Y-axis survey offset in mm. |
Zoffset | Z-axis survey offset in mm. |
Reads position offsets from geometry map file for absolute position calibration. These offsets correct for known mechanical installation differences from ideal positions.
Definition at line 56 of file VQwBPM.cc.
References fPositionCenter.
Referenced by QwBeamLine::LoadGeometryDefinition().
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
void VQwBPM::InitializeChannel | ( | TString | name | ) |
Initialize common BPM state and set the element name.
name | Element name to assign to this BPM. |
Initializes position center array to zero and sets the element name. This is the base initialization common to all BPM types.
Definition at line 35 of file VQwBPM.cc.
References fPositionCenter, and VQwDataElement::SetElementName().
Referenced by QwBPMCavity::InitializeChannel(), QwBPMCavity::InitializeChannel(), QwBPMStripline< T >::InitializeChannel(), QwBPMStripline< T >::InitializeChannel(), QwCombinedBPM< T >::InitializeChannel(), QwCombinedBPM< T >::InitializeChannel(), QwLinearDiodeArray::InitializeChannel(), QwLinearDiodeArray::InitializeChannel(), QwQPD::InitializeChannel(), and QwQPD::InitializeChannel().
|
inlineprivate |
Definition at line 300 of file VQwBPM.h.
References fGains, fQwStriplineCalibration, fQwStriplineCorrection, fRelativeGains, and fResolution.
Referenced by VQwBPM(), and VQwBPM().
|
overridepure virtual |
Reimplemented from VQwDataElement.
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
References VQwBPM().
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
References VQwBPM().
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 156 of file VQwBPM.cc.
References axis, bRotated, fCosRotation, fGoodEvent, fPositionCenter, fQwStriplineCalibration, fQwStriplineCorrection, fRelativeGains, fRotationAngle, fSinRotation, VQwDataElement::GetElementName(), kNumAxes, kXAxis, and VQwBPM().
Referenced by QwBPMCavity::operator=(), QwBPMStripline< T >::operator=(), QwCombinedBPM< T >::operator=(), and QwLinearDiodeArray::operator=().
|
inlineoverridevirtual |
report number of events failed due to HW and event cut failure
Reimplemented from VQwDataElement.
Definition at line 228 of file VQwBPM.h.
|
inlineoverridevirtual |
Print multiple lines of information about this data element.
Reimplemented from VQwDataElement.
Definition at line 288 of file VQwBPM.h.
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 270 of file VQwBPM.h.
References VQwDataElement::GetElementName().
Reimplemented in QwBPMStripline< T >, and QwCombinedBPM< T >.
Definition at line 204 of file VQwBPM.h.
References VQwDataElement::GetElementName(), and VQwBPM().
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 113 of file VQwBPM.h.
|
inlinevirtual |
Reimplemented in QwCombinedBPM< T >.
Definition at line 246 of file VQwBPM.h.
References VQwBPM().
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 252 of file VQwBPM.h.
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
void VQwBPM::SetGains | ( | TString | pos, |
Double_t | value ) |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 261 of file VQwBPM.h.
|
inlinevirtual |
Reimplemented in QwCombinedBPM< T >.
Definition at line 264 of file VQwBPM.h.
|
inlinevirtual |
Definition at line 256 of file VQwBPM.h.
References fResolution, kXAxis, and kYAxis.
Referenced by QwBPMStripline< T >::LoadMockDataParameters(), and QwCombinedBPM< T >::LoadMockDataParameters().
void VQwBPM::SetRootSaveStatus | ( | TString & | prefix | ) |
Definition at line 220 of file VQwBPM.cc.
References bFullSave.
Referenced by QwBPMCavity::ConstructBranch(), QwBPMCavity::ConstructBranch(), QwBPMStripline< T >::ConstructBranch(), QwBPMStripline< T >::ConstructBranch(), QwLinearDiodeArray::ConstructBranch(), QwLinearDiodeArray::ConstructBranch(), QwQPD::ConstructBranch(), QwQPD::ConstructBranch(), QwBPMCavity::ConstructBranchAndVector(), QwBPMStripline< T >::ConstructBranchAndVector(), QwCombinedBPM< T >::ConstructBranchAndVector(), QwLinearDiodeArray::ConstructBranchAndVector(), QwQPD::ConstructBranchAndVector(), QwBPMCavity::ConstructHistograms(), QwBPMStripline< T >::ConstructHistograms(), QwCombinedBPM< T >::ConstructHistograms(), QwLinearDiodeArray::ConstructHistograms(), and QwQPD::ConstructHistograms().
void VQwBPM::SetRotation | ( | Double_t | rotation_angle | ) |
Set detector rotation angle and update cached trigonometric values.
rotation_angle | Rotation angle in degrees (positive = clockwise from beam's perspective). |
Sets the BPM rotation angle and pre-computes sin/cos values for efficient coordinate transformations. Rotation is applied to correct for mechanical installation angles that differ from ideal orientation.
Definition at line 108 of file VQwBPM.cc.
References fCosRotation, fRotationAngle, fSinRotation, and VQwDataElement::GetElementName().
Referenced by QwBeamLine::AssignGeometry(), QwBPMStripline< T >::QwBPMStripline(), QwBPMStripline< T >::QwBPMStripline(), QwBPMStripline< T >::QwBPMStripline(), and SetRotationOff().
void VQwBPM::SetRotationOff | ( | ) |
Disable rotation, restoring accelerator coordinates (0 degrees).
Definition at line 126 of file VQwBPM.cc.
References bRotated, fRotationAngle, and SetRotation().
Referenced by QwBeamLine::AssignGeometry().
void VQwBPM::SetSingleEventCuts | ( | TString | ch_name, |
Double_t | minX, | ||
Double_t | maxX ) |
Definition at line 139 of file VQwBPM.cc.
References QwLog::endl(), VQwDataElement::GetElementName(), GetSubelementByName(), QwMessage, and VQwHardwareChannel::SetSingleEventCuts().
void VQwBPM::SetSingleEventCuts | ( | TString | ch_name, |
UInt_t | errorflag, | ||
Double_t | minX, | ||
Double_t | maxX, | ||
Double_t | stability, | ||
Double_t | burplevel ) |
Definition at line 147 of file VQwBPM.cc.
References QwLog::endl(), VQwDataElement::GetElementName(), GetSubelementByName(), kBPMErrorFlag, QwMessage, and VQwHardwareChannel::SetSingleEventCuts().
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 285 of file VQwBPM.h.
|
inlinevirtual |
Reimplemented in QwBPMCavity, QwBPMStripline< T >, QwLinearDiodeArray, and QwQPD.
Definition at line 282 of file VQwBPM.h.
|
overridepure virtual |
Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag".
Reimplemented from VQwDataElement.
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
|
pure virtual |
Implemented in QwBPMCavity, QwBPMStripline< T >, QwCombinedBPM< T >, QwLinearDiodeArray, and QwQPD.
References VQwBPM().
|
friend |
Definition at line 65 of file VQwBPM.h.
References QwBPMStripline.
Referenced by CreateStripline(), CreateStripline(), and QwBPMStripline.
|
friend |
Definition at line 66 of file VQwBPM.h.
References QwCombinedBPM.
Referenced by CreateCombo(), CreateCombo(), and QwCombinedBPM.
|
friend |
Definition at line 67 of file VQwBPM.h.
References QwEnergyCalculator.
Referenced by QwEnergyCalculator.
|
staticprotected |
Definition at line 333 of file VQwBPM.h.
Referenced by QwCombinedBPM< T >::AccumulateRunningSum(), QwCombinedBPM< T >::ApplySingleEventCuts(), QwCombinedBPM< T >::CalculateRunningAverage(), QwCombinedBPM< T >::ClearEventData(), QwCombinedBPM< T >::ConstructBranch(), QwCombinedBPM< T >::ConstructBranch(), QwCombinedBPM< T >::ConstructBranchAndVector(), QwCombinedBPM< T >::ConstructHistograms(), QwCombinedBPM< T >::DeaccumulateRunningSum(), QwCombinedBPM< T >::FillHistograms(), QwCombinedBPM< T >::FillTreeVector(), QwCombinedBPM< T >::GetEventcutErrorFlag(), QwBPMCavity::GetPosition(), QwBPMStripline< T >::GetPosition(), QwBPMStripline< T >::GetPosition(), QwCombinedBPM< T >::GetPosition(), QwLinearDiodeArray::GetPosition(), QwQPD::GetPosition(), GetPosition(), GetPosition(), QwCombinedBPM< T >::GetProjectedPosition(), QwCombinedBPM< T >::GetSlope(), QwCombinedBPM< T >::IncrementErrorCounters(), QwCombinedBPM< T >::InitializeChannel(), QwCombinedBPM< T >::InitializeChannel(), QwCombinedBPM< T >::LeastSquareFit(), QwCombinedBPM< T >::MakeBPMComboList(), QwCombinedBPM< T >::operator+=(), QwCombinedBPM< T >::operator-=(), QwCombinedBPM< T >::operator=(), operator=(), QwCombinedBPM< T >::PrintErrorCounters(), QwCombinedBPM< T >::PrintInfo(), QwCombinedBPM< T >::PrintValue(), QwCombinedBPM< T >::ProcessEvent(), QwCombinedBPM< T >::RandomizeEventData(), QwCombinedBPM< T >::Ratio(), QwCombinedBPM< T >::Scale(), QwCombinedBPM< T >::SetEventCutMode(), and QwCombinedBPM< T >::UpdateErrorFlag().
|
staticprotected |
Definition at line 350 of file VQwBPM.h.
Referenced by QwBPMCavity::ApplyHWChecks(), QwLinearDiodeArray::ApplyHWChecks(), QwQPD::ApplyHWChecks(), QwBPMCavity::ApplySingleEventCuts(), QwBPMStripline< T >::ApplySingleEventCuts(), QwCombinedBPM< T >::ApplySingleEventCuts(), QwLinearDiodeArray::ApplySingleEventCuts(), and QwQPD::ApplySingleEventCuts().
|
protected |
Definition at line 348 of file VQwBPM.h.
Referenced by QwBPMCavity::ConstructBranch(), QwBPMCavity::ConstructBranch(), QwBPMStripline< T >::ConstructBranch(), QwBPMStripline< T >::ConstructBranch(), QwLinearDiodeArray::ConstructBranch(), QwLinearDiodeArray::ConstructBranch(), QwQPD::ConstructBranch(), QwQPD::ConstructBranch(), QwBPMCavity::ConstructBranchAndVector(), QwBPMStripline< T >::ConstructBranchAndVector(), QwLinearDiodeArray::ConstructBranchAndVector(), QwQPD::ConstructBranchAndVector(), QwBPMCavity::ConstructHistograms(), QwBPMStripline< T >::ConstructHistograms(), QwLinearDiodeArray::ConstructHistograms(), QwQPD::ConstructHistograms(), QwBPMCavity::FillHistograms(), QwBPMStripline< T >::FillHistograms(), QwLinearDiodeArray::FillHistograms(), QwQPD::FillHistograms(), QwBPMCavity::FillTreeVector(), QwBPMStripline< T >::FillTreeVector(), QwLinearDiodeArray::FillTreeVector(), QwQPD::FillTreeVector(), QwBPMCavity::InitializeChannel(), QwBPMCavity::InitializeChannel(), QwBPMStripline< T >::InitializeChannel(), QwBPMStripline< T >::InitializeChannel(), QwLinearDiodeArray::InitializeChannel(), QwLinearDiodeArray::InitializeChannel(), QwQPD::InitializeChannel(), QwQPD::InitializeChannel(), SetRootSaveStatus(), and VQwBPM().
|
protected |
Definition at line 336 of file VQwBPM.h.
Referenced by QwBPMStripline< T >::operator=(), operator=(), QwBPMStripline< T >::QwBPMStripline(), QwBPMStripline< T >::QwBPMStripline(), QwBPMStripline< T >::QwBPMStripline(), SetRotationOff(), and VQwBPM().
|
protected |
Definition at line 338 of file VQwBPM.h.
Referenced by QwBPMStripline< T >::FillRawEventData(), operator=(), QwBPMStripline< T >::ProcessEvent(), and SetRotation().
|
protected |
Definition at line 332 of file VQwBPM.h.
Referenced by QwBPMStripline< T >::FillRawEventData(), InitializeChannel_base(), QwBPMStripline< T >::MakeBPMList(), QwBPMStripline< T >::ProcessEvent(), and SetGains().
|
protected |
Definition at line 345 of file VQwBPM.h.
Referenced by operator=().
|
protected |
Definition at line 328 of file VQwBPM.h.
Referenced by QwBPMStripline< T >::FillRawEventData(), QwBPMCavity::GetAbsolutePosition(), QwBPMStripline< T >::GetAbsolutePosition(), QwLinearDiodeArray::GetAbsolutePosition(), GetPositionInZ(), GetSurveyOffsets(), InitializeChannel(), QwBPMStripline< T >::MakeBPMList(), operator=(), QwBPMCavity::ProcessEvent(), QwBPMStripline< T >::ProcessEvent(), and VQwBPM().
|
protected |
Definition at line 329 of file VQwBPM.h.
Referenced by QwBPMStripline< T >::FillRawEventData(), GetElectronicFactors(), InitializeChannel_base(), operator=(), and QwBPMStripline< T >::ProcessEvent().
|
protected |
Definition at line 330 of file VQwBPM.h.
Referenced by GetElectronicFactors(), InitializeChannel_base(), and operator=().
|
protected |
Definition at line 331 of file VQwBPM.h.
Referenced by QwQPD::GetCalibrationFactors(), GetElectronicFactors(), InitializeChannel_base(), operator=(), and QwBPMStripline< T >::ProcessEvent().
|
protected |
Definition at line 342 of file VQwBPM.h.
Referenced by QwBPMStripline< T >::ApplyResolutionSmearing(), QwBPMStripline< T >::ApplyResolutionSmearing(), InitializeChannel_base(), and SetResolution().
|
protected |
Definition at line 337 of file VQwBPM.h.
Referenced by operator=(), QwBPMStripline< T >::ProcessEvent(), QwBPMStripline< T >::QwBPMStripline(), QwBPMStripline< T >::QwBPMStripline(), QwBPMStripline< T >::QwBPMStripline(), SetRotation(), and SetRotationOff().
|
protected |
Definition at line 339 of file VQwBPM.h.
Referenced by QwBPMStripline< T >::FillRawEventData(), operator=(), QwBPMStripline< T >::ProcessEvent(), and SetRotation().
|
protected |
Definition at line 325 of file VQwBPM.h.
Referenced by GetSubelementByIndex().
|
staticprotected |
Axis labels for the instrumented directions; Z will never be an instrumented axis.
Definition at line 25 of file VQwBPM.h.
Referenced by QwBPMCavity::InitializeChannel(), QwBPMCavity::InitializeChannel(), QwBPMStripline< T >::InitializeChannel(), QwBPMStripline< T >::InitializeChannel(), QwCombinedBPM< T >::InitializeChannel(), QwCombinedBPM< T >::InitializeChannel(), QwQPD::InitializeChannel(), QwQPD::InitializeChannel(), QwBPMStripline< T >::ProcessEvent(), and QwQPD::ProcessEvent().