8 #ifndef __QwLinearDiodeArray__
9 #define __QwLinearDiodeArray__
49 for (
size_t i = 0; i < 2; i++) {
53 for (
size_t i = 0; i < 8; i++) {
70 UInt_t word_position_in_buffer,UInt_t indexnumber);
76 if (axis<0 || axis>2){
77 TString loc=
"QwLinearDiodeArray::GetPosition for "
79 throw std::out_of_range(loc.Data());
104 void SetEventData(Double_t* block, UInt_t sequencenumber);
110 void Scale(Double_t factor);
static const size_t kMaxElements
void EncodeEventData(std::vector< UInt_t > &buffer)
std::vector< QwVQWK_Channel > fLinearArrayElementList
static UInt_t GetSubElementIndex(TString subname)
void MakeLinearArrayList()
UInt_t UpdateErrorFlag()
Update the error flag based on the error flags of internally contained objects Return paramter is the...
UInt_t SetSubElementName(TString subname)
void SetSubElementPedestal(Int_t j, Double_t value)
QwLinearDiodeArray(TString name)
void ConstructBranchAndVector(TTree *tree, TString &prefix, std::vector< Double_t > &values)
void ConstructHistograms(TDirectory *folder, TString &prefix)
Construct the histograms for this data element.
const VQwHardwareChannel * GetPosition(EBeamPositionMonitorAxis axis) const
void PrintInfo() const
Print multiple lines of information about this data element.
TString GetSubElementName(Int_t subindex)
std::vector< QwDBInterface > GetDBEntry()
VQwBPM & operator+=(const VQwBPM &value)
VQwHardwareChannel * GetSubelementByName(TString ch_name)
void IncrementErrorCounters()
void ClearEventData()
Clear the event data in this element.
VQwBPM & operator=(const VQwBPM &value)
void GetAbsolutePosition()
void FillTreeVector(std::vector< Double_t > &values) const
Bool_t ApplySingleEventCuts()
void AccumulateRunningSum(const QwLinearDiodeArray &value)
void SetSubsystemName(TString sysname)
Set the name of the inheriting subsystem name.
void InitializeChannel(TString name)
void SetSubElementCalibrationFactor(Int_t j, Double_t value)
void PrintErrorCounters() const
report number of events failed due to HW and event cut failure
void ConstructBranch(TTree *tree, TString &prefix)
void SetEventData(Double_t *block, UInt_t sequencenumber)
Int_t ProcessEvBuffer(UInt_t *buffer, UInt_t word_position_in_buffer, UInt_t indexnumber)
Process the CODA event buffer for this element.
static const TString axis[3]
QwVQWK_Channel fPhotodiode[8]
void Scale(Double_t factor)
void LoadChannelParameters(QwParameterFile ¶mfile)
UInt_t GetEventcutErrorFlag()
return the error flag on this channel/device
void SetEventCutMode(Int_t bcuts)
Inherited from VQwDataElement to set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel.
VQwBPM & operator-=(const VQwBPM &value)
virtual const TString & GetElementName() const
Get the name of this element.
virtual ~QwLinearDiodeArray()
void Ratio(QwLinearDiodeArray &numer, QwLinearDiodeArray &denom)
void CalculateRunningAverage()
void FillHistograms()
Fill the histograms for this data element.
const VQwHardwareChannel * GetEffectiveCharge() const
void DeaccumulateRunningSum(QwLinearDiodeArray &value)
QwVQWK_Channel fRelPos[2]
void PrintValue() const
Print single line of value and error of this data element.
void SetRandomEventParameters(Double_t meanX, Double_t sigmaX, Double_t meanY, Double_t sigmaY)
void RandomizeEventData(int helicity=0, double time=0.0)
QwVQWK_Channel fEffectiveCharge
std::vector< QwErrDBInterface > GetErrDBEntry()
QwLinearDiodeArray(const QwLinearDiodeArray &source)
QwLinearDiodeArray(TString subsystemname, TString name)
static const TString subelement[8]
static const Double_t kQwLinearDiodeArrayPadSize
QwVQWK_Channel fAbsPos[2]
void SetDefaultSampleSize(Int_t sample_size)