G4tgbMaterial.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id: G4tgbMaterial.hh 69803 2013-05-15 15:24:50Z gcosmo $
00028 //
00029 //
00030 // class G4tgbMaterial
00031 //
00032 // Class description:
00033 //
00034 // Transient class of a material; builds a G4Material.
00035 
00036 // History:
00037 // - Created.                                 P.Arce, CIEMAT (November 2007)
00038 // -------------------------------------------------------------------------
00039 
00040 #ifndef G4tgbMaterial_h
00041 #define G4tgbMaterial_h
00042 
00043 #include "globals.hh"
00044 
00045 #include <vector>
00046 #include <string>
00047 #include <iostream>
00048 
00049 #include "G4tgrMaterial.hh"
00050 #include "G4Material.hh"
00051 
00052 class G4tgbMaterial
00053 {
00054   friend std::ostream& operator<<(std::ostream&, const G4tgbMaterial&);
00055   
00056   public:  // with description
00057 
00058     G4tgbMaterial();
00059     virtual ~G4tgbMaterial();
00060 
00061     G4tgbMaterial( G4tgrMaterial* tgr );
00062 
00063     virtual G4Material* BuildG4Material() = 0;
00064 
00065     const G4String& GetName() const
00066     {
00067       return theTgrMate->GetName();
00068     }
00069 
00070     G4double GetDensity() const
00071     {
00072       return theTgrMate->GetDensity();
00073     }
00074 
00075     G4int GetNumberOfMaterials() const
00076     {
00077       return theTgrMate->GetNumberOfComponents();
00078     }
00079 
00080     G4double GetA() const
00081     {
00082       return theTgrMate->GetA();
00083     }
00084 
00085     G4double GetZ() const
00086     {
00087       return theTgrMate->GetZ();
00088     }
00089 
00090     const G4String& GetType() const
00091     {
00092       return theTgrMate->GetType();
00093     }  
00094 
00095 
00096     G4tgrMaterial* GetTgrMate() const
00097     {
00098       return theTgrMate;
00099     }
00100 
00101   protected:
00102 
00103     G4tgrMaterial* theTgrMate;
00104     G4Material* theG4Mate;
00105 };
00106 
00107 #endif

Generated on Mon May 27 17:49:57 2013 for Geant4 by  doxygen 1.4.7