Diana Software
QTriggerNoise.cc
Go to the documentation of this file.
1 #include "QTriggerNoise.hh"
2 #include "QReader.hh"
3 #include <vector>
4 
5 ClassImp(Diana::QTriggerNoise);
6 using std::endl;
7 using std::cout;
9 
11  if(reader==0){
12  cout<<"NO READER PASSED TO TRIGGER"<<endl;
13  exit(-1);
14  }
15 
16  SetCFGParameters(reader->GetDouble(("NoiseRate"+triggerLabel).c_str(),10));
17 }
18 
19 void QTriggerNoise::TriggerStream(const vector<double>& stream){
20  if (!read_parameters){
22  }
23  //empty triggers
24  triggers.clear();
25  triggerHeights.clear();
26 
27  filteredStream=stream;
28 
29  size_t pointsToWait = (size_t) (waitTime*samplingFrequency);
30 
31  if(waitTime!=0. and pointsToWait< stream.size()){ //disable noise acquisitions if waitTime is set to 0 or the points to wait are bigger than the stream size
32  for(size_t i=1; i*pointsToWait<stream.size() ; i++){
33  triggers.push_back((int)(i*pointsToWait));
34  triggerHeights.push_back(-1);
35  }
36  }else{
37  cout<<"Noise triggering deactivated."<<endl;
38  }
39 }
40 
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
ClassImp(Diana::QTriggerNoise)
double GetDouble(const std::string &parname, double defVal, bool warnCfg=true) const
Get a double parameter from config file.
Definition: QBaseModule.cc:184
void SetCFGParameters(double noiserate=10.)
void TriggerStream(const vector< double > &stream)
void GetParametersFromCFG()
vector< int > triggers
Definition: QTrigger.hh:98
double samplingFrequency
Definition: QTrigger.hh:102
string triggerLabel
Definition: QTrigger.hh:112
vector< double > triggerHeights
Definition: QTrigger.hh:99
vector< double > filteredStream
Definition: QTrigger.hh:100
const QBaseModule * reader
Definition: QTrigger.hh:110