![]() |
Diana Software
|
Perform function on variable. More...
Classes | |
| struct | ChInfo |
Public Member Functions | |
| void | Init (Diana::QEvent &ev) |
| Init method. More... | |
| void | Do (Diana::QEvent &ev) |
| Do method. Declare and implement only one of the two versions. More... | |
| void | Done () |
| Done method. More... | |
Private Member Functions | |
| std::vector< Int_t > | FindVars (TString instring) |
| void | FindParameters (TString instring) |
| std::vector< Diana::QEventLabel > | FindQuantities (TString instring) |
| void | SetReq (Diana::QEventLabel EvLab, Diana::QEvent &ev) |
| double | GetValue (Diana::QEventLabel EvLab, Diana::QEvent &ev) |
Private Attributes | |
| Diana::QEventLabel | fInputVar |
| std::vector< Diana::QEventLabel > | fOtherVars |
| TString | fOutputVar |
| TString | fFunction |
| TF1 | fFunc |
| std::vector< ChInfo > | channelparams |
| std::vector< Int_t > | fParamNames |
| std::vector< Int_t > | fChannels |
| TString | StringParams |
Perform function on variable.
Perform a calculation between variables with parameters. Example of expression of function formatting: "x*[0]+[1]+^PulseBasicParameters@MaxMinInWindow&" in this case the [0] and [1] parameters are the ones provided by the user. the variable specified between ^ and & is instead read from the event Example of parameter formatting: "7:{1.3,2},8:{3.67,40}" in this case the integer before ":" specifies the channel number (i.e. 7 and 8 for this example). The floats between "{" and "}" are the parameter values for [0] and [1] for each respective channel
module VariableOperation
enable = true
verbosity = info
Function= [0]*x+[1]
Parameters=""
Channels={...}
Variable= <inputvariable>
OutputVar= <outputvariable>
endmod
-Recommended usage: Use most of the above arguments as command-line arguments to a sequence in order to make the module collable from a higher level analysis process
Definition at line 54 of file MVariableOperation.hh.
| void MVariableOperation::Do | ( | Diana::QEvent & | ev | ) |
Do method. Declare and implement only one of the two versions.
Definition at line 118 of file MVariableOperation.cc.
References QEvent::Get(), and QPulseInfo::GetChannelId().
| void MVariableOperation::Done | ( | ) |
Done method.
Definition at line 364 of file MVariableOperation.cc.
|
private |
Definition at line 254 of file MVariableOperation.cc.
|
private |
Definition at line 185 of file MVariableOperation.cc.
|
private |
Definition at line 145 of file MVariableOperation.cc.
|
private |
Definition at line 76 of file MVariableOperation.cc.
References QEvent::Get(), QBaselineData::GetBaseline(), QBaselineData::GetBaselineFlatRMS(), QBaselineData::GetBaselineIntercept(), QBaselineData::GetBaselineRMS(), QBaselineData::GetBaselineSlope(), QBaselineData::GetBaselineSlopeRMSWindow(), QEvent::GetByLabel(), QEventLabel::GetOwner(), QBaselineData::GetRightBaseline(), QBaselineData::GetRightBaselineInRMS(), QBaselineData::GetRightLeftBaseline(), QBaselineData::GetRightLeftBaselineInRMS(), and QEventLabel::GetStringLabel().
| void MVariableOperation::Init | ( | Diana::QEvent & | ev | ) |
Init method.
Definition at line 15 of file MVariableOperation.cc.
References QEvent::Add(), and QEvent::Require().
|
private |
Definition at line 67 of file MVariableOperation.cc.
References QEventLabel::GetOwner(), QEventLabel::GetStringLabel(), QEvent::Require(), and QEvent::RequireByLabel().
|
private |
Definition at line 84 of file MVariableOperation.hh.
|
private |
Definition at line 86 of file MVariableOperation.hh.
|
private |
Definition at line 77 of file MVariableOperation.hh.
|
private |
Definition at line 76 of file MVariableOperation.hh.
|
private |
Definition at line 73 of file MVariableOperation.hh.
|
private |
Definition at line 74 of file MVariableOperation.hh.
|
private |
Definition at line 75 of file MVariableOperation.hh.
|
private |
Definition at line 85 of file MVariableOperation.hh.
|
private |
Definition at line 87 of file MVariableOperation.hh.