Gyoto
GyotoMinkowski.h
Go to the documentation of this file.
1 
9 /*
10  Copyright 2014 Thibaut Paumard
11 
12  This file is part of Gyoto.
13 
14  Gyoto is free software: you can redistribute it and/or modify
15  it under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  Gyoto is distributed in the hope that it will be useful,
20  but WITHOUT ANY WARRANTY; without even the implied warranty of
21  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  GNU General Public License for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with Gyoto. If not, see <http://www.gnu.org/licenses/>.
26  */
27 
28 
29 #ifndef __GyotoMinkowski_H_
30 #define __GyotoMinkowski_H_
31 
32 #include <GyotoMetric.h>
33 
34 namespace Gyoto {
35  namespace Metric { class Minkowski; }
36 }
37 
48 {
49  friend class Gyoto::SmartPointer<Gyoto::Metric::Minkowski>;
50 
51  private:
52 
53  public:
54  // This is the bare minimum of what a Metric class must implement:
55  Minkowski();
56  virtual Minkowski* clone() const ;
57  void gmunu(double g[4][4], const double * x) const ;
58  int christoffel(double dst[4][4][4], const double * x) const ;
59  virtual void setParameter(std::string, std::string, std::string);
60 #ifdef GYOTO_USE_XERCES
61  virtual void fillElement(FactoryMessenger *fmp);
62 #endif
63 
64  // Those two are implemented as examples.
65  double gmunu(const double * x, int mu, int nu) const ;
66  double christoffel(const double coord[8], const int alpha, const int mu,
67  const int nu) const ;
68 
69 
70 };
71 
72 #endif
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:51
Base class for metrics.
Definition: GyotoMetric.h:147
virtual void setParameter(std::string, std::string, std::string)
Set parameter by name.
virtual void fillElement(FactoryMessenger *fmp)
called from Factory
The Minkowski flat-space metric.
Definition: GyotoMinkowski.h:46
void gmunu(double g[4][4], const double *x) const
Metric coefficients.
Base class for metric description.
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:42
virtual Minkowski * clone() const
Virtual copy constructor.