-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTransducingLayer.h
45 lines (38 loc) · 1.27 KB
/
TransducingLayer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef JMG_TRANSDUCING_LAYER_H
#define JMG_TRANSDUCING_LAYER_H
#include <iostream>
#include <string>
class TransducingLayer
{
public:
TransducingLayer() :
_reflectivity(0.0),
_absorption_length(7.6e-9),
_mass_specific_heat_capacity(0.91),
_mass_density(2.70),
_poissons_ratio(0.334),
_linear_expansion_coefficient(23e-6) {}
TransducingLayer(double reflectivity,
double absorption_length,
double mass_specific_heat_capacity,
double mass_density,
double poissons_ratio,
double linear_expansion_coefficient) :
_reflectivity(reflectivity),
_absorption_length(absorption_length),
_mass_specific_heat_capacity(mass_specific_heat_capacity),
_mass_density(mass_density),
_poissons_ratio(poissons_ratio),
_linear_expansion_coefficient(linear_expansion_coefficient) {}
double absorption_length() const { return _absorption_length; }
double CalculateStrainFactor() const;
void PrintParameters(std::ostream & out = std::cout, std::string tag = "") const;
private:
double _reflectivity; // R
double _absorption_length; // zeta (m)
double _mass_specific_heat_capacity; // C (J/g/K)
double _mass_density; // rho (g/cm3)
double _poissons_ratio; // nu
double _linear_expansion_coefficient; // beta
};
#endif