JAPAn
Just Another Parity Analyzer
|
Templated concrete stripline beam position monitor implementation. More...
#include <QwBPMStripline.h>
Public Member Functions | |
QwBPMStripline () | |
QwBPMStripline (TString name) | |
QwBPMStripline (TString subsystemname, TString name) | |
QwBPMStripline (TString subsystemname, TString name, TString type) | |
QwBPMStripline (const QwBPMStripline &source) | |
~QwBPMStripline () override | |
void | InitializeChannel (TString name) |
Initialize this BPM stripline with a detector name. | |
void | InitializeChannel (TString subsystem, TString name) |
Initialize this BPM stripline with subsystem and name. | |
void | InitializeChannel (TString subsystem, TString name, TString type) |
Initialize this BPM stripline with subsystem and module type. | |
void | ClearEventData () override |
Clear event-scoped data in all channels of this BPM. | |
void | LoadChannelParameters (QwParameterFile ¶mfile) override |
Int_t | ProcessEvBuffer (UInt_t *buffer, UInt_t word_position_in_buffer, UInt_t indexnumber) override |
Process the CODA event buffer for this element. | |
void | ProcessEvent () override |
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. | |
void | WritePromptSummary (QwPromptSummary *ps, TString type) |
const VQwHardwareChannel * | GetPosition (EBeamPositionMonitorAxis axis) const override |
const VQwHardwareChannel * | GetEffectiveCharge () const override |
const VQwHardwareChannel * | GetEllipticity () const |
TString | GetSubElementName (Int_t subindex) override |
void | GetAbsolutePosition () override |
Bool_t | ApplyHWChecks () |
Apply hardware checks across all wires and derived channels. | |
Bool_t | ApplySingleEventCuts () override |
void | SetSingleEventCuts (TString ch_name, UInt_t errorflag, Double_t minX, Double_t maxX, Double_t stability, Double_t burplevel) |
void | SetEventCutMode (Int_t bcuts) override |
void | IncrementErrorCounters () override |
Increment error counters for all internal channels. | |
void | PrintErrorCounters () const override |
Print error counters for all internal channels. | |
UInt_t | GetEventcutErrorFlag () override |
Aggregate and return the event-cut error flag for this BPM. | |
UInt_t | UpdateErrorFlag () override |
Update and return the aggregated event-cut error flag. | |
Bool_t | CheckForBurpFail (const VQwDataElement *ev_error) override |
Check for burp failures against another BPM of the same type. | |
void | UpdateErrorFlag (const VQwBPM *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 | LoadMockDataParameters (QwParameterFile ¶mfile) override |
void | ApplyResolutionSmearing () override |
void | ApplyResolutionSmearing (EBeamPositionMonitorAxis iaxis) override |
void | FillRawEventData () override |
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 &denom) override |
void | Ratio (QwBPMStripline &numer, QwBPMStripline &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 QwBPMStripline & | operator= (const QwBPMStripline &value) |
virtual QwBPMStripline & | operator+= (const QwBPMStripline &value) |
virtual QwBPMStripline & | operator-= (const QwBPMStripline &value) |
void | AccumulateRunningSum (const QwBPMStripline &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 (QwBPMStripline &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 |
![]() | |
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 () |
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) |
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. | |
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. | |
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 * | GetPosition (EBeamPositionMonitorAxis axis) override |
VQwHardwareChannel * | GetSubelementByName (TString ch_name) override |
![]() | |
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< T, 4 > | fWire |
std::array< T, 2 > | fRelPos |
std::array< T, 2 > | fAbsPos |
T | fEffectiveCharge |
T | fEllipticity |
![]() | |
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 Member Functions | |
void | SetEventData (Double_t *block, UInt_t sequencenumber) |
void | MakeBPMList () |
Private Attributes | |
std::vector< T > | fBPMElementList |
Static Private Attributes | |
static const Double_t | kRotationCorrection |
static const TString | subelement [4] |
Friends | |
template<typename TT> | |
class | QwCombinedBPM |
class | QwEnergyCalculator |
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 |
Templated concrete stripline beam position monitor implementation.
Template class for stripline BPMs using hardware channel type T. Implements position calculation from four stripline signals (XP, XM, YP, YM), coordinate transformations, effective charge calculation, and calibration. Supports rotation corrections and geometry-based position calculations.
Definition at line 41 of file QwBPMStripline.h.
|
inline |
Definition at line 49 of file QwBPMStripline.h.
Referenced by AccumulateRunningSum(), AccumulateRunningSum(), CheckForBurpFail(), DeaccumulateRunningSum(), DeaccumulateRunningSum(), operator+=(), operator+=(), operator-=(), operator-=(), operator=(), operator=(), QwBPMStripline(), Ratio(), Ratio(), and UpdateErrorFlag().
|
inline |
Definition at line 50 of file QwBPMStripline.h.
References VQwBPM::bRotated, VQwBPM::fRotationAngle, InitializeChannel(), and VQwBPM::SetRotation().
|
inline |
Definition at line 56 of file QwBPMStripline.h.
References VQwBPM::bRotated, VQwBPM::fRotationAngle, InitializeChannel(), VQwBPM::SetRotation(), and VQwDataElement::SetSubsystemName().
|
inline |
Definition at line 63 of file QwBPMStripline.h.
References VQwBPM::bRotated, VQwBPM::fRotationAngle, InitializeChannel(), VQwBPM::SetRotation(), and VQwDataElement::SetSubsystemName().
|
inline |
Definition at line 70 of file QwBPMStripline.h.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, QwBPMStripline(), QwCopyArray(), and VQwBPM::VQwBPM().
|
inlineoverride |
Definition at line 78 of file QwBPMStripline.h.
void QwBPMStripline< T >::AccumulateRunningSum | ( | const QwBPMStripline< T > & | value, |
Int_t | count = 0, | ||
Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 796 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, and QwBPMStripline().
Referenced by AccumulateRunningSum().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 790 of file QwBPMStripline.cc.
References AccumulateRunningSum(), QwBPMStripline(), and VQwBPM::VQwBPM().
Bool_t QwBPMStripline< T >::ApplyHWChecks | ( | ) |
Apply hardware checks across all wires and derived channels.
Definition at line 131 of file QwBPMStripline.cc.
References fWire.
Referenced by ProcessEvent().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1243 of file QwBPMStripline.cc.
References fAbsPos, VQwBPM::fResolution, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1249 of file QwBPMStripline.cc.
References fAbsPos, and VQwBPM::fResolution.
|
overridevirtual |
Implements VQwBPM.
Definition at line 287 of file QwBPMStripline.cc.
References ApplySingleEventCuts(), VQwBPM::bDEBUG, fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, GetSubelementByName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::kYAxis.
Referenced by ApplySingleEventCuts().
|
overridevirtual |
Implements VQwBPM.
Definition at line 773 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, and fWire.
|
overridevirtual |
Check for burp failures against another BPM of the same type.
ev_error | Reference BPM to compare against. |
Reimplemented from VQwBPM.
Definition at line 225 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, QwBPMStripline(), and VQwDataElement::VQwDataElement().
|
overridevirtual |
Clear event-scoped data in all channels of this BPM.
Reimplemented from VQwDataElement.
Definition at line 109 of file QwBPMStripline.cc.
References ClearEventData(), fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by ClearEventData().
|
overridevirtual |
Implements VQwBPM.
Definition at line 906 of file QwBPMStripline.cc.
References VQwBPM::bFullSave, ConstructBranch(), fAbsPos, fEffectiveCharge, fEllipticity, fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
Referenced by ConstructBranch(), and ConstructBranch().
|
overridevirtual |
Implements VQwBPM.
Definition at line 935 of file QwBPMStripline.cc.
References VQwBPM::bFullSave, ConstructBranch(), QwLog::endl(), fAbsPos, fEffectiveCharge, fEllipticity, fWire, VQwDataElement::GetElementName(), QwParameterFile::HasValue(), VQwBPM::kNumAxes, VQwBPM::kXAxis, QwMessage, and VQwBPM::SetRootSaveStatus().
|
overridevirtual |
Implements VQwBPM.
Definition at line 877 of file QwBPMStripline.cc.
References VQwBPM::bFullSave, ConstructBranchAndVector(), fAbsPos, fEffectiveCharge, fEllipticity, fWire, 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 829 of file QwBPMStripline.cc.
References VQwBPM::bFullSave, ConstructHistograms(), fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetRootSaveStatus().
Referenced by ConstructHistograms().
void QwBPMStripline< T >::DeaccumulateRunningSum | ( | QwBPMStripline< T > & | value, |
Int_t | ErrorMask = 0xFFFFFFF ) |
Definition at line 815 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, and QwBPMStripline().
|
overridevirtual |
Implements VQwBPM.
Definition at line 810 of file QwBPMStripline.cc.
References DeaccumulateRunningSum(), QwBPMStripline(), and VQwBPM::VQwBPM().
Referenced by DeaccumulateRunningSum().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1346 of file QwBPMStripline.cc.
References EncodeEventData(), and fWire.
Referenced by EncodeEventData().
|
overridevirtual |
Fill the histograms for this data element.
Implements VQwBPM.
Definition at line 855 of file QwBPMStripline.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, fEllipticity, FillHistograms(), fRelPos, fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by FillHistograms().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1255 of file QwBPMStripline.cc.
References fAbsPos, VQwBPM::fCosRotation, VQwBPM::fGains, VQwBPM::fPositionCenter, VQwBPM::fQwStriplineCalibration, fRelPos, VQwBPM::fSinRotation, fWire, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by RandomizeEventData().
|
overridevirtual |
Implements VQwBPM.
Definition at line 983 of file QwBPMStripline.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, fEllipticity, FillTreeVector(), fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by FillTreeVector().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 649 of file QwBPMStripline.cc.
References fAbsPos, VQwBPM::fPositionCenter, fRelPos, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
inlineoverridevirtual |
|
inline |
|
overridevirtual |
Aggregate and return the event-cut error flag for this BPM.
Reimplemented from VQwDataElement.
Definition at line 181 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, GetEventcutErrorFlag(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by GetEventcutErrorFlag().
|
inlineoverridevirtual |
Reimplemented from VQwBPM.
Definition at line 102 of file QwBPMStripline.h.
References VQwBPM::axis, fAbsPos, and VQwDataElement::GetElementName().
|
inlineoverrideprotectedvirtual |
Should be used inside the QwCombinedBPM::GetProjectedPosition function to assign the BPM's X and Y values based on the slope and intercept of the combinedBPM.
Reimplemented from VQwBPM.
Definition at line 185 of file QwBPMStripline.h.
References VQwBPM::axis, fAbsPos, and VQwDataElement::GetElementName().
|
overrideprotectedvirtual |
Implements VQwBPM.
Definition at line 355 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, and VQwDataElement::GetElementName().
Referenced by ApplySingleEventCuts().
|
static |
Definition at line 636 of file QwBPMStripline.cc.
References kInvalidSubelementIndex, and subelement.
Referenced by QwBeamDetectorID::QwBeamDetectorID().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 623 of file QwBPMStripline.cc.
References fWire, and VQwDataElement::GetElementName().
|
overridevirtual |
Increment error counters for all internal channels.
Implements VQwBPM.
Definition at line 151 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, IncrementErrorCounters(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
Referenced by IncrementErrorCounters().
void QwBPMStripline< T >::InitializeChannel | ( | TString | name | ) |
Initialize this BPM stripline with a detector name.
name | Detector name used for subchannel naming. |
Definition at line 34 of file QwBPMStripline.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, InitializeChannel(), VQwBPM::InitializeChannel(), VQwBPM::kAxisLabel, VQwBPM::kNumAxes, VQwBPM::kXAxis, and subelement.
Referenced by InitializeChannel(), InitializeChannel(), InitializeChannel(), QwBPMStripline(), QwBPMStripline(), and QwBPMStripline().
void QwBPMStripline< T >::InitializeChannel | ( | TString | subsystem, |
TString | name ) |
Initialize this BPM stripline with subsystem and name.
subsystem | Subsystem identifier. |
name | Detector name used for subchannel naming. |
Definition at line 81 of file QwBPMStripline.cc.
References VQwBPM::bFullSave, fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, InitializeChannel(), VQwBPM::InitializeChannel(), VQwBPM::kAxisLabel, VQwBPM::kNumAxes, VQwBPM::kXAxis, and subelement.
void QwBPMStripline< T >::InitializeChannel | ( | TString | subsystem, |
TString | name, | ||
TString | type ) |
Initialize this BPM stripline with subsystem and module type.
subsystem | Subsystem identifier. |
name | Detector name used for subchannel naming. |
type | Module type tag used in ROOT foldering. |
Definition at line 68 of file QwBPMStripline.cc.
References InitializeChannel(), and VQwDataElement::SetModuleType().
|
inlineoverridevirtual |
|
overridevirtual |
Reimplemented from VQwDataElement.
Definition at line 1199 of file QwBPMStripline.cc.
References fAbsPos, QwParameterFile::GetLine(), QwParameterFile::GetNextToken(), QwParameterFile::GetTypedNextToken(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::SetResolution().
|
private |
Definition at line 1070 of file QwBPMStripline.cc.
References fAbsPos, fBPMElementList, fEffectiveCharge, fEllipticity, VQwBPM::fGains, VQwBPM::fPositionCenter, fRelPos, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
virtual |
Definition at line 697 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwBPMStripline().
|
overridevirtual |
Implements VQwBPM.
Definition at line 689 of file QwBPMStripline.cc.
References QwBPMStripline(), and VQwBPM::VQwBPM().
|
virtual |
Definition at line 721 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, and QwBPMStripline().
|
overridevirtual |
Implements VQwBPM.
Definition at line 714 of file QwBPMStripline.cc.
References QwBPMStripline(), and VQwBPM::VQwBPM().
|
virtual |
Definition at line 670 of file QwBPMStripline.cc.
References VQwBPM::bRotated, fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, VQwBPM::operator=(), and QwBPMStripline().
|
overridevirtual |
Implements VQwBPM.
Definition at line 662 of file QwBPMStripline.cc.
References QwBPMStripline(), and VQwBPM::VQwBPM().
|
overridevirtual |
Print error counters for all internal channels.
Reimplemented from VQwDataElement.
Definition at line 166 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwBPM::kNumAxes, VQwBPM::kXAxis, and PrintErrorCounters().
Referenced by PrintErrorCounters().
|
overridevirtual |
Print multiple lines of information about this data element.
Reimplemented from VQwDataElement.
Definition at line 609 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, and PrintInfo().
Referenced by PrintInfo().
|
overridevirtual |
Print single line of value and error of this data element.
Reimplemented from VQwDataElement.
Definition at line 584 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, and fRelPos.
|
overridevirtual |
Process the CODA event buffer for this element.
Implements VQwDataElement.
Definition at line 567 of file QwBPMStripline.cc.
References fWire.
|
overridevirtual |
First apply HW checks and update HW error flags. Calling this routine here and not in ApplySingleEventCuts
makes a difference for a BPMs because they have derived devices.
To obtain the beam position in X and Y in the CEBAF coordinates, we use the following equations
(XP - AlphaX XM)
RelX (bpm coordinates) = fQwStriplineCalibration x GainX x -------------— (XP + AlphaX XM)
(YP - AplhaY YM) RelY (bpm coordinates) = fQwStriplineCalibration x GainY x -------------— (YP + AlphaY YM)
To get back to accelerator coordinates, rotate anti-clockwise around +Z by phi degrees (angle w.r.t X axis).
RelX (accelerator coordinates) = cos(phi) RelX - sin(phi)RelY
RelY (accelerator coordinates) = sin(phi) RelX + cos(Phi)RelY
The Ellipticity is calculated as coefficients*(xp+xm-yp-ym)/(xp+xm+yp+ym) where the coefficients are ~ 2*k/sigma, k = stripline calibration, sigma = BPM effective size
Implements VQwBPM.
Definition at line 448 of file QwBPMStripline.cc.
References ApplyHWChecks(), fAbsPos, VQwBPM::fCosRotation, fEffectiveCharge, VQwDataElement::fElementName, fEllipticity, VQwBPM::fGains, VQwBPM::fPositionCenter, VQwBPM::fQwStriplineCalibration, VQwBPM::fRelativeGains, fRelPos, VQwBPM::fRotationAngle, VQwBPM::fSinRotation, fWire, VQwBPM::kAxisLabel, VQwBPM::kNumAxes, VQwBPM::kXAxis, and VQwBPM::kYAxis.
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1179 of file QwBPMStripline.cc.
References fAbsPos, FillRawEventData(), VQwBPM::kNumAxes, and VQwBPM::kXAxis.
void QwBPMStripline< T >::Ratio | ( | QwBPMStripline< T > & | numer, |
QwBPMStripline< T > & | denom ) |
Definition at line 745 of file QwBPMStripline.cc.
References fEffectiveCharge, fEllipticity, and QwBPMStripline().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 738 of file QwBPMStripline.cc.
References QwBPMStripline(), Ratio(), and VQwBPM::VQwBPM().
Referenced by Ratio().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 758 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwBPM::kNumAxes, VQwBPM::kXAxis, and Scale().
Referenced by Scale().
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1353 of file QwBPMStripline.cc.
References fWire, and SetDefaultSampleSize().
Referenced by SetDefaultSampleSize().
|
overridevirtual |
Implements VQwBPM.
Definition at line 1055 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwBPM::kNumAxes, VQwBPM::kXAxis, and SetEventCutMode().
Referenced by SetEventCutMode().
|
private |
|
overridevirtual |
Reimplemented from VQwBPM.
Definition at line 1131 of file QwBPMStripline.cc.
References fAbsPos, fWire, VQwBPM::kXAxis, and VQwBPM::kYAxis.
void QwBPMStripline< T >::SetSingleEventCuts | ( | TString | ch_name, |
UInt_t | errorflag, | ||
Double_t | minX, | ||
Double_t | maxX, | ||
Double_t | stability, | ||
Double_t | burplevel ) |
Definition at line 400 of file QwBPMStripline.cc.
References QwLog::endl(), fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, kBPMErrorFlag, QwError, and QwMessage.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Update and return the aggregated event-cut error flag.
Implements VQwBPM.
Definition at line 196 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwBPM::kNumAxes, and VQwBPM::kXAxis.
|
overridevirtual |
Implements VQwBPM.
Definition at line 257 of file QwBPMStripline.cc.
References fAbsPos, fEffectiveCharge, fEllipticity, fRelPos, fWire, VQwDataElement::GetElementName(), VQwBPM::kNumAxes, VQwBPM::kXAxis, QwBPMStripline(), and VQwBPM::VQwBPM().
void QwBPMStripline< T >::WritePromptSummary | ( | QwPromptSummary * | ps, |
TString | type ) |
Definition at line 596 of file QwBPMStripline.cc.
References QwLog::endl(), and QwMessage.
Definition at line 42 of file QwBPMStripline.h.
References QwCombinedBPM.
Referenced by QwCombinedBPM.
|
friend |
Definition at line 43 of file QwBPMStripline.h.
References QwEnergyCalculator.
Referenced by QwEnergyCalculator.
|
protected |
Definition at line 214 of file QwBPMStripline.h.
Referenced by AccumulateRunningSum(), ApplyResolutionSmearing(), ApplyResolutionSmearing(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillRawEventData(), FillTreeVector(), GetAbsolutePosition(), GetEventcutErrorFlag(), GetPosition(), GetPosition(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), LoadChannelParameters(), LoadMockDataParameters(), MakeBPMList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwBPMStripline(), RandomizeEventData(), Scale(), SetEventCutMode(), SetRandomEventParameters(), SetSingleEventCuts(), UpdateErrorFlag(), and UpdateErrorFlag().
|
private |
Definition at line 221 of file QwBPMStripline.h.
Referenced by MakeBPMList().
|
protected |
Definition at line 215 of file QwBPMStripline.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEffectiveCharge(), GetEventcutErrorFlag(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), MakeBPMList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwBPMStripline(), Ratio(), Scale(), SetEventCutMode(), SetSingleEventCuts(), UpdateErrorFlag(), and UpdateErrorFlag().
|
protected |
Definition at line 216 of file QwBPMStripline.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillTreeVector(), GetEllipticity(), GetEventcutErrorFlag(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), MakeBPMList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwBPMStripline(), Ratio(), Scale(), SetEventCutMode(), SetSingleEventCuts(), UpdateErrorFlag(), and UpdateErrorFlag().
|
protected |
Definition at line 210 of file QwBPMStripline.h.
Referenced by AccumulateRunningSum(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructHistograms(), DeaccumulateRunningSum(), FillHistograms(), FillRawEventData(), GetAbsolutePosition(), GetEventcutErrorFlag(), GetSubelementByName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), MakeBPMList(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), PrintValue(), ProcessEvent(), QwBPMStripline(), Scale(), SetEventCutMode(), SetSingleEventCuts(), UpdateErrorFlag(), and UpdateErrorFlag().
|
protected |
Definition at line 209 of file QwBPMStripline.h.
Referenced by AccumulateRunningSum(), ApplyHWChecks(), ApplySingleEventCuts(), CalculateRunningAverage(), CheckForBurpFail(), ClearEventData(), ConstructBranch(), ConstructBranch(), ConstructBranchAndVector(), ConstructHistograms(), DeaccumulateRunningSum(), EncodeEventData(), FillHistograms(), FillRawEventData(), FillTreeVector(), GetEventcutErrorFlag(), GetSubelementByName(), GetSubElementName(), IncrementErrorCounters(), InitializeChannel(), InitializeChannel(), LoadChannelParameters(), operator+=(), operator-=(), operator=(), PrintErrorCounters(), PrintInfo(), ProcessEvBuffer(), ProcessEvent(), QwBPMStripline(), Scale(), SetDefaultSampleSize(), SetEventCutMode(), SetRandomEventParameters(), SetSingleEventCuts(), SetSubElementCalibrationFactor(), SetSubElementPedestal(), UpdateErrorFlag(), and UpdateErrorFlag().
|
staticprivate |
Definition at line 203 of file QwBPMStripline.h.
|
staticprivate |
Definition at line 204 of file QwBPMStripline.h.
Referenced by GetSubElementIndex(), InitializeChannel(), and InitializeChannel().