GSE++ library: reading and writing GSE waveforms
gsexx.h File Reference

GSE++ library: read and write GSE waveform data (prototypes). More...

#include <string>
#include <iostream>
Include dependency graph for gsexx.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  GSE2::Terror
 Base class for all exceptions in this module. More...
 
class  GSE2::waveform::TWID2
 A class to hold and manage the WID2-line. This is a struct - because it is a simple collection of fields together with a few formatting functions. More...
 
class  GSE2::waveform::TSTA2
 A class to hold and manage the STA2-line. More...
 
class  GSE2::waveform::TCHK2
 A class for the cumulative calculation of checksums. More...
 
class  GSE2::waveform::differences::Tapply_diff
 Elementary operator to calculate differences. More...
 
class  GSE2::waveform::differences::Tremove_diff
 Elementary operator to calculate the sum, which removes differences. More...
 
class  GSE2::waveform::differences::Tdiff_operator< n, OP >
 Template to apply or remove differences of any order n. More...
 
class  GSE2::waveform::differences::Tdiff_operator< 0, OP >
 Template specialization for order zero. More...
 
class  GSE2::waveform::TDAT2sum
 Handle checksum and sample count. More...
 
class  GSE2::waveform::TDAT2read
 Abstract base class for reading GSE2 waveform data. More...
 
class  GSE2::waveform::TDAT2write
 Abstract base class for writing GSE2 waveform data. More...
 
class  GSE2::waveform::TDAT2readCM6
 Derived class for reading CM6 subformat data. More...
 
class  GSE2::waveform::TDAT2writeCM6
 Derived class for writing CM6 subformat data. More...
 

Namespaces

 GSE2
 All stuff defined by the GSE2 standard.
 
 GSE2::waveform
 All waveform related stuff.
 
 GSE2::waveform::differences
 Stuff to apply and remove first, second and higher differences.
 

Macros

#define TF_GSEXX_H_VERSION   "TF_GSEXX_H V1.5"
 
#define TF_GSEXX_H_CVSID   "$Id$"
 

Typedefs

typedef int GSE2::waveform::intT
 All GSE2 waveform data is based on 4 byte integers. More...
 
typedef differences::Tdiff_operator< 1, differences::Tapply_diff > GSE2::waveform::apply1stdiffT
 Operator to apply first differences. More...
 
typedef differences::Tdiff_operator< 2, differences::Tapply_diff > GSE2::waveform::apply2nddiffT
 Operator to apply second differences. More...
 
typedef differences::Tdiff_operator< 1, differences::Tremove_diff > GSE2::waveform::remove1stdiffT
 Operator to remove first differences. More...
 
typedef differences::Tdiff_operator< 2, differences::Tremove_diff > GSE2::waveform::remove2nddiffT
 Operator to remove second differences. More...
 

Enumerations

enum  GSE2::waveform::Esubformat {
  GSE2::waveform::SF_INT, GSE2::waveform::SF_CM6, GSE2::waveform::SF_CM8, GSE2::waveform::SF_AUT,
  GSE2::waveform::SF_AU6, GSE2::waveform::SF_AU8
}
 Possible subformats of waveform data. More...
 

Functions

template<class C >
bool GSE2::GSEIDmatch (const std::string &line)
 Check GSE identifier at beginning of line. More...
 

Detailed Description

GSE++ library: read and write GSE waveform data (prototypes).


$Id$

Author
Thomas Forbriger
Date
16/03/2002

GSE++ library: read and write GSE waveform data (prototypes)

Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)

libgsexx is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

REVISIONS and CHANGES

  • 16/03/2002 V1.0 Thomas Forbriger
  • 26/12/2003 V1.1 final checksum is defined to be absolute value
  • 28/04/2006 V1.2 classes that use virtual functions require the definition of an explicit virtual destructor
  • 24/07/2006 V1.3 provide milliseconds precision !! interface has changed: field Fseconds is removed from TWID2
  • 11/11/2009 V1.4
    - abs is not overloaded for int in header cmath
    • !! interface has changed: Terror now uses string class
  • 06/12/2011 V1.5 introduced some code for debugging second differences

Definition in file gsexx.h.