CMS 3D CMS Logo

Classes | Namespaces | Functions

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DetectorDescription/Core/interface/DDMaterial.h File Reference

#include <iostream>
#include <vector>
#include <utility>
#include "DetectorDescription/Core/interface/DDName.h"
#include "DetectorDescription/Core/interface/DDBase.h"

Go to the source code of this file.

Classes

class  DDMaterial
 DDMaterial is used to define and access material information. More...

Namespaces

namespace  DDI
 

A DDDivision contains the parameterization that Geant4 needs in order to do its divisions.


Functions

std::ostream & operator<< (std::ostream &, const DDMaterial &)

Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const DDMaterial  
)

Definition at line 132 of file DDMaterial.cc.

References DDMaterial::a(), DDMaterial::constituent(), DDMaterial::density(), f, g, i, testEve_cfg::level, DDBase< N, C >::name(), DDMaterial::noOfConstituents(), asciidump::s, and DDMaterial::z().

{ 
  static int level=0;
  ++level; 
  if (mat) {
    os << '[' << mat.name() <<']' << " z=" << mat.z() 
                     << " a=" << mat.a()/g*mole << "*g/mole" 
                     << " d=" << mat.density()/g*cm3 << "*g/cm3";
    std::string s(2*level,' ');              
    for (int i=0; i<mat.noOfConstituents(); ++i) {
       DDMaterial::FractionV::value_type f = mat.constituent(i);
       os << std::endl << s << i+1 << " : fm=" << f.second 
                  << " : " << f.first;
    }                
    //--level;
  } 
  else
    os << "* material not declared * ";  
  --level;   
  return os;
}