GWOLLUM  4.2.0
Tools for gravitational-wave analyses
MakeTriggers.h
Go to the documentation of this file.
1 
7 #ifndef __MakeTriggers__
8 #define __MakeTriggers__
9 
10 #include "GwollumOptions.h"
11 #include "Streams.h"
12 #include "Triggers.h"
13 
14 using namespace std;
15 
30 class MakeTriggers: public Triggers, public Segments , public Streams, public GwollumOptions {
31 
32  public:
33 
49  MakeTriggers(const string aStreamName, const unsigned int aVerbose=0);
50 
54  virtual ~MakeTriggers(void);
68  void Reset(void);
69 
96  string Write(const string aOutDir=".",
97  const string aFileFormat="",
98  const string aFileName="",
99  const string aSubDir="",
100  const string aWriteMode="RECREATE",
101  const bool aWriteMeta=true);
102 
109  bool WriteMetaData(void);
110 
115  inline void SetProcessName(const string aProcessName){
116  Mprocessname = aProcessName;
117  };
118 
123  inline void SetProcessVersion(const string aProcessVersion){
124  Mprocessversion = aProcessVersion;
125  };
126 
127  protected:
128 
129  // METADATA
130  TTree *Mtree;
131  string Mprocessname;
133  string Mprocessuser;
134  double Mstart;
135  double Mend;
136  double Mfmin;
137  double Mfmax;
138  double Mqmin;
139  double Mqmax;
140  double Msnrmin;
141  double Msnrmax;
142 
143  private:
144 
148  typedef struct h5_triggers{
149  double h5_time;
150  double h5_freq;
151  double h5_snr;
152  double h5_q;
153  double h5_amp;
154  double h5_ph;
155  double h5_tstart;
156  double h5_tend;
157  double h5_fstart;
158  double h5_fend;
159  } h5_triggers;
160 
164  typedef struct h5_segments{
165  double h5_start;
166  double h5_end;
167  } h5_segments;
168 
172  H5::CompType *h5_type;
173 
177  H5::CompType *h5_type_s;
178 
183  void WriteHDF5(const string aFileName);
184 
189  void WriteTXT(const string aFileName);
190 
196  void GetMetaSegment(double &aStart, double &aStop);
197 
198  ClassDef(MakeTriggers,0)
199 };
200 
201 #endif
202 
203 
Interface to manage options.
Data stream identifier.
Manage a trigger set.
Interface to manage options.
Definition: GwollumOptions.h:433
Write triggers to disk.
Definition: MakeTriggers.h:30
TTree * Mtree
Metadata tree.
Definition: MakeTriggers.h:125
double Mfmax
Meta maximum fend.
Definition: MakeTriggers.h:137
string Mprocessversion
Meta process version.
Definition: MakeTriggers.h:132
double Msnrmin
Meta minimum SNR.
Definition: MakeTriggers.h:140
double Mend
Meta end time.
Definition: MakeTriggers.h:135
void SetProcessVersion(const string aProcessVersion)
Sets the version for this process.
Definition: MakeTriggers.h:123
MakeTriggers(const string aStreamName, const unsigned int aVerbose=0)
Constructor of the MakeTriggers class.
double Msnrmax
Meta maximum SNR.
Definition: MakeTriggers.h:141
string Mprocessuser
Meta user name.
Definition: MakeTriggers.h:133
H5::CompType * h5_type
Datatype for hdf5 (triggers).
Definition: MakeTriggers.h:172
double Mqmax
Meta maximum Q.
Definition: MakeTriggers.h:139
double Mfmin
Meta minimum fstart.
Definition: MakeTriggers.h:136
double Mqmin
Meta minimum Q.
Definition: MakeTriggers.h:138
string Mprocessname
Meta process name.
Definition: MakeTriggers.h:131
void SetProcessName(const string aProcessName)
Set the process name.
Definition: MakeTriggers.h:115
double Mstart
Meta start time.
Definition: MakeTriggers.h:134
H5::CompType * h5_type_s
Datatype for hdf5 (segments).
Definition: MakeTriggers.h:177
Manage time segment lists.
Definition: Segments.h:28
Manage streams.
Definition: Streams.h:22
Manage a trigger set.
Definition: Triggers.h:27
Segment structure for hdf5.
Definition: MakeTriggers.h:164
double h5_end
Definition: MakeTriggers.h:166
double h5_start
Definition: MakeTriggers.h:165
Trigger structure for hdf5.
Definition: MakeTriggers.h:148
double h5_fstart
Definition: MakeTriggers.h:157
double h5_snr
Definition: MakeTriggers.h:151
double h5_tstart
Definition: MakeTriggers.h:155
double h5_amp
Definition: MakeTriggers.h:153
double h5_ph
Definition: MakeTriggers.h:154
double h5_q
Definition: MakeTriggers.h:152
double h5_tend
Definition: MakeTriggers.h:156
double h5_freq
Definition: MakeTriggers.h:150
double h5_fend
Definition: MakeTriggers.h:158
double h5_time
Definition: MakeTriggers.h:149