18 cout<<
"NO READER PASSED TO TRIGGER"<<endl;
43 if(npoints<1) npoints=1;
50 for(
size_t i = stream.size()-1; i > 0; i--){
51 pulse[i] =(double)( stream[i] - stream[i-1] );
57 for(
size_t i =0; i<pulse.
Size();i++){
58 if(i<pulse.
Size()-npoints){
59 pulse[i] = pulse.
Sum(npoints,i);
67 for(
int i = (
int)pulse.
Size()-1; i>-1;i--){
69 pulse[i] = pulse.
GetMean(npoints,i-npoints);
79 if((
size_t)(4*step)>pulse.
Size()){
84 std::set<double> rmsss;
85 for(
size_t i =0; i<pulse.
Size()-step;i+=step){
92 if(rms_new<=rms and rms_new>0){
95 if (rms_new>0)rmsss.insert(rms_new);
97 std::set<double>::const_iterator it=rmsss.cbegin();
98 std::advance(it,rmsss.size()/2);
100 if (rmsss.size()%2==0){
101 median = (median + *std::prev(it))/2;
104 for (
size_t i =0 ; i < pulse.
Size();i++){
108 size_t first_trig=pulse.
Size()+1;
109 size_t prev_trig=first_trig;
112 for(
size_t i=0; i<pulse.
Size();i++){
114 if(first_trig==pulse.
Size()+1){
117 }
else if (i==prev_trig+1){
119 }
else if(i>prev_trig+1){
124 if((i==prev_trig+1 and pulse[i]<
triggerLevel*
rms) or (i == pulse.
Size()-1 and i ==prev_trig)){
127 for(
size_t j = first_trig; j<=prev_trig;j++){
139 triggers.push_back((
int)sample-triggerDelay);
143 for(
size_t j =first_trig; j<=prev_trig;j++){
154 triggers.push_back((
int)sample-triggerDelay);
#define Q_BEGIN_NAMESPACE
ClassImp(Diana::QTriggerBULLDAQ)
double GetDouble(const std::string &parname, double defVal, bool warnCfg=true) const
Get a double parameter from config file.
void GetParametersFromCFG()
void TriggerStream(const vector< double > &stream)
void SetCFGParameters(double trigLevl=5., double cutoff=50.)
vector< double > triggerHeights
vector< double > filteredStream
const QBaseModule * reader
Interface for vectors in Diana analysis.
UInt_t Size() const
size of QVector
double GetMean(const UInt_t nelem, const UInt_t first=0) const
Get Mean.
QVector GetSubVector(UInt_t size, UInt_t start=0, UInt_t stride=1)
double GetRMS(const UInt_t nelem, const UInt_t first=0) const
Get RMS.
double Sum(UInt_t nelem, UInt_t first=0) const
sum elements