CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DDMaterial.h
Go to the documentation of this file.
1 #ifndef DDMaterial_h
2 #define DDMaterial_h
3 
4 #include <iostream>
5 #include <vector>
6 #include <utility>
9 namespace DDI { class Material; }
10 
11 class DDMaterial;
12 
13 
14 std::ostream & operator<<(std::ostream &, const DDMaterial &);
15 
17 
45 class DDMaterial : public DDBase<DDName,DDI::Material*>
46 {
47  //typedef std::vector< pair<DDMaterial,double> > Fractions;
48  friend std::ostream & operator<<(std::ostream &, const DDMaterial &);
49 
50 
52 
53 public:
54  typedef std::vector<std::pair<DDMaterial,double> > FractionV;
56  DDMaterial();
57 
59  DDMaterial(const DDName & name);
60 
62  DDMaterial(const DDName & name, double z, double a, double d);
63 
65  DDMaterial(const DDName & name, double density);
66 
68  int noOfConstituents() const;
69 
72 
74  int addMaterial(const DDMaterial & m, double fm);
75 
77  double a() const;
78 
80  double z() const;
81 
83  double density() const;
84 
86 /* static void clear(); */
87 
88 private:
89  //explicit DDMaterial(DDRedirect<DDMaterialImpl>* p, bool dummy);
90 };
91 
92 #endif
Definition: DDBase.h:18
double a() const
returns the atomic mass
Definition: DDMaterial.cc:103
int i
Definition: DBlmapReader.cc:9
const DDName & name() const
Definition: DDBase.h:88
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:45
DDMaterial()
Creates a uninitialized reference-object (see DDLogicalPart documentation for details on reference ob...
Definition: DDMaterial.cc:16
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:18
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
std::vector< std::pair< DDMaterial, double > > FractionV
For mixtures of material Fraction defines the fraction-masses of the mixture components.
Definition: DDMaterial.h:54
int addMaterial(const DDMaterial &m, double fm)
adds a material to the mixture proportional to its fraction-mass fm.
Definition: DDMaterial.cc:75
double z() const
retruns the atomic number
Definition: DDMaterial.cc:109
FractionV::value_type constituent(int i) const
returns the i-th compound material and its fraction-mass
Definition: DDMaterial.cc:95
Container::value_type value_type
double density() const
returns the density
Definition: DDMaterial.cc:115
int noOfConstituents() const
returns the number of compound materials or 0 for elementary materials
Definition: DDMaterial.cc:89
friend std::ostream & operator<<(std::ostream &, const DDMaterial &)
Definition: DDMaterial.cc:132