Gyoto
GyotoBlackBodySpectrum.h
Go to the documentation of this file.
1 
11 /*
12  Copyright 2011 Thibaut Paumard
13 
14  This file is part of Gyoto.
15 
16  Gyoto is free software: you can redistribute it and/or modify
17  it under the terms of the GNU General Public License as published by
18  the Free Software Foundation, either version 3 of the License, or
19  (at your option) any later version.
20 
21  Gyoto is distributed in the hope that it will be useful,
22  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24  GNU General Public License for more details.
25 
26  You should have received a copy of the GNU General Public License
27  along with Gyoto. If not, see <http://www.gnu.org/licenses/>.
28  */
29 
30 #ifndef __GyotoBlackBodySpectrum_H_
31 #define __GyotoBlackBodySpectrum_H_
32 #include "GyotoSpectrum.h"
33 
34 namespace Gyoto {
35  namespace Spectrum {
36  class BlackBody;
37  }
38 }
39 
56  friend class Gyoto::SmartPointer<Gyoto::Spectrum::BlackBody>;
57  protected:
58  double T_;
59  double cst_;
60  double Tm1_;
61 
62  public:
63  BlackBody();
64 
68  BlackBody(double T, double scaling=1.);
69  virtual BlackBody * clone() const;
70 
71  double getTemperature() const;
72  void setTemperature(double);
73  double getScaling() const;
74  void setScaling(double);
75 
76  using Gyoto::Spectrum::Generic::operator();
77  virtual double operator()(double nu) const;
78 
79 #ifdef GYOTO_USE_XERCES
80  virtual void setParameter(std::string name,
81  std::string content,
82  std::string unit);
83 
84  virtual void fillElement(FactoryMessenger *fmp) const ;
85 #endif
86 };
87 
88 #endif