Diana Software
QTriggerTTL.hh
Go to the documentation of this file.
1 #ifndef _Q_TRIGGERTTL_HH_
2 #define _Q_TRIGGERTTL_HH_
3 
12 #include "QTrigger.hh"
13 #include <vector>
14 
16 
17 class QTriggerTTL : public QTrigger{
18  public:
19  QTriggerTTL(const QBaseModule* Reader,const string triglab):QTrigger(Reader,triglab){windowsize=0;samplingFrequency=0;debounce=0;read_parameters=false;triggerAlgo="TTL";}
20 
23 
25 
26  void SetCFGParameters(double trigLevl=5.,bool useDiff = true){
27  triggerLevel=trigLevl;
28  fuseDiff=useDiff;
29  read_parameters=true;
30  }
31 
32  void SetCFGParameters(vector<TString> params){
33  SetCFGParameters(params[0].Atof(),params[1].CompareTo("true",TString::kIgnoreCase)==0);
34  }
35 
36  std::string GetParameters(const bool useDesc=false)const{
37  std::ostringstream out;
38  out.str("");
39  if(useDesc){
40  out<<"TriggerLevel : "<<triggerLevel<<std::endl;
41  out<<"UseDiff : "<<std::boolalpha<<fuseDiff;
42  }else{
43  out<<"[ "<<triggerLevel<<" "<<std::boolalpha<<fuseDiff<<" ]";
44  }
45  return out.str();
46  }
47 
48  void GetParametersFromCFG();
49 
50  void TriggerStream(const vector<double>& stream);
51  void Reset(){};
52 
54  private:
55  double triggerLevel;
57  bool fuseDiff;
58 
59 };
61 
62 #endif
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
Base class for modules.
Definition: QBaseModule.hh:57
Class for triggering signal streams.
Definition: QTriggerTTL.hh:17
ClassDef(QTriggerTTL, 0)
void GetParametersFromCFG()
Definition: QTriggerTTL.cc:11
QTriggerTTL(const QBaseModule *Reader)
Definition: QTriggerTTL.hh:21
double triggerLevel
Definition: QTriggerTTL.hh:55
void TriggerStream(const vector< double > &stream)
Definition: QTriggerTTL.cc:20
void SetCFGParameters(vector< TString > params)
Definition: QTriggerTTL.hh:32
QTriggerTTL(const QBaseModule *Reader, const string triglab)
Definition: QTriggerTTL.hh:19
std::string GetParameters(const bool useDesc=false) const
Definition: QTriggerTTL.hh:36
bool read_parameters
Definition: QTriggerTTL.hh:56
void Reset()
Definition: QTriggerTTL.hh:51
void SetCFGParameters(double trigLevl=5., bool useDiff=true)
Definition: QTriggerTTL.hh:26
Base class for trigger algorithms.
Definition: QTrigger.hh:28
int windowsize
Definition: QTrigger.hh:104
string triggerAlgo
Definition: QTrigger.hh:114
double samplingFrequency
Definition: QTrigger.hh:102
int debounce
Definition: QTrigger.hh:106