Commit fb04d07b authored by thomas.forbriger's avatar thomas.forbriger Committed by thomas.forbriger
Browse files

started seifeclass

This is a legacy commit from before 2015-03-01.
It may be incomplete as well as inconsistent.
See COPYING.legacy and README.history for details.


SVN Path:     http://gpitrsvn.gpi.uni-karlsruhe.de/repos/TFSoftware/trunk
SVN Revision: 1805
SVN UUID:     67feda4a-a26e-11df-9d6e-31afc202ad0c
parent d213594a
# this is <Makefile>
# ----------------------------------------------------------------------------
# $Id: Makefile,v 1.7 2005-07-04 15:58:37 tforb Exp $
# $Id: Makefile,v 1.8 2005-07-04 16:19:24 tforb Exp $
#
# Copyright (c) 2003 by Thomas Forbriger (BFO Schiltach)
#
......@@ -12,9 +12,7 @@
# ============================================================================
HEADERS=$(shell find . -name \*.h)
#SRC=misc/fortranio.cc misc/commandline.cc misc/ioswap.cc misc/error.cc \
# misc/blitzfortranio.cc hacks/hack_blitztogrepg.cc
LIBSRC=tsxx.cc filter.cc seifexx.cc
LIBSRC=tsxx.cc filter.cc seifexx.cc seifeclass.cc
INCINSTALLPATH=$(LOCINCLUDEDIR)/tsxx
LIBINSTALLPATH=$(LOCLIBDIR)
......
/*! \file seifeclass.cc
* \brief provide all needed to use BasicFilter with seife code (implementation)
*
* ----------------------------------------------------------------------------
*
* $Id: seifeclass.cc,v 1.1 2005-07-04 16:19:24 tforb Exp $
* \author Thomas Forbriger
* \date 04/07/2005
*
* provide all needed to use BasicFilter with seife code (implementation)
*
* Copyright (c) 2005 by Thomas Forbriger (BFO Schiltach)
*
* REVISIONS and CHANGES
* - 04/07/2005 V1.0 Thomas Forbriger
*
* ============================================================================
*/
#define TF_SEIFECLASS_CC_VERSION \
"TF_SEIFECLASS_CC V1.0 "
#define TF_SEIFECLASS_CC_CVSID \
"$Id: seifeclass.cc,v 1.1 2005-07-04 16:19:24 tforb Exp $"
#include <tsxx/seifeclass.h>
namespace ts {
namespace seife {
} // namespace seife
} // namespace ts
/* ----- END OF seifeclass.cc ----- */
/*! \file seifeclass.h
* \brief provide all needed to use BasicFilter with seife code (prototypes)
*
* ----------------------------------------------------------------------------
*
* $Id: seifeclass.h,v 1.1 2005-07-04 16:19:24 tforb Exp $
* \author Thomas Forbriger
* \date 04/07/2005
*
* provide all needed to use BasicFilter with seife code (prototypes)
*
* Copyright (c) 2005 by Thomas Forbriger (BFO Schiltach)
*
* REVISIONS and CHANGES
* - 04/07/2005 V1.0 Thomas Forbriger
*
* ============================================================================
*/
// include guard
#ifndef TF_SEIFECLASS_H_VERSION
#define TF_SEIFECLASS_H_VERSION \
"TF_SEIFECLASS_H V1.0 "
#define TF_SEIFECLASS_H_CVSID \
"$Id: seifeclass.h,v 1.1 2005-07-04 16:19:24 tforb Exp $"
#include<tsxx/seifexx.h>
#include<tsxx/filter.h>
namespace ts {
namespace seife {
/*! Butterworth lowpass (period t0, order o) */
class LPB: public BasicFilter {
public:
LPB(const Tseries& s, double dt, double t0, int o):
Mt0(t0), Mo(o) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0;
int Mo;
}; // class LPB
/*! Butterworth highpass (period t0, order o) */
class HPB: public BasicFilter {
public:
HPB(const Tseries& s, double dt, double t0, int o):
Mt0(t0), Mo(o) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0;
int Mo;
}; // class HPB
/*! 2nd order lowpass (period t0, damping h) */
class LP2: public BasicFilter {
public:
LP2(const Tseries& s, double dt, double t0, double h):
Mt0(t0), Mh(h) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0, Mh;
}; // class LP2
/*! 2nd order highpass (period t0, damping h) */
class HP2: public BasicFilter {
public:
HP2(const Tseries& s, double dt, double t0, double h):
Mt0(t0), Mh(h) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0, Mh;
}; // class HP2
/*! 2nd order bandpass (period t0, damping h) */
class BP2: public BasicFilter {
public:
BP2(const Tseries& s, double dt, double t0, double h):
Mt0(t0), Mh(h) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0, Mh;
}; // class BP2
/*! 1st order lowpass (period t0) */
class LP1: public BasicFilter {
public:
LP1(const Tseries& s, double dt, double t0):
Mt0(t0) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0;
}; // class LP1
/*! 1st order highpass (period t0) */
class HP1: public BasicFilter {
public:
HP1(const Tseries& s, double dt, double t0):
Mt0(t0) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0;
}; // class HP1
/*! integration (time constant t0) */
class INT: public BasicFilter {
public:
INT(const Tseries& s, double dt, double t0):
Mt0(t0) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0;
}; // class INT
/*! 1st order highpass equalizer (former period t0s, new period t0) */
class HE1: public BasicFilter {
public:
HE1(const Tseries& s, double dt, double t0s, double t0):
Mt0s(t0s), Mt0(t0) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0s, Mt0;
}; // class HE1
/*! 1st order lowpass equalizer (former period t0s, new period t0) */
class LE1: public BasicFilter {
public:
LE1(const Tseries& s, double dt, double t0s, double t0):
Mt0s(t0s), Mt0(t0) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0s, Mt0;
}; // class LE1
/*! 2nd order highpass equalizer (former: period t0s and damping hs,
* new: period t0 and damping h)
*/
class HE2: public BasicFilter {
public:
HE2(const Tseries& s, double dt,
double t0s, double hs, double t0, double h):
Mt0s(t0s), Mhs(hs), Mt0(t0), Mh(h) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0s, Mhs;
double Mt0, Mh;
}; // class HE2
/*! 2nd order lowpass equalizer (former: period t0s and damping hs,
* new: period t0 and damping h)
*/
class LE2: public BasicFilter {
public:
LE2(const Tseries& s, double dt,
double t0s, double hs, double t0, double h):
Mt0s(t0s), Mhs(hs), Mt0(t0), Mh(h) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0s, Mhs;
double Mt0, Mh;
}; // class LE2
/*! detide with synthetic tides interpolated over ni samples */
class TID: public BasicFilter {
public:
TID(const Tseries& s, double dt, int ni):
Mni(ni) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
int Mni;
}; // class TID
/*! derivative (time constant t0) */
class DIF: public BasicFilter {
public:
DIF(const Tseries& s, double dt, double t0):
Mt0(t0) { }
Ttimeseries operator()(const Ttimeseries; s) const;
private:
double Mt0;
}; // class DIF
/*! set baseline to first value */
class FIRST: public BasicFilter {
public:
Ttimeseries operator()(const Ttimeseries; s) const;
}; // class FIRST
} // namespace seife
} // namespace ts
#endif // TF_SEIFECLASS_H_VERSION (includeguard)
/* ----- END OF seifeclass.h ----- */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment