|
JAPAn
Just Another Parity Analyzer
|
Concrete hardware channel for Moller ADC modules (6x32-bit words) More...
#include <QwMollerADC_Channel.h>
Inheritance diagram for QwMollerADC_Channel:
Collaboration diagram for QwMollerADC_Channel:Public Member Functions | |
| QwMollerADC_Channel () | |
| QwMollerADC_Channel (TString name, TString datatosave="raw") | |
| QwMollerADC_Channel (const QwMollerADC_Channel &value) | |
| QwMollerADC_Channel (const QwMollerADC_Channel &value, VQwDataElement::EDataToSave datatosave) | |
| ~QwMollerADC_Channel () override | |
| void | CopyFrom (const QwMollerADC_Channel &value) |
| VQwHardwareChannel * | Clone (VQwDataElement::EDataToSave datatosave) const override |
| void | InitializeChannel (TString name, TString datatosave) override |
| Initialize the fields in this object. | |
| void | InitializeChannel (TString subsystem, TString instrumenttype, TString name, TString datatosave) override |
| Initialize the fields in this object. | |
| void | LoadChannelParameters (QwParameterFile ¶mfile) override |
| void | SetDefaultSampleSize (size_t num_samples_map) |
| void | ClearEventData () override |
| Clear the event data in this element. | |
| void | RandomizeEventData (int helicity=0.0, double time=0.0) override |
| Internally generate random event data. | |
| void | ForceMapfileSampleSize () |
| void | SmearByResolution (double resolution) override |
| void | SetHardwareSum (Double_t hwsum, UInt_t sequencenumber=0) |
| void | SetEventData (Double_t *block, UInt_t sequencenumber=0) |
| void | SetRawEventData () override |
| void | SetMollerADCHeaderData (UInt_t region_number, ULong64_t region_timestamp, UInt_t header_num_words, UInt_t header_block_number, ULong64_t header_packet_count, ULong64_t header_tsamples) |
| void | SetRegionNumber (UInt_t x) |
| void | SetRegionTimestamp (ULong64_t x) |
| void | SetHeaderPacketCount (ULong64_t x) |
| void | SetHeaderBlockNumber (UInt_t x) |
| void | SetHeaderNumWords (UInt_t x) |
| void | SetHeaderTSamples (ULong64_t x) |
| UInt_t | GetRegionNumber () const |
| ULong64_t | GetRegionTimestamp () const |
| ULong64_t | GetHeaderPacketCount () const |
| UInt_t | GetHeaderBlockNumber () const |
| UInt_t | GetHeaderNumWords () const |
| ULong64_t | GetHeaderTSamples () const |
| void | EncodeEventData (std::vector< UInt_t > &buffer) override |
| Encode the event data into a CODA buffer. | |
| Int_t | ProcessEvBuffer (UInt_t *buffer, UInt_t num_words_left, UInt_t index=0) override |
| Decode the event data from a CODA buffer. | |
| Int_t | ProcessEvBuffer_oldmock (UInt_t *buffer, UInt_t num_words_left, UInt_t index=0) |
| Int_t | ProcessEvBuffer_newreshuffled (UInt_t *buffer, UInt_t num_words_left, UInt_t index=0) |
| void | ProcessEvent () override |
| Process the event data according to pedestal and calibration factor. | |
| QwMollerADC_Channel & | operator= (const QwMollerADC_Channel &value) |
| void | AssignScaledValue (const QwMollerADC_Channel &value, Double_t scale) |
| void | AssignValueFrom (const VQwDataElement *valueptr) override |
| void | AddValueFrom (const VQwHardwareChannel *valueptr) override |
| void | SubtractValueFrom (const VQwHardwareChannel *valueptr) override |
| void | MultiplyBy (const VQwHardwareChannel *valueptr) override |
| void | DivideBy (const VQwHardwareChannel *valueptr) override |
| void | ArcTan (const QwMollerADC_Channel &value) |
| QwMollerADC_Channel & | operator+= (const QwMollerADC_Channel &value) |
| QwMollerADC_Channel & | operator-= (const QwMollerADC_Channel &value) |
| QwMollerADC_Channel & | operator*= (const QwMollerADC_Channel &value) |
| VQwHardwareChannel & | operator+= (const VQwHardwareChannel &input) override |
| VQwHardwareChannel & | operator-= (const VQwHardwareChannel &input) override |
| VQwHardwareChannel & | operator*= (const VQwHardwareChannel &input) override |
| VQwHardwareChannel & | operator/= (const VQwHardwareChannel &input) override |
| const QwMollerADC_Channel | operator+ (const QwMollerADC_Channel &value) const |
| const QwMollerADC_Channel | operator- (const QwMollerADC_Channel &value) const |
| const QwMollerADC_Channel | operator* (const QwMollerADC_Channel &value) const |
| void | Sum (const QwMollerADC_Channel &value1, const QwMollerADC_Channel &value2) |
| void | Difference (const QwMollerADC_Channel &value1, const QwMollerADC_Channel &value2) |
| void | Ratio (const QwMollerADC_Channel &numer, const QwMollerADC_Channel &denom) |
| void | Product (const QwMollerADC_Channel &value1, const QwMollerADC_Channel &value2) |
| void | DivideBy (const QwMollerADC_Channel &denom) |
| void | AddChannelOffset (Double_t Offset) |
| void | Scale (Double_t Offset) override |
| void | AccumulateRunningSum (const QwMollerADC_Channel &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) |
| void | AccumulateRunningSum (const VQwHardwareChannel *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) override |
| void | DeaccumulateRunningSum (const QwMollerADC_Channel &value, Int_t ErrorMask=0xFFFFFFF) |
| void | CalculateRunningAverage () override |
| Bool_t | MatchSequenceNumber (size_t seqnum) |
| Bool_t | MatchNumberOfSamples (size_t numsamp) |
| Bool_t | ApplySingleEventCuts (Double_t LL, Double_t UL) |
| Bool_t | ApplySingleEventCuts () override |
| void | PrintErrorCounters () const override |
| report number of events failed due to HW and event cut failure | |
| void | SetMollerADCSaturationLimt (Double_t sat_volts=8.5) |
| Double_t | GetMollerADCSaturationLimt () |
| Int_t | ApplyHWChecks () override |
| void | IncrementErrorCounters () 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 | FillTreeVector (QwRootTreeBranchVector &values) const override |
| void | CopyParameters (const VQwHardwareChannel *valueptr) override |
| Int_t | GetRawValue (size_t element) const override |
| Double_t | GetValue (size_t element) const override |
| Double_t | GetValueM2 (size_t element) const override |
| Double_t | GetValueError (size_t element) const override |
| Double_t | GetAverageVolts () const |
| size_t | GetSequenceNumber () const |
| size_t | GetNumberOfSamples () const |
| void | SetCalibrationToVolts () |
| 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 | Blind (const QwBlinder *blinder) |
| Blind this channel as an asymmetry. | |
| void | Blind (const QwBlinder *blinder, const QwMollerADC_Channel &yield) |
| Blind this channel as a difference. | |
| void | ScaledAdd (Double_t scale, const VQwHardwareChannel *value) override |
| virtual void | LoadMockDataParameters (QwParameterFile ¶mfile) |
| Load the mock data parameters from the current line in the param file. | |
| Int_t | GetRawValue () const |
| Double_t | GetValue () const |
| Double_t | GetValueM2 () const |
| Double_t | GetValueError () const |
| Double_t | GetValueWidth () const |
| Double_t | GetValueWidth (size_t element) const |
| virtual void | DeaccumulateRunningSum (const VQwHardwareChannel *value, Int_t ErrorMask=0xFFFFFFF) |
| virtual VQwHardwareChannel * | Clone () const |
Public Member Functions inherited from VQwHardwareChannel | |
| VQwHardwareChannel () | |
| VQwHardwareChannel (const VQwHardwareChannel &value) | |
| VQwHardwareChannel (const VQwHardwareChannel &value, VQwDataElement::EDataToSave datatosave) | |
| ~VQwHardwareChannel () override | |
| void | CopyFrom (const VQwHardwareChannel &value) |
| void | ProcessOptions () |
| size_t | GetNumberOfDataWords () |
| Get the number of data words in this data element. | |
| size_t | GetNumberOfSubelements () |
| Get the number of subelements in this data element. | |
| Int_t | GetRawValue () const |
| Double_t | GetValue () const |
| Double_t | GetValueM2 () const |
| Double_t | GetValueError () const |
| Double_t | GetValueWidth () const |
| Double_t | GetValueWidth (size_t element) const |
| void | ClearEventData () override |
| Clear the event data in this element. | |
| void | InitializeChannel (TString name) |
| Initialize the fields in this object. | |
| void | SetEventCutMode (Int_t bcuts) |
| Bool_t | CheckForBurpFail (const VQwHardwareChannel *event) |
| void | SetSingleEventCuts (Double_t min, Double_t max) |
| Set the upper and lower limits (fULimit and fLLimit) for this channel. | |
| void | SetSingleEventCuts (UInt_t errorflag, Double_t min, Double_t max, Double_t stability=-1.0, Double_t BurpLevel=-1.0) |
| Inherited from VQwDataElement to set the upper and lower limits (fULimit and fLLimit), stability % and the error flag on this channel. | |
| Double_t | GetEventCutUpperLimit () const |
| Double_t | GetEventCutLowerLimit () const |
| Double_t | GetStabilityLimit () const |
| UInt_t | UpdateErrorFlag () override |
| Update the error flag based on the error flags of internally contained objects Return parameter is the "Eventcut Error Flag". | |
| void | UpdateErrorFlag (const VQwHardwareChannel &elem) |
| virtual UInt_t | GetErrorCode () const |
| VQwHardwareChannel & | operator= (const VQwHardwareChannel &value) |
| Arithmetic assignment operator: Should only copy event-based data. | |
| void | AssignScaledValue (const VQwHardwareChannel &value, Double_t scale) |
| void | Ratio (const VQwHardwareChannel *numer, const VQwHardwareChannel *denom) |
| void | SetPedestal (Double_t ped) |
| Double_t | GetPedestal () const |
| void | SetCalibrationFactor (Double_t factor) |
| Double_t | GetCalibrationFactor () const |
| void | AddEntriesToList (std::vector< QwDBInterface > &row_list) |
| virtual void | AddErrEntriesToList (std::vector< QwErrDBInterface > &) |
| void | ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &modulelist) |
| void | UpdateErrorFlag (const UInt_t &error) |
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. | |
| size_t | GetNumberOfDataWords () |
| Get the number of data words in this data element. | |
| UInt_t | GetGoodEventCount () const |
| 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 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 | |
Public Member Functions inherited from MQwHistograms | |
| void | ShareHistograms (const MQwHistograms *source) |
| Share histogram pointers between objects. | |
Public Member Functions inherited from MQwMockable | |
| MQwMockable () | |
| virtual | ~MQwMockable () |
| void | SetRandomEventDriftParameters (Double_t amplitude, Double_t phase, Double_t frequency) |
| Set a single set of harmonic drift parameters. | |
| void | AddRandomEventDriftParameters (Double_t amplitude, Double_t phase, Double_t frequency) |
| Add drift parameters to the internal set. | |
| void | SetRandomEventParameters (Double_t mean, Double_t sigma) |
| Set the normal random event parameters. | |
| void | SetRandomEventAsymmetry (Double_t asymmetry) |
| Set the helicity asymmetry. | |
| Double_t | GetRandomValue () |
| void | UseExternalRandomVariable () |
| Set the flag to use an externally provided random variable. | |
| void | SetExternalRandomVariable (Double_t random_variable) |
| Set the externally provided random variable. | |
| void | SetMockDataAsDiff () |
Static Public Member Functions | |
| static Int_t | GetBufferOffset (Int_t moduleindex, Int_t channelindex) |
| static void | SetDecodeMode (UInt_t input) |
| static void | PrintErrorCounterHead () |
| static void | PrintErrorCounterTail () |
| static void | SetBurpHoldoff (Int_t holdoff) |
| static void | Seed (uint seedval) |
| Seed the internal Random Variable. | |
Static Public Attributes | |
| static const Double_t | kTimePerSample = (2.0/30.0) * Qw::us |
Protected Member Functions | |
| QwMollerADC_Channel & | operator/= (const QwMollerADC_Channel &value) |
Protected Member Functions inherited from VQwHardwareChannel | |
| void | SetNumberOfDataWords (const UInt_t &numwords) |
| Set the number of data words in this data element. | |
| void | SetNumberOfSubElements (const size_t elements) |
| Set the number of data words in this data element. | |
| void | SetDataToSave (TString datatosave) |
| Set the flag indicating if raw or derived values are in this data element. | |
| void | SetDataToSave (VQwDataElement::EDataToSave datatosave) |
| Set the flag indicating if raw or derived values are in this data element. | |
| void | SetDataToSaveByPrefix (const TString &prefix) |
| Set the flag indicating if raw or derived values are in this data element based on prefix. | |
| void | RangeCheck (size_t element) const |
| Checks that the requested element is in range, to be used in accesses to subelements similar to std::vector::at(). | |
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. | |
Private Types | |
| enum | EDecodeMode { kOldMock = 0 , kNewReshuffled = 1 } |
Private Member Functions | |
| Double_t | GetBlockValue (size_t blocknum) const |
| Double_t | GetBlockErrorValue (size_t blocknum) const |
| Double_t | GetHardwareSum () const |
| Double_t | GetHardwareSumM2 () const |
| Double_t | GetHardwareSumWidth () const |
| Double_t | GetHardwareSumError () const |
| Int_t | GetRawBlockValue (size_t blocknum) const |
| Int_t | GetRawHardwareSum () const |
| Int_t | GetRawSoftwareSum () const |
Static Private Member Functions | |
| static Int_t | GetWordsPerChannel () |
| static Int_t | GetChannelsPerModule () |
| static Int_t | GetModuleHeaderWords () |
| static Int_t | GetDefaultBlocksPerEvent () |
Private Attributes | |
Channel configuration data members | |
| Short_t | fBlocksPerEvent |
Event data members—Raw values | |
| Long64_t | fBlock_raw [kMaxBlock] |
| Array of the sub-block data as read from the module. | |
| Long64_t | fHardwareBlockSum_raw |
| Module-based sum of the four sub-blocks as read from the module. | |
| Long64_t | fSoftwareBlockSum_raw |
| Sum of the data in the four sub-blocks raw. | |
| Long64_t | fBlockSumSq_raw [kMaxBlock+1] |
| Int_t | fBlock_min [kMaxBlock+1] |
| Int_t | fBlock_max [kMaxBlock+1] |
| Short_t | fBlock_numSamples [kMaxBlock+1] |
| UInt_t | fBlockSample [kMaxBlock+1] |
Event data members—Potentially calibrated values | |
| Double_t | fBlock [kMaxBlock] |
| Array of the sub-block data. | |
| Double_t | fHardwareBlockSum |
| Module-based sum of the four sub-blocks. | |
Static Private Attributes | |
| static const Bool_t | kDEBUG = kFALSE |
| static const Int_t | kMaxChannels = 16 |
| static const Int_t | kModuleHeaderWords = 8 |
| static constexpr Int_t | kMaxBlock =15 |
| static EDecodeMode | fDecodeMode = QwMollerADC_Channel::kOldMock |
| static constexpr Int_t | kOldMockChannelsPerModule = 8 |
| static constexpr Int_t | kNewReshuffledChannelsPerModule = 16 |
| static constexpr Int_t | kOldMockDefaultBlocks = 4 |
| static constexpr Int_t | kNewReshuffledDefaultBlocks = kMaxBlock |
| static constexpr Int_t | kOldMockWordsPerChannel = 30 |
| static constexpr Int_t | kNewReshuffledWordsPerChannel = 14 |
| static Bool_t | fDecodeModeHasBeenSet = kFALSE |
ADC Calibration | |
| static const Double_t | kMollerADC_VoltsPerBit = (20./(1<<18)) |
Friends | |
| std::ostream & | operator<< (std::ostream &stream, const QwMollerADC_Channel &channel) |
Calculation of the statistical moments | |
| static const Bool_t | bDEBUG =kFALSE |
| debugging display purposes | |
| Double_t | fBlockM2 [kMaxBlock] |
| Second moment of the sub-block. | |
| Double_t | fBlockError [kMaxBlock] |
| Uncertainty on the sub-block. | |
| Double_t | fHardwareBlockSumM2 |
| Second moment of the hardware sum. | |
| Double_t | fHardwareBlockSumError |
| Uncertainty on the hardware sum. | |
| Double_t | fHardwareBlockSumRMS |
| Double_t | fBlockRMS [kMaxBlock+1] |
| UInt_t | fSequenceNumber |
| Event sequence number for this channel. | |
| UInt_t | fPreviousSequenceNumber |
| Previous event sequence number for this channel. | |
| UInt_t | fNumberOfSamples |
| Number of samples read through the module. | |
| UInt_t | fRegionNumber |
| ULong64_t | fRegionTimestamp |
| UInt_t | fHeaderNumWords |
| UInt_t | fHeaderBlockNumber |
| ULong64_t | fHeaderPacketCount |
| ULong64_t | fHeaderTSamples |
| UInt_t | fNumberOfSamples_map |
| Number of samples in the expected to read through the module. This value is set in the QwBeamline map file. | |
| Int_t | fErrorCount_HWSat |
| check to see ADC channel is saturated | |
| Int_t | fErrorCount_sample |
| for sample size check | |
| Int_t | fErrorCount_SW_HW |
| HW_sum==SW_sum check. | |
| Int_t | fErrorCount_Sequence |
| sequence number check | |
| Int_t | fErrorCount_SameHW |
| check to see ADC returning same HW value | |
| Int_t | fErrorCount_ZeroHW |
| check to see ADC returning zero | |
| Int_t | fNumEvtsWithEventCutsRejected |
| Counts the Event cut rejected events. | |
| Int_t | fADC_Same_NumEvt |
| Keep track of how many events with same ADC value returned. | |
| Int_t | fSequenceNo_Prev |
| Keep the sequence number of the last event. | |
| Int_t | fSequenceNo_Counter |
| Internal counter to keep track of the sequence number. | |
| Double_t | fPrev_HardwareBlockSum |
| Previous Module-based sum of the four sub-blocks. | |
| Double_t | fSaturationABSLimit |
| absolute value of the MollerADC saturation volt | |
| Bool_t | bHw_sum |
| Bool_t | bHw_sum_raw |
| Bool_t | bBlock |
| Bool_t | bBlock_raw |
| Bool_t | bNum_samples |
| Bool_t | bDevice_Error_Code |
| Bool_t | bSequence_number |
| Double_t | GetHardwareSumRMS () const |
| Double_t | GetBlockRMS (Int_t i) const |
Additional Inherited Members | |
Public Types inherited from VQwDataElement | |
| enum | EDataToSave { kRaw = 0 , kDerived , kMoments } |
Protected Attributes inherited from VQwHardwareChannel | |
| UInt_t | fNumberOfDataWords |
| Number of raw data words in this data element. | |
| UInt_t | fNumberOfSubElements |
| Number of subelements in this data element. | |
| EDataToSave | fDataToSave |
| size_t | fTreeArrayIndex |
| size_t | fTreeArrayNumEntries |
| Double_t | fPedestal |
| Double_t | fCalibrationFactor |
| Bool_t | kFoundPedestal |
| Bool_t | kFoundGain |
| Int_t | bEVENTCUTMODE |
| Double_t | fULimit |
| Double_t | fLLimit |
| Double_t | fStability |
| Double_t | fBurpThreshold |
| Int_t | fBurpCountdown |
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. | |
| bool | fUseExternalRandomVariable |
| Flag to use an externally provided normal random variable. | |
| double | fExternalRandomVariable |
| Externally provided normal random variable. | |
| bool | fCalcMockDataAsDiff |
| Double_t | fMockAsymmetry |
| Helicity asymmetry. | |
| Double_t | fMockGaussianMean |
| Mean of normal distribution. | |
| Double_t | fMockGaussianSigma |
| Sigma of normal distribution. | |
| std::vector< Double_t > | fMockDriftAmplitude |
| Harmonic drift amplitude. | |
| std::vector< Double_t > | fMockDriftFrequency |
| Harmonic drift frequency. | |
| std::vector< Double_t > | fMockDriftPhase |
| Harmonic drift phase. | |
| static Int_t | fBurpHoldoff = 10 |
| static std::mt19937 | fRandomnessGenerator |
| Internal randomness generator. | |
| static std::normal_distribution< double > | fNormalDistribution |
| Internal normal probability distribution. | |
| static std::function< double()> | fNormalRandomVariable = []() -> double { return MQwMockable::fNormalDistribution(MQwMockable::fRandomnessGenerator); } |
| Internal normal random variable. | |
Concrete hardware channel for Moller ADC modules (6x32-bit words)
Decodes and processes the data for a single Moller ADC channel and exposes block-level values, sums, and statistical moments. Supports single-event cuts, error propagation, blinding, and running statistics. Follows the dual-operator pattern to provide both type-specific operators and polymorphic operator overrides via VQwHardwareChannel.
Definition at line 44 of file QwMollerADC_Channel.h.
|
private |
|
inline |
Definition at line 73 of file QwMollerADC_Channel.h.
References InitializeChannel(), MQwMockable::MQwMockable(), and SetMollerADCSaturationLimt().
Referenced by AccumulateRunningSum(), AccumulateRunningSum(), AddValueFrom(), ArcTan(), AssignScaledValue(), AssignValueFrom(), Blind(), Clone(), CopyFrom(), CopyParameters(), DeaccumulateRunningSum(), Difference(), DivideBy(), DivideBy(), MultiplyBy(), operator*(), operator*=(), operator*=(), operator+(), operator+=(), operator+=(), operator-(), operator-=(), operator-=(), operator/=(), operator/=(), operator<<, operator=(), Product(), QwMollerADC_Channel(), QwMollerADC_Channel(), Ratio(), ScaledAdd(), SubtractValueFrom(), and Sum().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 77 of file QwMollerADC_Channel.h.
References InitializeChannel(), MQwMockable::MQwMockable(), and SetMollerADCSaturationLimt().
Here is the call graph for this function:
|
inline |
Definition at line 81 of file QwMollerADC_Channel.h.
References fBlocksPerEvent, fNumberOfSamples_map, fSaturationABSLimit, MQwMockable::MQwMockable(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:
|
inline |
Definition at line 89 of file QwMollerADC_Channel.h.
References fBlocksPerEvent, fNumberOfSamples_map, fSaturationABSLimit, MQwMockable::MQwMockable(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:
|
inlineoverride |
Definition at line 97 of file QwMollerADC_Channel.h.
| void QwMollerADC_Channel::AccumulateRunningSum | ( | const QwMollerADC_Channel & | value, |
| Int_t | count = 0, | ||
| Int_t | ErrorMask = 0xFFFFFFF ) |
Accumulate event values into the running sum with optional scaling.
| value | Source channel to accumulate from. |
| count | Event count scaling (0 means use value.fGoodEventCount). |
| ErrorMask | Bit mask of error flags to exclude when accumulating. |
Moments and uncertainty calculation on the running sums and averages The calculation of the first and second moments of the running sum is not completely straightforward due to numerical instabilities associated with small variances and large average values. The naive computation taking the difference of the square of the average and the average of the squares leads to the subtraction of two very large numbers to get a small number.
Alternative algorithms (including for higher order moments) are supplied in Pebay, Philippe (2008), "Formulas for Robust, One-Pass Parallel Computation of Covariances and Arbitrary-Order Statistical Moments", Technical Report SAND2008-6212, Sandia National Laboratories. http://infoserve.sandia.gov/sand_doc/2008/086212.pdf
In the following formulas the moments \( M^1 \) and \( M^2 \) are defined
\begin{eqnarray} M^1 & = & \frac{1}{n} \sum^n y \\ M^2 & = & \sum^n (y - \mu) \end{eqnarray}
Recurrence relations for the addition of a single event:
\begin{eqnarray} M^1_n & = & M^1_{n-1} + \frac{y - M^1_{n-1}}{n} \\ M^2_n & = & M^2_{n-1} + (y - M^1_{n-1})(y - M^1_n) \end{eqnarray}
For the addition of an already accumulated sum:
\begin{eqnarray} M^1 & = & M^1_1 + n_2 \frac{M^1_2 - M^1_1}{n} \\ M^2 & = & M^2_1 + M^2_2 + n_1 n_2 \frac{(M^1_2 - M^1_1)^2}{n} \end{eqnarray}
In these recursive formulas we start from \( M^1 = y \) and \( M^2 = 0 \).
To calculate the mean and standard deviation we use
\begin{eqnarray} \mu & = & M^1 \\ \sigma^2 & = & \frac{1}{n} M^2 \end{eqnarray}
The standard deviation is a biased estimator, but this is what ROOT uses. Better would be to divide by \( (n-1) \).
We use the formulas provided there for the calculation of the first and second moments (i.e. average and variance).
Definition at line 1972 of file QwMollerADC_Channel.cc.
References QwLog::endl(), fBlock, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, fHardwareBlockSum, fHardwareBlockSumM2, VQwDataElement::GetElementName(), kPreserveError, QwMollerADC_Channel(), and QwWarning.
Referenced by AccumulateRunningSum(), and DeaccumulateRunningSum().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineoverridevirtual |
Reimplemented from VQwHardwareChannel.
Definition at line 223 of file QwMollerADC_Channel.h.
References AccumulateRunningSum(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:| void QwMollerADC_Channel::AddChannelOffset | ( | Double_t | offset | ) |
This function will add a offset to the hw_sum and add the same offset for blocks.
Definition at line 1893 of file QwMollerADC_Channel.cc.
References fBlock, fBlocksPerEvent, fHardwareBlockSum, and VQwDataElement::IsNameEmpty().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1563 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 69 of file QwMollerADC_Channel.cc.
References bDEBUG, VQwHardwareChannel::bEVENTCUTMODE, QwLog::endl(), fADC_Same_NumEvt, VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, fNumberOfSamples, fNumberOfSamples_map, fPrev_HardwareBlockSum, fSequenceNo_Counter, fSequenceNo_Prev, VQwDataElement::GetElementName(), GetMollerADCSaturationLimt(), GetNumberOfSamples(), GetRawHardwareSum(), GetRawSoftwareSum(), GetSequenceNumber(), kErrorFlag_SameHW, kErrorFlag_sample, kErrorFlag_Sequence, kErrorFlag_SW_HW, kErrorFlag_VQWK_Sat, kErrorFlag_ZeroHW, kMollerADC_VoltsPerBit, MatchNumberOfSamples(), MatchSequenceNumber(), and QwWarning.
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 2278 of file QwMollerADC_Channel.cc.
References VQwHardwareChannel::bEVENTCUTMODE, VQwDataElement::fErrorFlag, VQwHardwareChannel::fLLimit, VQwHardwareChannel::fULimit, GetHardwareSum(), kErrorFlag_EventCut_L, and kErrorFlag_EventCut_U.
Here is the call graph for this function:| Bool_t QwMollerADC_Channel::ApplySingleEventCuts | ( | Double_t | LL, |
| Double_t | UL ) |
Definition at line 2262 of file QwMollerADC_Channel.cc.
References VQwDataElement::fErrorFlag, GetHardwareSum(), and kPreserveError.
Here is the call graph for this function:| void QwMollerADC_Channel::ArcTan | ( | const QwMollerADC_Channel & | value | ) |
Definition at line 1856 of file QwMollerADC_Channel.cc.
References fBlock, fBlocksPerEvent, fHardwareBlockSum, VQwDataElement::IsNameEmpty(), and QwMollerADC_Channel().
Referenced by QwEnergyCalculator::GetProjectedPosition(), and QwEnergyCalculator::ProcessEvent().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwMollerADC_Channel::AssignScaledValue | ( | const QwMollerADC_Channel & | value, |
| Double_t | scale ) |
Definition at line 1530 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, fHardwareBlockSum, fHardwareBlockSumError, fHardwareBlockSumM2, fNumberOfSamples, fSequenceNumber, VQwDataElement::IsNameEmpty(), and QwMollerADC_Channel().
Referenced by QwIntegrationPMT::RandomizeMollerEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1551 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwDataElement::VQwDataElement().
Referenced by QwEnergyCalculator::GetProjectedPosition(), and QwEnergyCalculator::ProcessEvent().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwMollerADC_Channel::Blind | ( | const QwBlinder * | blinder | ) |
Blind this channel as an asymmetry.
Blind this channel as an asymmetry
| blinder | Blinder |
Definition at line 2195 of file QwMollerADC_Channel.cc.
References QwBlinder::BlindValue(), fBlock, fBlocksPerEvent, VQwDataElement::fErrorFlag, fHardwareBlockSum, QwBlinder::IsBlinderOkay(), VQwDataElement::IsNameEmpty(), QwBlinder::kValue_BlinderFail, and QwBlinder::ModifyThisErrorCode().
Here is the call graph for this function:| void QwMollerADC_Channel::Blind | ( | const QwBlinder * | blinder, |
| const QwMollerADC_Channel & | yield ) |
Blind this channel as a difference.
Blind this channel as a difference with specified yield
| blinder | Blinder |
| yield | Corresponding yield |
Definition at line 2217 of file QwMollerADC_Channel.cc.
References QwBlinder::BlindValue(), fBlock, fBlocksPerEvent, VQwDataElement::fErrorFlag, fHardwareBlockSum, QwBlinder::IsBlinderOkay(), VQwDataElement::IsNameEmpty(), QwBlinder::kValue_BlinderFail, QwBlinder::ModifyThisErrorCode(), and QwMollerADC_Channel().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 2123 of file QwMollerADC_Channel.cc.
References fBlockError, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorConfigFlag, VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, fHardwareBlockSumError, fHardwareBlockSumM2, VQwHardwareChannel::fStability, GetValueWidth(), kBeamStabilityError, and kStabilityCut.
Here is the call graph for this function:
|
overridevirtual |
Clear the event data in this element.
Reimplemented from VQwDataElement.
Definition at line 366 of file QwMollerADC_Channel.cc.
References fBlock, fBlock_max, fBlock_min, fBlock_raw, fBlockError, fBlockM2, fBlockRMS, fBlockSample, fBlocksPerEvent, fBlockSumSq_raw, VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, fHardwareBlockSum, fHardwareBlockSum_raw, fHardwareBlockSumError, fHardwareBlockSumM2, fHardwareBlockSumRMS, fNumberOfSamples, fSequenceNumber, and fSoftwareBlockSum_raw.
Referenced by QwEnergyCalculator::GetProjectedPosition(), InitializeChannel(), and QwEnergyCalculator::ProcessEvent().
Here is the caller graph for this function:
|
inlinevirtual |
Reimplemented from VQwHardwareChannel.
Definition at line 112 of file VQwHardwareChannel.h.
|
inlineoverridevirtual |
Implements VQwHardwareChannel.
Definition at line 110 of file QwMollerADC_Channel.h.
References QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1153 of file QwMollerADC_Channel.cc.
References fHardwareBlockSum, VQwHardwareChannel::fTreeArrayIndex, VQwHardwareChannel::fTreeArrayNumEntries, VQwDataElement::GetElementName(), VQwDataElement::IsNameEmpty(), and kDEBUG.
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1043 of file QwMollerADC_Channel.cc.
References bBlock, bBlock_raw, bDevice_Error_Code, bHw_sum, bHw_sum_raw, bNum_samples, bSequence_number, QwLog::endl(), fBlocksPerEvent, VQwHardwareChannel::fDataToSave, fDecodeMode, VQwHardwareChannel::fTreeArrayIndex, VQwHardwareChannel::fTreeArrayNumEntries, VQwDataElement::GetElementName(), VQwDataElement::GetModuleType(), VQwDataElement::GetSubsystemName(), gQwHists, VQwDataElement::IsNameEmpty(), kDEBUG, VQwDataElement::kMoments, kNewReshuffled, VQwDataElement::kRaw, QwRootTreeBranchVector::LeafList(), QwRootTreeBranchVector::push_back(), QwMessage, VQwHardwareChannel::SetDataToSaveByPrefix(), and QwRootTreeBranchVector::size().
Here is the call graph for this function:
|
overridevirtual |
Construct the histograms for this data element.
Implements VQwDataElement.
Definition at line 937 of file QwMollerADC_Channel.cc.
References fBlocksPerEvent, VQwHardwareChannel::fDataToSave, MQwHistograms::fHistograms, VQwDataElement::GetElementName(), gQwHists, VQwDataElement::IsNameEmpty(), VQwDataElement::kDerived, VQwDataElement::kRaw, and VQwHardwareChannel::SetDataToSaveByPrefix().
Here is the call graph for this function:
|
inline |
Definition at line 99 of file QwMollerADC_Channel.h.
References VQwHardwareChannel::CopyFrom(), fBlocksPerEvent, fNumberOfSamples_map, fSaturationABSLimit, and QwMollerADC_Channel().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from VQwHardwareChannel.
Definition at line 2388 of file QwMollerADC_Channel.cc.
References fBlocksPerEvent, MQwMockable::fMockGaussianSigma, fNumberOfSamples, fNumberOfSamples_map, VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:
|
inline |
Definition at line 232 of file QwMollerADC_Channel.h.
References AccumulateRunningSum(), and QwMollerADC_Channel().
Here is the call graph for this function:
|
inlinevirtual |
Reimplemented from VQwHardwareChannel.
Definition at line 248 of file VQwHardwareChannel.h.
| void QwMollerADC_Channel::Difference | ( | const QwMollerADC_Channel & | value1, |
| const QwMollerADC_Channel & | value2 ) |
Definition at line 1771 of file QwMollerADC_Channel.cc.
References QwMollerADC_Channel().
Here is the call graph for this function:| void QwMollerADC_Channel::DivideBy | ( | const QwMollerADC_Channel & | denom | ) |
Definition at line 1916 of file QwMollerADC_Channel.cc.
References QwMollerADC_Channel().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1599 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:
|
overridevirtual |
Encode the event data into a CODA buffer.
Implements MQwMockable.
Definition at line 535 of file QwMollerADC_Channel.cc.
References fBlock_max, fBlock_min, fBlock_raw, fBlockSumSq_raw, fHardwareBlockSum_raw, fNumberOfSamples, fSequenceNumber, VQwDataElement::IsNameEmpty(), and kOldMockWordsPerChannel.
Here is the call graph for this function:
|
overridevirtual |
Fill the histograms for this data element.
Implements VQwDataElement.
Definition at line 985 of file QwMollerADC_Channel.cc.
References fBlocksPerEvent, VQwHardwareChannel::fDataToSave, VQwDataElement::fErrorFlag, MQwHistograms::fHistograms, GetBlockValue(), GetHardwareSum(), GetRawBlockValue(), GetRawHardwareSum(), GetRawSoftwareSum(), VQwDataElement::IsNameEmpty(), VQwDataElement::kDerived, kErrorFlag_SameHW, kErrorFlag_sample, kErrorFlag_Sequence, kErrorFlag_SW_HW, kErrorFlag_VQWK_Sat, kErrorFlag_ZeroHW, and VQwDataElement::kRaw.
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1168 of file QwMollerADC_Channel.cc.
References bBlock, bBlock_raw, bDEBUG, bDevice_Error_Code, bHw_sum, bHw_sum_raw, bNum_samples, bSequence_number, fBlock_max, fBlock_min, fBlock_raw, fBlocksPerEvent, fBlockSumSq_raw, VQwHardwareChannel::fDataToSave, fDecodeMode, VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, fHardwareBlockSum_raw, fHeaderBlockNumber, fHeaderNumWords, fHeaderPacketCount, fHeaderTSamples, fNumberOfSamples, fRegionNumber, fRegionTimestamp, fSequenceNumber, VQwHardwareChannel::fTreeArrayIndex, VQwHardwareChannel::fTreeArrayNumEntries, GetBlockRMS(), GetBlockValue(), GetHardwareSum(), GetHardwareSumError(), GetHardwareSumM2(), GetHardwareSumRMS(), GetRawBlockValue(), GetRawHardwareSum(), VQwDataElement::IsNameEmpty(), VQwDataElement::kMoments, kNewReshuffled, VQwDataElement::kRaw, QwRootTreeBranchVector::SetValue(), and QwRootTreeBranchVector::size().
Here is the call graph for this function:
|
inline |
Forces the event "number of samples" variable to be what was expected from the mapfile. NOTE: this should only be used in mock data generation!
Definition at line 134 of file QwMollerADC_Channel.h.
References fNumberOfSamples, and fNumberOfSamples_map.
| Double_t QwMollerADC_Channel::GetAverageVolts | ( | ) | const |
Definition at line 898 of file QwMollerADC_Channel.cc.
References fHardwareBlockSum, fNumberOfSamples, and kMollerADC_VoltsPerBit.
|
inlineprivate |
Definition at line 337 of file QwMollerADC_Channel.h.
References GetValueError().
Referenced by PrintValue().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 418 of file QwMollerADC_Channel.h.
References fBlockRMS.
Referenced by FillTreeVector().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 336 of file QwMollerADC_Channel.h.
References GetValue().
Referenced by FillHistograms(), FillTreeVector(), and PrintValue().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Class: QwMollerADC_Channel Base class containing decoding functions for the MollerADC_Channel 6 32-bit datawords. The functions in this class will decode a single channel worth of MollerADC_Channel data and provide the components through member functions.
Static member function to return the word offset within a data buffer given the module number index and the channel number index.
| moduleindex | Module index within this buffer; counts from zero |
| channelindex | Channel index within this module; counts from zero |
Definition at line 46 of file QwMollerADC_Channel.cc.
References QwLog::endl(), GetChannelsPerModule(), GetModuleHeaderWords(), GetWordsPerChannel(), and QwError.
Referenced by VQwDetectorArray::LoadChannelMap(), and QwBeamDetectorID::QwBeamDetectorID().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticprivate |
Definition at line 261 of file QwMollerADC_Channel.cc.
References fDecodeMode, kNewReshuffled, kNewReshuffledChannelsPerModule, kOldMock, and kOldMockChannelsPerModule.
Referenced by GetBufferOffset().
Here is the caller graph for this function:
|
staticprivate |
Definition at line 285 of file QwMollerADC_Channel.cc.
References fDecodeMode, kNewReshuffled, kNewReshuffledDefaultBlocks, kOldMock, and kOldMockDefaultBlocks.
Referenced by InitializeChannel(), and LoadChannelParameters().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 339 of file QwMollerADC_Channel.h.
References GetValue().
Referenced by ApplySingleEventCuts(), ApplySingleEventCuts(), FillHistograms(), FillTreeVector(), operator<<, and PrintValue().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 342 of file QwMollerADC_Channel.h.
References GetValueError().
Referenced by FillTreeVector(), and PrintValue().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 340 of file QwMollerADC_Channel.h.
References GetValueM2().
Referenced by FillTreeVector().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 417 of file QwMollerADC_Channel.h.
References fHardwareBlockSumRMS.
Referenced by FillTreeVector().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 341 of file QwMollerADC_Channel.h.
References GetValueWidth().
Referenced by PrintValue().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
inline |
|
inline |
|
inline |
|
staticprivate |
Definition at line 273 of file QwMollerADC_Channel.cc.
References fDecodeMode, kModuleHeaderWords, kNewReshuffled, and kOldMock.
Referenced by GetBufferOffset().
Here is the caller graph for this function:
|
inline |
Definition at line 260 of file QwMollerADC_Channel.h.
References fSaturationABSLimit.
Referenced by ApplyHWChecks().
Here is the caller graph for this function:
|
inline |
Definition at line 309 of file QwMollerADC_Channel.h.
References fNumberOfSamples.
Referenced by ApplyHWChecks().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 345 of file QwMollerADC_Channel.h.
References GetRawValue().
Referenced by FillHistograms(), and FillTreeVector().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 346 of file QwMollerADC_Channel.h.
References GetRawValue().
Referenced by ApplyHWChecks(), FillHistograms(), and FillTreeVector().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 347 of file QwMollerADC_Channel.h.
References fSoftwareBlockSum_raw.
Referenced by ApplyHWChecks(), and FillHistograms().
Here is the caller graph for this function:
|
inline |
Definition at line 125 of file VQwHardwareChannel.h.
Referenced by GetRawBlockValue(), and GetRawHardwareSum().
Here is the caller graph for this function:
|
inlineoverridevirtual |
Implements VQwHardwareChannel.
Definition at line 284 of file QwMollerADC_Channel.h.
References fBlock_raw, fHardwareBlockSum_raw, and VQwHardwareChannel::RangeCheck().
Here is the call graph for this function:
|
inline |
|
inline |
|
inline |
Definition at line 308 of file QwMollerADC_Channel.h.
References fSequenceNumber.
Referenced by ApplyHWChecks().
Here is the caller graph for this function:
|
inline |
Definition at line 126 of file VQwHardwareChannel.h.
Referenced by GetBlockValue(), and GetHardwareSum().
Here is the caller graph for this function:
|
inlineoverridevirtual |
Implements VQwHardwareChannel.
Definition at line 289 of file QwMollerADC_Channel.h.
References fBlock, fHardwareBlockSum, and VQwHardwareChannel::RangeCheck().
Here is the call graph for this function:
|
inline |
Definition at line 128 of file VQwHardwareChannel.h.
Referenced by GetBlockErrorValue(), and GetHardwareSumError().
Here is the caller graph for this function:
|
inlineoverridevirtual |
Implements VQwHardwareChannel.
Definition at line 299 of file QwMollerADC_Channel.h.
References fBlockError, fHardwareBlockSumError, and VQwHardwareChannel::RangeCheck().
Here is the call graph for this function:
|
inline |
Definition at line 127 of file VQwHardwareChannel.h.
Referenced by GetHardwareSumM2().
Here is the caller graph for this function:
|
inlineoverridevirtual |
Implements VQwHardwareChannel.
Definition at line 294 of file QwMollerADC_Channel.h.
References fBlockM2, fHardwareBlockSumM2, and VQwHardwareChannel::RangeCheck().
Here is the call graph for this function:
|
inline |
Definition at line 129 of file VQwHardwareChannel.h.
Referenced by CalculateRunningAverage(), and GetHardwareSumWidth().
Here is the caller graph for this function:
|
inline |
Definition at line 134 of file VQwHardwareChannel.h.
|
staticprivate |
Definition at line 249 of file QwMollerADC_Channel.cc.
References fDecodeMode, kNewReshuffled, kNewReshuffledWordsPerChannel, kOldMock, and kOldMockWordsPerChannel.
Referenced by GetBufferOffset(), InitializeChannel(), and LoadChannelParameters().
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 146 of file QwMollerADC_Channel.cc.
References fErrorCount_HWSat, fErrorCount_SameHW, fErrorCount_sample, fErrorCount_Sequence, fErrorCount_SW_HW, fErrorCount_ZeroHW, VQwDataElement::fErrorFlag, fNumEvtsWithEventCutsRejected, kErrorFlag_EventCut_L, kErrorFlag_EventCut_U, kErrorFlag_SameHW, kErrorFlag_sample, kErrorFlag_Sequence, kErrorFlag_SW_HW, kErrorFlag_VQWK_Sat, and kErrorFlag_ZeroHW.
|
overridevirtual |
Initialize the fields in this object.
Implements VQwHardwareChannel.
Definition at line 167 of file QwMollerADC_Channel.cc.
References VQwHardwareChannel::bEVENTCUTMODE, ClearEventData(), fADC_Same_NumEvt, fBlocksPerEvent, VQwHardwareChannel::fCalibrationFactor, VQwDataElement::fErrorConfigFlag, fErrorCount_HWSat, fErrorCount_SameHW, fErrorCount_sample, fErrorCount_Sequence, fErrorCount_SW_HW, fErrorCount_ZeroHW, VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, fHeaderBlockNumber, fHeaderNumWords, fHeaderPacketCount, fHeaderTSamples, VQwHardwareChannel::fLLimit, MQwMockable::fMockAsymmetry, MQwMockable::fMockDriftAmplitude, MQwMockable::fMockDriftFrequency, MQwMockable::fMockDriftPhase, MQwMockable::fMockGaussianMean, MQwMockable::fMockGaussianSigma, fNumberOfSamples, fNumberOfSamples_map, fNumEvtsWithEventCutsRejected, VQwHardwareChannel::fPedestal, fPrev_HardwareBlockSum, fPreviousSequenceNumber, fRegionNumber, fRegionTimestamp, fSequenceNo_Counter, fSequenceNo_Prev, VQwHardwareChannel::fTreeArrayIndex, VQwHardwareChannel::fTreeArrayNumEntries, VQwHardwareChannel::fULimit, MQwMockable::fUseExternalRandomVariable, GetDefaultBlocksPerEvent(), GetWordsPerChannel(), VQwHardwareChannel::kFoundGain, VQwHardwareChannel::kFoundPedestal, kMaxBlock, VQwHardwareChannel::SetDataToSave(), VQwDataElement::SetElementName(), VQwHardwareChannel::SetNumberOfDataWords(), and VQwHardwareChannel::SetNumberOfSubElements().
Referenced by QwEnergyCalculator::GetProjectedPosition(), InitializeChannel(), QwEnergyCalculator::ProcessEvent(), QwMollerADC_Channel(), and QwMollerADC_Channel().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Initialize the fields in this object.
Implements VQwHardwareChannel.
Definition at line 242 of file QwMollerADC_Channel.cc.
References InitializeChannel(), VQwDataElement::SetModuleType(), and VQwDataElement::SetSubsystemName().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from VQwDataElement.
Definition at line 323 of file QwMollerADC_Channel.cc.
References QwLog::endl(), fBlocksPerEvent, GetDefaultBlocksPerEvent(), VQwDataElement::GetElementName(), GetWordsPerChannel(), kMaxBlock, QwWarning, QwParameterFile::ReturnValue(), SetDecodeMode(), SetDefaultSampleSize(), and VQwHardwareChannel::SetNumberOfDataWords().
Here is the call graph for this function:
|
virtual |
Load the mock data parameters from the current line in the param file.
Reimplemented from VQwDataElement.
Definition at line 60 of file MQwMockable.cc.
| Bool_t QwMollerADC_Channel::MatchNumberOfSamples | ( | size_t | numsamp | ) |
Definition at line 2244 of file QwMollerADC_Channel.cc.
References bDEBUG, fNumberOfSamples, VQwDataElement::GetElementName(), and VQwDataElement::IsNameEmpty().
Referenced by ApplyHWChecks().
Here is the call graph for this function:
Here is the caller graph for this function:| Bool_t QwMollerADC_Channel::MatchSequenceNumber | ( | size_t | seqnum | ) |
Definition at line 2234 of file QwMollerADC_Channel.cc.
References fSequenceNumber, and VQwDataElement::IsNameEmpty().
Referenced by ApplyHWChecks().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1587 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:| const QwMollerADC_Channel QwMollerADC_Channel::operator* | ( | const QwMollerADC_Channel & | value | ) | const |
Definition at line 1676 of file QwMollerADC_Channel.cc.
References QwMollerADC_Channel().
Here is the call graph for this function:| QwMollerADC_Channel & QwMollerADC_Channel::operator*= | ( | const QwMollerADC_Channel & | value | ) |
Definition at line 1683 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorFlag, fHardwareBlockSum, fHardwareBlockSumM2, fHeaderBlockNumber, fHeaderNumWords, fHeaderPacketCount, fHeaderTSamples, fNumberOfSamples, fRegionNumber, fRegionTimestamp, fSequenceNumber, VQwDataElement::IsNameEmpty(), and QwMollerADC_Channel().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1735 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:| const QwMollerADC_Channel QwMollerADC_Channel::operator+ | ( | const QwMollerADC_Channel & | value | ) | const |
Definition at line 1613 of file QwMollerADC_Channel.cc.
References QwMollerADC_Channel().
Here is the call graph for this function:| QwMollerADC_Channel & QwMollerADC_Channel::operator+= | ( | const QwMollerADC_Channel & | value | ) |
Definition at line 1620 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorFlag, fHardwareBlockSum, fHardwareBlockSumM2, fHeaderBlockNumber, fHeaderNumWords, fHeaderPacketCount, fHeaderTSamples, fNumberOfSamples, fRegionNumber, fRegionTimestamp, fSequenceNumber, VQwDataElement::IsNameEmpty(), and QwMollerADC_Channel().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1707 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:| const QwMollerADC_Channel QwMollerADC_Channel::operator- | ( | const QwMollerADC_Channel & | value | ) | const |
Definition at line 1645 of file QwMollerADC_Channel.cc.
References QwMollerADC_Channel().
Here is the call graph for this function:| QwMollerADC_Channel & QwMollerADC_Channel::operator-= | ( | const QwMollerADC_Channel & | value | ) |
Definition at line 1652 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorFlag, fHardwareBlockSum, fHardwareBlockSumM2, fHeaderBlockNumber, fHeaderNumWords, fHeaderPacketCount, fHeaderTSamples, fNumberOfSamples, fRegionNumber, fRegionTimestamp, fSequenceNumber, VQwDataElement::IsNameEmpty(), and QwMollerADC_Channel().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1721 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:
|
protected |
Definition at line 1790 of file QwMollerADC_Channel.cc.
References QwLog::endl(), fBlock, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorFlag, fHardwareBlockSum, fHardwareBlockSumM2, fHeaderBlockNumber, fHeaderNumWords, fHeaderPacketCount, fHeaderTSamples, fRegionNumber, fRegionTimestamp, VQwDataElement::GetElementName(), VQwDataElement::IsNameEmpty(), QwMollerADC_Channel(), QwVerbose, and QwWarning.
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1749 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:| QwMollerADC_Channel & QwMollerADC_Channel::operator= | ( | const QwMollerADC_Channel & | value | ) |
Definition at line 1488 of file QwMollerADC_Channel.cc.
References fBlock, fBlock_max, fBlock_min, fBlock_raw, fBlockM2, fBlockRMS, fBlockSample, fBlocksPerEvent, fBlockSumSq_raw, VQwHardwareChannel::fDataToSave, fHardwareBlockSum, fHardwareBlockSum_raw, fHardwareBlockSumError, fHardwareBlockSumM2, fHardwareBlockSumRMS, fHeaderBlockNumber, fHeaderNumWords, fHeaderPacketCount, fHeaderTSamples, fNumberOfSamples, fRegionNumber, fRegionTimestamp, fSequenceNumber, fSoftwareBlockSum_raw, VQwDataElement::IsNameEmpty(), VQwDataElement::kRaw, VQwHardwareChannel::operator=(), and QwMollerADC_Channel().
Here is the call graph for this function:
|
static |
Definition at line 2314 of file QwMollerADC_Channel.cc.
References QwLog::endl(), and QwMessage.
Referenced by VQwDetectorArray::PrintErrorCounters().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
report number of events failed due to HW and event cut failure
Reimplemented from VQwDataElement.
Definition at line 2337 of file QwMollerADC_Channel.cc.
References QwLog::endl(), VQwHardwareChannel::fDataToSave, fErrorCount_HWSat, fErrorCount_SameHW, fErrorCount_sample, fErrorCount_Sequence, fErrorCount_SW_HW, fErrorCount_ZeroHW, fNumEvtsWithEventCutsRejected, VQwDataElement::GetElementName(), VQwHardwareChannel::kFoundGain, VQwHardwareChannel::kFoundPedestal, VQwDataElement::kRaw, and QwMessage.
Here is the call graph for this function:
|
static |
Definition at line 2331 of file QwMollerADC_Channel.cc.
References QwLog::endl(), and QwMessage.
Referenced by VQwDetectorArray::PrintErrorCounters().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Print multiple lines of information about this data element.
Reimplemented from VQwDataElement.
Definition at line 907 of file QwMollerADC_Channel.cc.
References fBlock, fBlock_raw, fBlocksPerEvent, VQwHardwareChannel::fCalibrationFactor, fHardwareBlockSum, fHardwareBlockSum_raw, fHardwareBlockSumError, fHardwareBlockSumM2, fNumberOfSamples, VQwHardwareChannel::fPedestal, fSequenceNumber, fSoftwareBlockSum_raw, VQwDataElement::GetElementName(), VQwDataElement::GetModuleType(), and VQwDataElement::GetSubsystemName().
Here is the call graph for this function:
|
overridevirtual |
Print single line of value and error of this data element.
Reimplemented from VQwDataElement.
Definition at line 2157 of file QwMollerADC_Channel.cc.
References QwLog::endl(), VQwDataElement::fGoodEventCount, GetBlockErrorValue(), GetBlockValue(), VQwDataElement::GetElementName(), VQwDataElement::GetGoodEventCount(), GetHardwareSum(), GetHardwareSumError(), GetHardwareSumWidth(), VQwDataElement::GetModuleType(), VQwDataElement::GetSubsystemName(), and QwMessage.
Here is the call graph for this function:
|
overridevirtual |
Decode the event data from a CODA buffer.
Implements VQwDataElement.
Definition at line 570 of file QwMollerADC_Channel.cc.
References fDecodeMode, kOldMock, ProcessEvBuffer_newreshuffled(), and ProcessEvBuffer_oldmock().
Here is the call graph for this function:| Int_t QwMollerADC_Channel::ProcessEvBuffer_newreshuffled | ( | UInt_t * | buffer, |
| UInt_t | num_words_left, | ||
| UInt_t | index = 0 ) |
Definition at line 659 of file QwMollerADC_Channel.cc.
References fBlock_max, fBlock_min, fBlock_raw, fBlockRMS, fBlockSample, fBlockSumSq_raw, fHardwareBlockSum_raw, fHardwareBlockSumRMS, fNumberOfSamples, fSoftwareBlockSum_raw, VQwDataElement::IsNameEmpty(), kMaxBlock, and kNewReshuffledWordsPerChannel.
Referenced by ProcessEvBuffer().
Here is the call graph for this function:
Here is the caller graph for this function:| Int_t QwMollerADC_Channel::ProcessEvBuffer_oldmock | ( | UInt_t * | buffer, |
| UInt_t | num_words_left, | ||
| UInt_t | index = 0 ) |
Definition at line 581 of file QwMollerADC_Channel.cc.
References fBlock_max, fBlock_min, fBlock_raw, fBlockSample, fBlocksPerEvent, fBlockSumSq_raw, fHardwareBlockSum_raw, VQwHardwareChannel::fNumberOfDataWords, fNumberOfSamples, fNumberOfSamples_map, fSequenceNumber, fSoftwareBlockSum_raw, VQwDataElement::GetElementName(), VQwDataElement::IsNameEmpty(), and kOldMockWordsPerChannel.
Referenced by ProcessEvBuffer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Process the event data according to pedestal and calibration factor.
Implements VQwHardwareChannel.
Definition at line 860 of file QwMollerADC_Channel.cc.
References QwLog::endl(), fBlock, fBlock_raw, fBlockM2, fBlockSample, fBlocksPerEvent, VQwHardwareChannel::fCalibrationFactor, VQwDataElement::fErrorFlag, fHardwareBlockSum, fHardwareBlockSum_raw, fHardwareBlockSumM2, fNumberOfSamples, VQwHardwareChannel::fPedestal, VQwDataElement::GetElementName(), kErrorFlag_sample, and QwWarning.
Here is the call graph for this function:| void QwMollerADC_Channel::Product | ( | const QwMollerADC_Channel & | value1, |
| const QwMollerADC_Channel & | value2 ) |
Definition at line 1871 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorFlag, fHardwareBlockSum, fHardwareBlockSumM2, fNumberOfSamples, fSequenceNumber, VQwDataElement::IsNameEmpty(), and QwMollerADC_Channel().
Here is the call graph for this function:
|
overridevirtual |
Internally generate random event data.
Implements MQwMockable.
Definition at line 393 of file QwMollerADC_Channel.cc.
References fBlock, fBlock_max, fBlock_min, fBlockM2, fBlocksPerEvent, MQwMockable::fCalcMockDataAsDiff, fHardwareBlockSum, fHardwareBlockSumM2, MQwMockable::fMockAsymmetry, MQwMockable::fMockDriftAmplitude, MQwMockable::fMockDriftFrequency, MQwMockable::fMockDriftPhase, MQwMockable::fMockGaussianMean, MQwMockable::fMockGaussianSigma, fNumberOfSamples, fNumberOfSamples_map, fSequenceNumber, MQwMockable::GetRandomValue(), kTimePerSample, and Qw::pi.
Here is the call graph for this function:| void QwMollerADC_Channel::Ratio | ( | const QwMollerADC_Channel & | numer, |
| const QwMollerADC_Channel & | denom ) |
Definition at line 1777 of file QwMollerADC_Channel.cc.
References VQwDataElement::fErrorFlag, VQwDataElement::fGoodEventCount, fNumberOfSamples, fSequenceNumber, VQwDataElement::IsNameEmpty(), and QwMollerADC_Channel().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1903 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, fHardwareBlockSum, fHardwareBlockSumM2, and VQwDataElement::IsNameEmpty().
Referenced by QwEnergyCalculator::GetProjectedPosition(), and QwEnergyCalculator::ProcessEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 2359 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, VQwDataElement::fErrorFlag, fHardwareBlockSum, fHardwareBlockSumM2, fNumberOfSamples, fSequenceNumber, VQwDataElement::GetElementName(), VQwDataElement::IsNameEmpty(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:
|
inline |
Definition at line 311 of file QwMollerADC_Channel.h.
References kMollerADC_VoltsPerBit, and VQwHardwareChannel::SetCalibrationFactor().
Here is the call graph for this function:
|
static |
Definition at line 297 of file QwMollerADC_Channel.cc.
References QwLog::endl(), fDecodeMode, fDecodeModeHasBeenSet, kNewReshuffled, kOldMock, and QwError.
Referenced by VQwDetectorArray::LoadChannelMap(), LoadChannelParameters(), and QwBeamDetectorID::QwBeamDetectorID().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 123 of file QwMollerADC_Channel.h.
References fNumberOfSamples_map.
Referenced by LoadChannelParameters().
Here is the caller graph for this function:| void QwMollerADC_Channel::SetEventData | ( | Double_t * | block, |
| UInt_t | sequencenumber = 0 ) |
Definition at line 472 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, fHardwareBlockSum, fHardwareBlockSumM2, fNumberOfSamples, fNumberOfSamples_map, fSequenceNumber, and SetRawEventData().
Referenced by SetHardwareSum().
Here is the call graph for this function:
Here is the caller graph for this function:| void QwMollerADC_Channel::SetHardwareSum | ( | Double_t | hwsum, |
| UInt_t | sequencenumber = 0 ) |
TODO: SetHardwareSum should be removed, and SetEventData should be made protected.
Definition at line 456 of file QwMollerADC_Channel.cc.
References fBlocksPerEvent, and SetEventData().
Here is the call graph for this function:
|
inline |
Definition at line 165 of file QwMollerADC_Channel.h.
References fHeaderBlockNumber.
|
inline |
Definition at line 166 of file QwMollerADC_Channel.h.
References fHeaderNumWords.
|
inline |
Definition at line 164 of file QwMollerADC_Channel.h.
References fHeaderPacketCount.
|
inline |
Definition at line 167 of file QwMollerADC_Channel.h.
References fHeaderTSamples.
|
inline |
Definition at line 147 of file QwMollerADC_Channel.h.
References fHeaderBlockNumber, fHeaderNumWords, fHeaderPacketCount, fHeaderTSamples, fRegionNumber, and fRegionTimestamp.
|
inline |
Definition at line 256 of file QwMollerADC_Channel.h.
References fSaturationABSLimit.
Referenced by QwMollerADC_Channel(), and QwMollerADC_Channel().
Here is the caller graph for this function:
|
overridevirtual |
|
inline |
Definition at line 162 of file QwMollerADC_Channel.h.
References fRegionNumber.
|
inline |
Definition at line 163 of file QwMollerADC_Channel.h.
References fRegionTimestamp.
|
overridevirtual |
Implements MQwMockable.
Definition at line 437 of file QwMollerADC_Channel.cc.
References fBlock, fBlockM2, fBlocksPerEvent, fHardwareBlockSum, fHardwareBlockSumM2, fNumberOfSamples, fNumberOfSamples_map, and MQwMockable::GetRandomValue().
Here is the call graph for this function:
|
overridevirtual |
Implements VQwHardwareChannel.
Definition at line 1575 of file QwMollerADC_Channel.cc.
References VQwDataElement::GetElementName(), QwMollerADC_Channel(), and VQwHardwareChannel::VQwHardwareChannel().
Here is the call graph for this function:| void QwMollerADC_Channel::Sum | ( | const QwMollerADC_Channel & | value1, |
| const QwMollerADC_Channel & | value2 ) |
Definition at line 1765 of file QwMollerADC_Channel.cc.
References QwMollerADC_Channel().
Here is the call graph for this function:
|
friend |
Definition at line 2185 of file QwMollerADC_Channel.cc.
References GetHardwareSum(), and QwMollerADC_Channel().
|
private |
Definition at line 463 of file QwMollerADC_Channel.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
private |
Definition at line 464 of file QwMollerADC_Channel.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
staticprivate |
debugging display purposes
For MollerADC data element trimming uses
Definition at line 458 of file QwMollerADC_Channel.h.
Referenced by ApplyHWChecks(), FillTreeVector(), and MatchNumberOfSamples().
|
private |
Definition at line 466 of file QwMollerADC_Channel.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
private |
Definition at line 461 of file QwMollerADC_Channel.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
private |
Definition at line 462 of file QwMollerADC_Channel.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
private |
Definition at line 465 of file QwMollerADC_Channel.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
private |
Definition at line 467 of file QwMollerADC_Channel.h.
Referenced by ConstructBranchAndVector(), and FillTreeVector().
|
private |
Keep track of how many events with same ADC value returned.
Definition at line 448 of file QwMollerADC_Channel.h.
Referenced by ApplyHWChecks(), and InitializeChannel().
|
private |
Array of the sub-block data.
Definition at line 400 of file QwMollerADC_Channel.h.
Referenced by AccumulateRunningSum(), AddChannelOffset(), ArcTan(), AssignScaledValue(), Blind(), Blind(), ClearEventData(), GetValue(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), PrintInfo(), ProcessEvent(), Product(), RandomizeEventData(), Scale(), ScaledAdd(), SetEventData(), and SmearByResolution().
|
private |
Definition at line 392 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), EncodeEventData(), FillTreeVector(), operator=(), ProcessEvBuffer_newreshuffled(), ProcessEvBuffer_oldmock(), and RandomizeEventData().
|
private |
Definition at line 391 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), EncodeEventData(), FillTreeVector(), operator=(), ProcessEvBuffer_newreshuffled(), ProcessEvBuffer_oldmock(), and RandomizeEventData().
|
private |
Definition at line 393 of file QwMollerADC_Channel.h.
|
private |
Array of the sub-block data as read from the module.
Definition at line 387 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), EncodeEventData(), FillTreeVector(), GetRawValue(), operator=(), PrintInfo(), ProcessEvBuffer_newreshuffled(), ProcessEvBuffer_oldmock(), and ProcessEvent().
|
private |
Uncertainty on the sub-block.
Definition at line 409 of file QwMollerADC_Channel.h.
Referenced by CalculateRunningAverage(), ClearEventData(), and GetValueError().
|
private |
Second moment of the sub-block.
Definition at line 408 of file QwMollerADC_Channel.h.
Referenced by AccumulateRunningSum(), AssignScaledValue(), CalculateRunningAverage(), ClearEventData(), GetValueM2(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), ProcessEvent(), Product(), RandomizeEventData(), Scale(), ScaledAdd(), SetEventData(), and SmearByResolution().
|
private |
Definition at line 415 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), GetBlockRMS(), operator=(), and ProcessEvBuffer_newreshuffled().
|
private |
Definition at line 394 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), operator=(), ProcessEvBuffer_newreshuffled(), ProcessEvBuffer_oldmock(), and ProcessEvent().
|
private |
Definition at line 381 of file QwMollerADC_Channel.h.
Referenced by AccumulateRunningSum(), AddChannelOffset(), ArcTan(), AssignScaledValue(), Blind(), Blind(), CalculateRunningAverage(), ClearEventData(), ConstructBranchAndVector(), ConstructHistograms(), CopyFrom(), CopyParameters(), FillHistograms(), FillTreeVector(), InitializeChannel(), LoadChannelParameters(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), PrintInfo(), ProcessEvBuffer_oldmock(), ProcessEvent(), Product(), QwMollerADC_Channel(), QwMollerADC_Channel(), RandomizeEventData(), Scale(), ScaledAdd(), SetEventData(), SetHardwareSum(), and SmearByResolution().
|
private |
Definition at line 390 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), EncodeEventData(), FillTreeVector(), operator=(), ProcessEvBuffer_newreshuffled(), and ProcessEvBuffer_oldmock().
|
staticprivate |
Definition at line 356 of file QwMollerADC_Channel.h.
Referenced by ConstructBranchAndVector(), FillTreeVector(), GetChannelsPerModule(), GetDefaultBlocksPerEvent(), GetModuleHeaderWords(), GetWordsPerChannel(), ProcessEvBuffer(), and SetDecodeMode().
|
staticprivate |
Definition at line 363 of file QwMollerADC_Channel.h.
Referenced by SetDecodeMode().
|
private |
check to see ADC channel is saturated
Definition at line 434 of file QwMollerADC_Channel.h.
Referenced by IncrementErrorCounters(), InitializeChannel(), and PrintErrorCounters().
|
private |
check to see ADC returning same HW value
Definition at line 438 of file QwMollerADC_Channel.h.
Referenced by IncrementErrorCounters(), InitializeChannel(), and PrintErrorCounters().
|
private |
for sample size check
Definition at line 435 of file QwMollerADC_Channel.h.
Referenced by IncrementErrorCounters(), InitializeChannel(), and PrintErrorCounters().
|
private |
sequence number check
Definition at line 437 of file QwMollerADC_Channel.h.
Referenced by IncrementErrorCounters(), InitializeChannel(), and PrintErrorCounters().
|
private |
HW_sum==SW_sum check.
Definition at line 436 of file QwMollerADC_Channel.h.
Referenced by IncrementErrorCounters(), InitializeChannel(), and PrintErrorCounters().
|
private |
check to see ADC returning zero
Definition at line 439 of file QwMollerADC_Channel.h.
Referenced by IncrementErrorCounters(), InitializeChannel(), and PrintErrorCounters().
|
private |
Module-based sum of the four sub-blocks.
Definition at line 401 of file QwMollerADC_Channel.h.
Referenced by AccumulateRunningSum(), AddChannelOffset(), ArcTan(), AssignScaledValue(), Blind(), Blind(), ClearEventData(), ConstructBranch(), GetAverageVolts(), GetValue(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), PrintInfo(), ProcessEvent(), Product(), RandomizeEventData(), Scale(), ScaledAdd(), SetEventData(), and SmearByResolution().
|
private |
Module-based sum of the four sub-blocks as read from the module.
Definition at line 388 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), EncodeEventData(), FillTreeVector(), GetRawValue(), operator=(), PrintInfo(), ProcessEvBuffer_newreshuffled(), ProcessEvBuffer_oldmock(), and ProcessEvent().
|
private |
Uncertainty on the hardware sum.
Definition at line 412 of file QwMollerADC_Channel.h.
Referenced by AssignScaledValue(), CalculateRunningAverage(), ClearEventData(), GetValueError(), operator=(), and PrintInfo().
|
private |
Second moment of the hardware sum.
Definition at line 411 of file QwMollerADC_Channel.h.
Referenced by AccumulateRunningSum(), AssignScaledValue(), CalculateRunningAverage(), ClearEventData(), GetValueM2(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), PrintInfo(), ProcessEvent(), Product(), RandomizeEventData(), Scale(), ScaledAdd(), SetEventData(), and SmearByResolution().
|
private |
Definition at line 414 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), GetHardwareSumRMS(), operator=(), and ProcessEvBuffer_newreshuffled().
|
private |
Definition at line 429 of file QwMollerADC_Channel.h.
Referenced by FillTreeVector(), GetHeaderBlockNumber(), InitializeChannel(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), SetHeaderBlockNumber(), and SetMollerADCHeaderData().
|
private |
Definition at line 428 of file QwMollerADC_Channel.h.
Referenced by FillTreeVector(), GetHeaderNumWords(), InitializeChannel(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), SetHeaderNumWords(), and SetMollerADCHeaderData().
|
private |
Definition at line 430 of file QwMollerADC_Channel.h.
Referenced by FillTreeVector(), GetHeaderPacketCount(), InitializeChannel(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), SetHeaderPacketCount(), and SetMollerADCHeaderData().
|
private |
Definition at line 431 of file QwMollerADC_Channel.h.
Referenced by FillTreeVector(), GetHeaderTSamples(), InitializeChannel(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), SetHeaderTSamples(), and SetMollerADCHeaderData().
|
private |
Number of samples read through the module.
Definition at line 425 of file QwMollerADC_Channel.h.
Referenced by ApplyHWChecks(), AssignScaledValue(), ClearEventData(), CopyParameters(), EncodeEventData(), FillTreeVector(), ForceMapfileSampleSize(), GetAverageVolts(), GetNumberOfSamples(), InitializeChannel(), MatchNumberOfSamples(), operator*=(), operator+=(), operator-=(), operator=(), PrintInfo(), ProcessEvBuffer_newreshuffled(), ProcessEvBuffer_oldmock(), ProcessEvent(), Product(), RandomizeEventData(), Ratio(), ScaledAdd(), SetEventData(), and SmearByResolution().
|
private |
Number of samples in the expected to read through the module. This value is set in the QwBeamline map file.
Definition at line 432 of file QwMollerADC_Channel.h.
Referenced by ApplyHWChecks(), CopyFrom(), CopyParameters(), ForceMapfileSampleSize(), InitializeChannel(), ProcessEvBuffer_oldmock(), QwMollerADC_Channel(), QwMollerADC_Channel(), RandomizeEventData(), SetDefaultSampleSize(), SetEventData(), and SmearByResolution().
|
private |
Counts the Event cut rejected events.
Definition at line 441 of file QwMollerADC_Channel.h.
Referenced by IncrementErrorCounters(), InitializeChannel(), and PrintErrorCounters().
|
private |
Previous Module-based sum of the four sub-blocks.
Definition at line 451 of file QwMollerADC_Channel.h.
Referenced by ApplyHWChecks(), and InitializeChannel().
|
private |
Previous event sequence number for this channel.
Definition at line 424 of file QwMollerADC_Channel.h.
Referenced by InitializeChannel().
|
private |
Definition at line 426 of file QwMollerADC_Channel.h.
Referenced by FillTreeVector(), GetRegionNumber(), InitializeChannel(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), SetMollerADCHeaderData(), and SetRegionNumber().
|
private |
Definition at line 427 of file QwMollerADC_Channel.h.
Referenced by FillTreeVector(), GetRegionTimestamp(), InitializeChannel(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), SetMollerADCHeaderData(), and SetRegionTimestamp().
|
private |
absolute value of the MollerADC saturation volt
Definition at line 455 of file QwMollerADC_Channel.h.
Referenced by CopyFrom(), GetMollerADCSaturationLimt(), QwMollerADC_Channel(), QwMollerADC_Channel(), and SetMollerADCSaturationLimt().
|
private |
Internal counter to keep track of the sequence number.
Definition at line 450 of file QwMollerADC_Channel.h.
Referenced by ApplyHWChecks(), and InitializeChannel().
|
private |
Keep the sequence number of the last event.
Definition at line 449 of file QwMollerADC_Channel.h.
Referenced by ApplyHWChecks(), and InitializeChannel().
|
private |
Event sequence number for this channel.
Definition at line 423 of file QwMollerADC_Channel.h.
Referenced by AssignScaledValue(), ClearEventData(), EncodeEventData(), FillTreeVector(), GetSequenceNumber(), MatchSequenceNumber(), operator*=(), operator+=(), operator-=(), operator=(), PrintInfo(), ProcessEvBuffer_oldmock(), Product(), RandomizeEventData(), Ratio(), ScaledAdd(), and SetEventData().
|
private |
Sum of the data in the four sub-blocks raw.
Definition at line 389 of file QwMollerADC_Channel.h.
Referenced by ClearEventData(), GetRawSoftwareSum(), operator=(), PrintInfo(), ProcessEvBuffer_newreshuffled(), and ProcessEvBuffer_oldmock().
|
staticprivate |
Definition at line 350 of file QwMollerADC_Channel.h.
Referenced by ConstructBranch(), and ConstructBranchAndVector().
|
staticconstexprprivate |
Definition at line 354 of file QwMollerADC_Channel.h.
Referenced by InitializeChannel(), LoadChannelParameters(), and ProcessEvBuffer_newreshuffled().
|
staticprivate |
Definition at line 352 of file QwMollerADC_Channel.h.
|
staticprivate |
Definition at line 353 of file QwMollerADC_Channel.h.
Referenced by GetModuleHeaderWords().
|
staticprivate |
Conversion factor to translate the average bit count in an ADC channel into average voltage. The base factor is roughly 76 uV per count, and zero counts corresponds to zero voltage. Store as the exact value for 20 V range, 18 bit ADC.
Definition at line 371 of file QwMollerADC_Channel.h.
Referenced by ApplyHWChecks(), GetAverageVolts(), and SetCalibrationToVolts().
|
staticconstexprprivate |
Definition at line 358 of file QwMollerADC_Channel.h.
Referenced by GetChannelsPerModule().
|
staticconstexprprivate |
Definition at line 360 of file QwMollerADC_Channel.h.
Referenced by GetDefaultBlocksPerEvent().
|
staticconstexprprivate |
Definition at line 362 of file QwMollerADC_Channel.h.
Referenced by GetWordsPerChannel(), and ProcessEvBuffer_newreshuffled().
|
staticconstexprprivate |
Definition at line 357 of file QwMollerADC_Channel.h.
Referenced by GetChannelsPerModule().
|
staticconstexprprivate |
Definition at line 359 of file QwMollerADC_Channel.h.
Referenced by GetDefaultBlocksPerEvent().
|
staticconstexprprivate |
Definition at line 361 of file QwMollerADC_Channel.h.
Referenced by EncodeEventData(), GetWordsPerChannel(), and ProcessEvBuffer_oldmock().
|
static |
Definition at line 59 of file QwMollerADC_Channel.h.
Referenced by RandomizeEventData(), and QwIntegrationPMT::RandomizeMollerEvent().