Diana Software
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MVariableOperation Class Reference

Perform function on variable. More...

Inheritance diagram for MVariableOperation:

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< ChInfochannelparams
 
std::vector< Int_t > fParamNames
 
std::vector< Int_t > fChannels
 
TString StringParams
 

Detailed Description

Perform function on variable.

Author
Giorgio Del Castello

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

-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.

Member Function Documentation

◆ Do()

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().

◆ Done()

void MVariableOperation::Done ( )

Done method.

Definition at line 364 of file MVariableOperation.cc.

◆ FindParameters()

void MVariableOperation::FindParameters ( TString  instring)
private

Definition at line 254 of file MVariableOperation.cc.

◆ FindQuantities()

vector< Diana::QEventLabel > MVariableOperation::FindQuantities ( TString  instring)
private

Definition at line 185 of file MVariableOperation.cc.

◆ FindVars()

vector< Int_t > MVariableOperation::FindVars ( TString  instring)
private

Definition at line 145 of file MVariableOperation.cc.

◆ GetValue()

double MVariableOperation::GetValue ( Diana::QEventLabel  EvLab,
Diana::QEvent &  ev 
)
private

◆ Init()

void MVariableOperation::Init ( Diana::QEvent &  ev)

Init method.

Definition at line 15 of file MVariableOperation.cc.

References QEvent::Add(), and QEvent::Require().

◆ SetReq()

void MVariableOperation::SetReq ( Diana::QEventLabel  EvLab,
Diana::QEvent &  ev 
)
private

Member Data Documentation

◆ channelparams

std::vector<ChInfo> MVariableOperation::channelparams
private

Definition at line 84 of file MVariableOperation.hh.

◆ fChannels

std::vector<Int_t> MVariableOperation::fChannels
private

Definition at line 86 of file MVariableOperation.hh.

◆ fFunc

TF1 MVariableOperation::fFunc
private

Definition at line 77 of file MVariableOperation.hh.

◆ fFunction

TString MVariableOperation::fFunction
private

Definition at line 76 of file MVariableOperation.hh.

◆ fInputVar

Diana::QEventLabel MVariableOperation::fInputVar
private

Definition at line 73 of file MVariableOperation.hh.

◆ fOtherVars

std::vector<Diana::QEventLabel> MVariableOperation::fOtherVars
private

Definition at line 74 of file MVariableOperation.hh.

◆ fOutputVar

TString MVariableOperation::fOutputVar
private

Definition at line 75 of file MVariableOperation.hh.

◆ fParamNames

std::vector<Int_t> MVariableOperation::fParamNames
private

Definition at line 85 of file MVariableOperation.hh.

◆ StringParams

TString MVariableOperation::StringParams
private

Definition at line 87 of file MVariableOperation.hh.


The documentation for this class was generated from the following files: