Process data with the Omicron algorithm. More...
#include <Omicron.h>

Public Member Functions | |
| int | ConditionVector (const int aChNumber, const int aInVectSize, double *aInVect) |
| Conditions a data vector. | |
| vector< string > | GetChannelList (void) |
| Returns list of channels to process. | |
| int | GetChunkDuration (void) |
| Returns chunk duration [s]. | |
| int | GetOverlapDuration (void) |
| Returns overlap duration [s]. | |
| int | GetSampleFrequency (void) |
| Returns working sampling frequency [Hz]. | |
| int | GetSegmentDuration (void) |
| Returns segment/block duration [s]. | |
| bool | GetStatus (void) |
| Returns class status. | |
| bool | InitSegments (Segments *aSeg) |
| Initialize the segments to process. | |
| bool | MakeDirectories (const double aGPS=0) |
| Create the output directory structure. | |
| bool | MakeMaps (const int aChNumber, const double aTimeCenter) |
| Projects conditioned data onto the tiles and fills the maps structure. | |
| int | MakeTriggers (const int aChNumber) |
| Projects conditioned data onto the tiles and fills the Triggers structure. | |
| bool | NewChunk (void) |
| Load a new chunk. | |
| void | PrintStatusInfo (void) |
| Prints a progress report of the processing. | |
| bool | Process (Segments *aSeg) |
| Runs the full trigger analysis of data segments. | |
| bool | Scan (const double aTimeCenter) |
| Runs the full scan analysis of a GPS time. | |
| bool | ScanReport (const string aScanDir="") |
| Create a html report for a scan. | |
| bool | ScanTriggers (const double aTimeCenter) |
| To be documented. | |
| bool | WriteMaps (void) |
| Writes current maps to disk. | |
| bool | WriteTriggers (const int aChNumber) |
| Writes triggers to disk. | |
Constructors and destructors | |
| Omicron (const string aOptionFile) | |
| Constructor of the Omicron class. | |
| virtual | ~Omicron (void) |
| Destructor of the Omicron class. | |
Process data with the Omicron algorithm.
An introduction to Omicron is available: Omicron introduction
This class was designed to offer various ways to run Omicron methods; either step-by step or in a all-in-one way. If the algorithm remains the same, Omicron provides two different outputs: triggers or maps. The triggers corresponds to tiles with a SNR value above a given threshold . The maps are a time-frequency decomposition of the input signal. Triggers are produced with the Process() method while maps are obtained with the Scan() method.
| Omicron::Omicron | ( | const string | aOptionFile | ) |
Constructor of the Omicron class.
This constructor initializes all the components to run Omicron: data structures, data streams, tiling, triggers, maps, injections, monitoring, etc. An option file is required to define all the parameters to run Omicron. For more details about Omicron configuration, see this page.
The Omicron class offers a wrapping functions (see Process() and Scan()) where every analysis steps are included. Omicron can also be used piece-by-piece for tailored applications (like a low-latency searches where data are provided sequentially when they are available). In this case, the option file can be minimal.
| aOptionFile | path to the option file |
| Omicron::~Omicron | ( | void | ) | [virtual] |
Destructor of the Omicron class.
| int Omicron::ConditionVector | ( | const int | aChNumber, | |
| const int | aInVectSize, | |||
| double * | aInVect | |||
| ) |
Conditions a data vector.
| aInVect | input data vector (time domain) |
Before projecting the data onto the tiles, the data are conditioned with this funtion. The input data chunk is first re-sampled. Then the data is used to estimate the noise (PSD). Finally, the data segments are normalized by the ASD.
IMPORTANT: The input vector MUST MATCH the current chunk segment loaded with NewChunk(). NO check will be performed against that!
The user must provide information about the data vector given in argument:
| aChNumber | channel number as previously declared (indexing starts at 0) | |
| aInVectSize | number of samples in the input vector |
If the returned integer value is negative, it means that a fatal error occured and the Omicron object got corrupted. If it is positive, it means that the conditioning ran into some errors but the Omicron object is still valid. If it is 0, the conditioning ended correctly.
| vector<string> Omicron::GetChannelList | ( | void | ) | [inline] |
Returns list of channels to process.
| int Omicron::GetChunkDuration | ( | void | ) | [inline] |
Returns chunk duration [s].
| int Omicron::GetOverlapDuration | ( | void | ) | [inline] |
Returns overlap duration [s].
| int Omicron::GetSampleFrequency | ( | void | ) | [inline] |
Returns working sampling frequency [Hz].
| int Omicron::GetSegmentDuration | ( | void | ) | [inline] |
Returns segment/block duration [s].
| bool Omicron::GetStatus | ( | void | ) | [inline] |
Returns class status.
| bool Omicron::InitSegments | ( | Segments * | aSeg | ) |
Initialize the segments to process.
This function should be called before any type of processing.
WARNING: the input segment object is not copied, only the pointer is saved. This means that the Segments structure pointed by aSeg should not be modified or deleted before the end of the processing.
| *aSeg | pointer to the input Segments structure |
| bool Omicron::MakeDirectories | ( | const double | aGPS = 0 |
) |
Create the output directory structure.
Two directory structures are possible:
where [path_to_outdir] is the output directory specified by the user in the option file and [channel_name] is the channel name being processed.
The GPS value is rounded to the ms digit.
If this function is never called, all the output is dumped in the output directory specified by the user in the option file.
| aGPS | GPS time |
| bool Omicron::MakeMaps | ( | const int | aChNumber, | |
| const double | aTimeCenter | |||
| ) |
Projects conditioned data onto the tiles and fills the maps structure.
This function only projects the first data segment of the current chunk onto the tiles. Maps are saved in memory. A time offset is applied to set the origin to aTimeCenter. The following maps are made:
| aChNumber | channel number as previously declared (indexing starts at 0) | |
| aTimeCenter | GPS time where to set the time origin |
| int Omicron::MakeTriggers | ( | const int | aChNumber | ) |
Projects conditioned data onto the tiles and fills the Triggers structure.
It returns the current number of triggers in memory. -1 is returned if this function fails.
| aChNumber | channel number as previously declared (indexing starts at 0) |
| bool Omicron::NewChunk | ( | void | ) |
Load a new chunk.
The chunks are loaded following the structure defined in the option file and the Segments object defined with InitSegments(). When there is not enough data to fill one chunk (end of a segment), the chunk duration is shortened. This function should be called iteratively to cover the full data set. The segmentation is detailed in Odata. The returned value indicates the status of this operation:
| void Omicron::PrintStatusInfo | ( | void | ) |
Prints a progress report of the processing.
| bool Omicron::Process | ( | Segments * | aSeg | ) |
Runs the full trigger analysis of data segments.
This function runs the Omicron algorithm over the data defined by the input segments. The data are segmented, conditioned, projected on the tiling structure and resulting triggers are saved on disk. This function calls the following sequence of Omicron functions:
This function is only available if a FFL structure has been previously declared.
| aSeg | Segments to process. |
| bool Omicron::Scan | ( | const double | aTimeCenter | ) |
Runs the full scan analysis of a GPS time.
This function runs the Omicron algorithm over the data defined by a central time. The data are conditioned, projected on the tiling structure and resulting maps are saved on disk. This function calls the following sequence of Omicron functions:
This function is only available if a FFL structure has been previously declared.
| aTimeCenter | central time of the maps |
| bool Omicron::ScanReport | ( | const string | aScanDir = "" |
) |
Create a html report for a scan.
| aScanDir | path to scan directory |
| bool Omicron::ScanTriggers | ( | const double | aTimeCenter | ) |
To be documented.
| aTimeCenter | central time of the maps |
| bool Omicron::WriteMaps | ( | void | ) |
Writes current maps to disk.
The maps built with MakeMaps() are saved to disk with the formats defined in Omicron(). When graphical formats are selected, an additional file is saved on disk: '[channel]_mapsummary.root'. This file contains a TTree summarizing the properties of the maps.
In addition to maps, some complementary plots are also saved (graphical formats only):
| bool Omicron::WriteTriggers | ( | const int | aChNumber | ) |
Writes triggers to disk.
After being saved, triggers are flushed out of memory. Triggers cannot be saved if the maximum number of trigger limit has been reached.
| aChNumber | channel number as previously declared (indexing starts at 0) |
1.6.1