57 Omicron(
const string aOptionFile,
const bool aOneChannel,
const unsigned int aGpsRef=0,
const bool aStrict=
false);
87 bool InitSegments(Segments *aInSeg, Segments *aOutSeg=NULL);
102 bool MakeDirectories(
const double aId = 0.0);
128 bool DefineNewChunk(
const unsigned int aTimeStart,
const unsigned int aTimeEnd,
129 const bool aResetPsdBuffer=
false);
137 bool NewChannel(
void);
145 if(aChannelIndex<GetChannelsN())
return triggers[aChannelIndex]->Streams::GetNamePrefix();
155 if(aChannelIndex<GetChannelsN())
return triggers[aChannelIndex]->Streams::GetName();
164 if(chanindex>=0)
return triggers[chanindex]->Streams::GetName();
173 if(chanindex>=0)
return triggers[chanindex]->Streams::GetNativeFrequency();
191 bool LoadData(
double **aDataVector,
unsigned int &aSize);
222 int Condition(
const unsigned int aInVectSize,
double *aInVect,
bool &aIsFlat);
229 long unsigned int Project(
void);
235 bool WriteOutput(
void);
245 bool ExtractTriggers(
double &aTriggerRate);
261 return tile->GetTileSegments(aSnrThreshold, aPadding);
268 return tile->GetFrequencyMin();
275 return tile->GetFrequencyMax();
285 Long64_t FlushTriggers(
void);
298 string WriteTriggers(
const bool aUseLVDir =
false);
304 if(chanindex>=0)
return triggers[chanindex]->Segments::GetN();
342 inline unsigned int GetQN(
void){
return tile->GetQN();};
349 inline double GetQ(
const unsigned int aQindex){
return tile->GetQ(aQindex);};
355 inline unsigned int GetBandN(
const unsigned int aQindex){
return tile->GetBandN(aQindex);};
363 inline double*
GetBands(
const unsigned int aQindex){
return tile->GetBands(aQindex); };
371 return tile->GetBandFrequency(aQindex, aBandIndex);
380 inline unsigned int GetBandTileN(
const unsigned int aQindex,
const unsigned int aBandIndex){
381 return tile->GetBandTileN(aQindex, aBandIndex);
389 inline double GetSnrSqMax(
const unsigned int aQindex){
return tile->GetSnrSqMax(aQindex); };
398 inline double GetTileSnrSq(
const unsigned int aQindex,
const unsigned int aBandIndex,
const unsigned int aTimeTileIndex){
399 return tile->GetTileSnrSq(aQindex, aBandIndex, aTimeTileIndex);
409 inline double GetTileAmplitudeSq(
const unsigned int aQindex,
const unsigned int aBandIndex,
const unsigned int aTimeTileIndex){
410 return tile->GetTileAmplitudeSq(aQindex, aBandIndex, aTimeTileIndex);
420 inline double GetTileAmplitude(
const unsigned int aQindex,
const unsigned int aBandIndex,
const unsigned int aTimeTileIndex){
421 return tile->GetTileAmplitude(aQindex, aBandIndex, aTimeTileIndex);
429 inline long unsigned int GetTileN(
const double aPadding=0.0){
return tile->GetTileN(aPadding);};
440 if(chanindex>=0)
return triggers[chanindex]->GetTriggerN();
453 if(chanindex>=0) spectrum1[chanindex]->Reset();
461 if(chanindex>=0) triggers[chanindex]->TriggerBuffer::Reset();
469 void PrintMessage(
const string aMessage);
474 void PrintStatusInfo(
void);
479 vector <string> GetChannels(
void);
500 if(inject!=NULL)
return inject[0]->GetN();
566 void ReadOptions(
const string aOptFile,
const bool aStrict=
false);
572 void MakeOptions(
void);
579 void MakeFfl(
const unsigned int aGpsRef=0);
585 void MakeTriggers(
void);
590 void MakeTiling(
void);
596 void MakeSpectrum(
const bool aOneChannel);
602 void MakeInjections(
const unsigned int aGpsRef=0);
614 void Whiten(Spectrum *aSpec,
const double aNorm=1.0);
625 void MakeHtmlInit(
void);
633 bool IsFlat(
const unsigned int aInVectSize,
double *aInVect);
639 string GetColorCode(
const double aSnrRatio);
644 void SaveSummary(
void);
649 void SaveOptions(
void);
660 void SaveAPSD(
const string aType);
666 void SaveTS(
const bool aWhite=
false);
Inject sinusoidal Gaussian waveforms.
Omicron tiling structure.
Inject sinusoidal Gaussian waveforms.
Definition: Oinject.h:20
Process data with the Omicron algorithm.
Definition: Oomicron.h:36
unsigned int GetBandTileN(const unsigned int aQindex, const unsigned int aBandIndex)
Returns the number of tiles in a frequency row of given Q-plane.
Definition: Oomicron.h:380
Otile * tile
Tiling structure.
Definition: Oomicron.h:529
Segments * inSegments
Requested segments.
Definition: Oomicron.h:548
unsigned int one_channel
Optimization flag to process one channel at a time.
Definition: Oomicron.h:530
ofstream oinjfile
Output file with omicron injection parameters.
Definition: Oomicron.h:544
struct tm * ptm
GMT time.
Definition: Oomicron.h:511
void SetPlotTimeOffset(const double aTimeOffset)
When time plots are requested in output, a time offset [s] can be added.
Definition: Oomicron.h:312
vector< double > GO_InjFact
List of injection factors.
Definition: Oomicron.h:521
vector< string > chunktfile
save chunk file (only for html)
Definition: Oomicron.h:558
int chanindex
Current channel index (-1 = no channel).
Definition: Oomicron.h:512
string GO_MainDir
Output main directory (original).
Definition: Oomicron.h:518
double GetQ(const unsigned int aQindex)
Returns the Q value of a given q planes.
Definition: Oomicron.h:349
Segments * GetTileSegments(TH1D *aSnrThreshold, const double aPadding)
Returns tile segments.
Definition: Oomicron.h:260
string GO_OutProducts
Output product string.
Definition: Oomicron.h:516
Spectrum ** spectrum2
2nd spectrum structure / channel.
Definition: Oomicron.h:532
string GetChannelName(const unsigned int aChannelIndex)
Returns the name of a given channel.
Definition: Oomicron.h:154
bool GetSgInjectionFlag(void)
Returns the SG injection flag.
Definition: Oomicron.h:494
unsigned int GetInjectionChannelN(void)
Returns the number of injection channels.
Definition: Oomicron.h:489
string GetChannelName(void)
Returns the name of the current channel.
Definition: Oomicron.h:163
unsigned int * chan_write_ctr
Number of WriteOutput() calls /channel.
Definition: Oomicron.h:554
unsigned int GetInjGenN(void)
Returns the total number of InjGen injections.
Definition: Oomicron.h:499
time_t timer_start
Timer start.
Definition: Oomicron.h:510
bool GO_thumb
Flag to produce thumbnails.
Definition: Oomicron.h:524
unsigned int * chan_proj_ctr
Number of Project() calls /channel.
Definition: Oomicron.h:553
fft * offt
FFT plan to FFT the input chunk.
Definition: Oomicron.h:537
unsigned int GetChannelNativeFrequency(void)
Returns the native sampling frequency of the current channel.
Definition: Oomicron.h:172
unsigned int * chan_cond_ctr
Number of Condition() calls /channel.
Definition: Oomicron.h:552
bool GO_InjSg
Flag to perform sine-Gaussian injections.
Definition: Oomicron.h:522
vector< string > GO_InjChan
List of injection channels.
Definition: Oomicron.h:520
bool status_OK
General status.
Definition: Oomicron.h:502
string GetChannelPrefix(const unsigned int aChannelIndex)
Returns the name prefix of a given channel.
Definition: Oomicron.h:144
Segments ** outSegments
Processed segments /channel.
Definition: Oomicron.h:549
unsigned int GetSampleFrequency(void)
Returns the working sampling frequency [Hz].
Definition: Oomicron.h:434
Spectrum ** spectrum1
1st spectrum structure / channel.
Definition: Oomicron.h:531
double GetTileFrequencyMax(void)
Returns the tiling maximum frequency [Hz].
Definition: Oomicron.h:274
double GetTileSnrSq(const unsigned int aQindex, const unsigned int aBandIndex, const unsigned int aTimeTileIndex)
Returns the SNR squared of a given tile.
Definition: Oomicron.h:398
Long64_t GetTriggerN(void)
Returns the current number of triggers in memory for the current channel.
Definition: Oomicron.h:439
vector< TriggerBuffer * > triggers
Output triggers / channel.
Definition: Oomicron.h:528
Omicron(const string aOptionFile, const bool aOneChannel, const unsigned int aGpsRef=0, const bool aStrict=false)
Constructor of the Omicron class.
double GetSnrSqMax(const unsigned int aQindex)
Returns the maximum SNR squared estimated in a given Q plane.
Definition: Oomicron.h:389
void ResetPsdBuffer(void)
Resets the PSD buffer of current channel.
Definition: Oomicron.h:452
double * TukeyWindow
Tukey window.
Definition: Oomicron.h:539
bool GetStatus(void)
Returns class status.
Definition: Oomicron.h:484
ofstream osummaryfile
Output summary file.
Definition: Oomicron.h:543
double GetTileAmplitudeSq(const unsigned int aQindex, const unsigned int aBandIndex, const unsigned int aTimeTileIndex)
Returns the amplitude squared of a given tile.
Definition: Oomicron.h:409
unsigned int GetChannelsN(void)
Returns the number of channels.
Definition: Oomicron.h:317
ffl * FFL
ffl object (NULL if none).
Definition: Oomicron.h:527
double GetTileFrequencyMin(void)
Returns the tiling minimum frequency [Hz].
Definition: Oomicron.h:267
unsigned int * trig_ctr
Number of tiles above snr thr /channel.
Definition: Oomicron.h:555
double * ChunkVect
Chunk raw data (time domain).
Definition: Oomicron.h:538
void ResetTriggerBuffer(void)
Resets the trigger buffer of current channel.
Definition: Oomicron.h:460
double GetSnrThreshold(void)
Returns the SNR threshold used to save triggers.
Definition: Oomicron.h:447
unsigned int GO_Verbosity
Verbosity level.
Definition: Oomicron.h:515
double GetTileAmplitude(const unsigned int aQindex, const unsigned int aBandIndex, const unsigned int aTimeTileIndex)
Returns the amplitude of a given tile.
Definition: Oomicron.h:420
ffl * FFL_inject
FFL for injections.
Definition: Oomicron.h:534
unsigned int GetChunkTimeEnd(void)
Returns the current chunk end time [s].
Definition: Oomicron.h:337
unsigned int GetTriggerSegmentsN(void)
Returns the number of processed segments.
Definition: Oomicron.h:303
unsigned int GetChunkTimeStart(void)
Returns the current chunk start time [s].
Definition: Oomicron.h:332
time_t timer
Timer.
Definition: Oomicron.h:509
InjEct ** inject
Software injections / channel.
Definition: Oomicron.h:535
unsigned int GetOverlapDuration(void)
Returns the overlap duration [s].
Definition: Oomicron.h:327
unsigned int * chan_data_ctr
Number of LoadData() calls /channel.
Definition: Oomicron.h:551
long unsigned int GetTileN(const double aPadding=0.0)
Returns the number of tiles.
Definition: Oomicron.h:429
string GO_OutFormat
Output format string.
Definition: Oomicron.h:517
double GO_RateMax
Maximum trigger rate.
Definition: Oomicron.h:523
Spectrum * spectrumw
Spectrum structure to test whitening.
Definition: Oomicron.h:533
vector< string > outdir
Output directories / channel.
Definition: Oomicron.h:542
Oinject * oinj
Software Oinject injections.
Definition: Oomicron.h:536
vector< unsigned int > chunkcenter
Chunk centers (only for html).
Definition: Oomicron.h:557
void ResetSequence(void)
Resets the time sequence of chunks.
Definition: Oomicron.h:72
unsigned int GetChunkDuration(void)
Returns the chunk duration [s].
Definition: Oomicron.h:322
double toffset
Time offset for plots [s].
Definition: Oomicron.h:545
unsigned int GetBandN(const unsigned int aQindex)
Returns the number of frequency rows of a given Q-plane.
Definition: Oomicron.h:355
double * chan_mapsnrmax
Channel SNR max in maps (only for html)
Definition: Oomicron.h:556
unsigned int GetQN(void)
Returns the number of q planes.
Definition: Oomicron.h:342
double * GetBands(const unsigned int aQindex)
Returns the list of frequency bands.
Definition: Oomicron.h:363
string MainDir
Output main directory.
Definition: Oomicron.h:519
double GetBandFrequency(const unsigned int aQindex, const unsigned int aBandIndex)
Returns the band central frequency [Hz] of a given Q-plane.
Definition: Oomicron.h:370
unsigned int chunk_ctr
Number of called chunks.
Definition: Oomicron.h:550
Construct a time-frequency-Q tiling structure.
Definition: Otile.h:39