rl_raylib  1.1.10
rl_DielectricPODArray.h
1 #ifndef rl_DielectricPODArray_h_INCLUDED
2 #define rl_DielectricPODArray_h_INCLUDED
3 
4 // File: rl_DielectricPODArray.h
5 // Author: Terry Gaetz
6 
7 /* --8<--8<--8<--8<--
8  *
9  * Copyright (C) 2006, 2007 Smithsonian Astrophysical Observatory
10  *
11  * This file is part of rl_raylib
12  *
13  * rl_raylib is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  *
18  * rl_raylib is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the
25  * Free Software Foundation, Inc.
26  * 51 Franklin Street, Fifth Floor
27  * Boston, MA 02110-1301, USA
28  *
29  * -->8-->8-->8-->8-- */
30 
31 /****************************************************************************
32  * Note : (1-alpha) is real part of complex dielectric constant
33  * (-gamma) is imag part of complex dielectric constant
34  */
35 
36 #include <cstddef> // size_t
37 #include <rl_raylib/rl_Traits.h> // rl_Traits::rl_DielectricPOD
38 #include <rl_raylib/rl_Exception.h> // rl_Exception
39 
40 //########################################################################
41 // rl_DielectricPODArray
42 //########################################################################
43 //
58 {
59 protected:
60 
62  size_t nelts_;
65 
66 public:
67 
72 
80 
89  rl_DielectricPODArray( size_t nelts,
90  double const* energy,
91  double const* alpha,
92  double const* gamma );
93 
100  rl_DielectricPODArray( size_t nelts,
102  );
103 
116  void
117  init( size_t nelts,
118  double const* energy,
119  double const* alpha,
120  double const* gamma );
121 
132  void
133  init( size_t nelts,
135 
141  size_t num_elts() const;
142 
149 
163  void cprint_on( std::FILE* of, char const pre[] = "",
164  char const pst[] = "" ) const;
165 };
166 
167 inline size_t rl_DielectricPODArray::
168 num_elts() const
169 { return nelts_; }
170 
173 { return data_; }
174 
175 // rl_DielectricPODArray_h_INCLUDED
176 #endif
rl_Traits::rl_DielectricPOD const * const_data_ptr() const
Accessor.
rl_Traits::rl_DielectricPOD * data_
pointer to the data
void init(size_t nelts, double const *energy, double const *alpha, double const *gamma)
Initializer.
size_t nelts_
number of dielectric decrements read in
A class encapsulating an array of rl_DielectricPODs storing the dielectric contants as a function of ...
size_t num_elts() const
Accessor.
void cprint_on(std::FILE *of, char const pre[]="", char const pst[]="") const
Accessor.
rl_DielectricPODArray()
Default constructor.