OpenStructure
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
stage
include
ost
img
phase.hh
Go to the documentation of this file.
1
//------------------------------------------------------------------------------
2
// This file is part of the OpenStructure project <www.openstructure.org>
3
//
4
// Copyright (C) 2008-2011 by the OpenStructure authors
5
// Copyright (C) 2003-2010 by the IPLT authors
6
//
7
// This library is free software; you can redistribute it and/or modify it under
8
// the terms of the GNU Lesser General Public License as published by the Free
9
// Software Foundation; either version 3.0 of the License, or (at your option)
10
// any later version.
11
// This library is distributed in the hope that it will be useful, but WITHOUT
12
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
14
// details.
15
//
16
// You should have received a copy of the GNU Lesser General Public License
17
// along with this library; if not, write to the Free Software Foundation, Inc.,
18
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
//------------------------------------------------------------------------------
20
21
/*
22
author: Andreas Schenk
23
*/
24
25
26
#ifndef PHASE_HH_
27
#define PHASE_HH_
28
29
#include <boost/operators.hpp>
30
#include <iostream>
31
#include <
ost/img/module_config.hh
>
32
#include <
ost/img/data_types.hh
>
33
34
namespace
ost {
namespace
img {
41
class
DLLEXPORT_OST_IMG_BASE
Phase
:
42
private
boost::equality_comparable<Phase>,
43
private
boost::additive<Phase>,
44
private
boost::multiplicative<Phase, Real>
45
{
46
public
:
47
Phase
():angle_(0){};
48
Phase
(
Real
angle);
49
Phase
(
Complex
comp);
50
operator
Real
()
const
;
52
const
Phase
operator+=(
const
Phase
& rhs);
54
const
Phase
operator-=(
const
Phase
& rhs);
56
Phase
operator-
()
const
;
58
const
Phase
operator*=(
Real
d);
60
const
Phase
operator/=(
Real
d);
61
protected
:
62
Real
reduce(
Real
in);
63
Real
angle_
;
64
};
65
66
DLLEXPORT_OST_IMG_BASE
std::ostream&
operator<<
(std::ostream&,
const
Phase
a);
67
68
}}
//ns
69
70
#endif
/*PHASE_HH_*/
71
85
86
Generated on Mon Nov 5 2012 13:31:02 for OpenStructure by
1.8.1.1