SND@LHC Software
Loading...
Searching...
No Matches
MaterialProperties.h
Go to the documentation of this file.
1/* Copyright 2008-2010, Technische Universitaet Muenchen,
2 Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3
4 This file is part of GENFIT.
5
6 GENFIT is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published
8 by the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 GENFIT is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18*/
19
24#ifndef genfit_MaterialProperties_h
25#define genfit_MaterialProperties_h
26
27#include <TObject.h>
28
29
30namespace genfit {
31
32
36class MaterialProperties : public TObject {
37
38 public:
39
41 friend bool operator== (const MaterialProperties& lhs, const MaterialProperties& rhs);
42 friend bool operator!= (const MaterialProperties& lhs, const MaterialProperties& rhs);
43
45 MaterialProperties(const double& density,
46 const double& Z,
47 const double& A,
48 const double& radiationLength,
49 const double& mEE);
50
51 double getDensity() const {return density_;}
52 double getZ() const {return Z_;}
53 double getA() const {return A_;}
54 double getRadLen() const {return radiationLength_;}
55 double getMEE() const {return mEE_;}
56
57 void getMaterialProperties(double& density,
58 double& Z,
59 double& A,
60 double& radiationLength,
61 double& mEE) const;
62
63 void setMaterialProperties(const double& density,
64 const double& Z,
65 const double& A,
66 const double& radiationLength,
67 const double& mEE);
68
69 void Print(const Option_t* = "") const;
70
71 private:
72
73 // material variables
75 double density_;
77 double Z_;
79 double A_;
83 double mEE_;
84
85
86 public:
87 ClassDef(MaterialProperties, 1)
88
89};
90
91
93 density_(0),
94 Z_(0),
95 A_(0),
96 radiationLength_(0),
97 mEE_(0)
98{
99 ;
100}
101
102inline MaterialProperties::MaterialProperties(const double& density,
103 const double& Z,
104 const double& A,
105 const double& radiationLength,
106 const double& mEE) :
107 density_(density),
108 Z_(Z),
109 A_(A),
110 radiationLength_(radiationLength),
111 mEE_(mEE)
112{
113 ;
114}
115
116} /* End of namespace genfit */
119#endif // genfit_MaterialProperties_h
Material properties needed e.g. for material effects calculation.
double radiationLength_
radiation length X0
double density_
density of material
void getMaterialProperties(double &density, double &Z, double &A, double &radiationLength, double &mEE) const
double mEE_
mean excitation energy [eV]
friend bool operator==(const MaterialProperties &lhs, const MaterialProperties &rhs)
Compare material parameters.
double Z_
Atomic number Z of material.
void setMaterialProperties(const double &density, const double &Z, const double &A, const double &radiationLength, const double &mEE)
friend bool operator!=(const MaterialProperties &lhs, const MaterialProperties &rhs)
double A_
Mass number A of material.
void Print(const Option_t *="") const
Matrix inversion tools.
Definition AbsBField.h:29