Ignore:
Timestamp:
Nov 25, 2009, 5:13:58 PM (16 years ago)
Author:
garnier
Message:

update CVS release candidate geant4.9.3.01

Location:
trunk/source/materials/include
Files:
28 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/materials/include/G4AtomicShells.hh

    r986 r1196  
    2626//
    2727// $Id: G4AtomicShells.hh,v 1.7 2006/10/17 15:15:46 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929
    3030// class description
  • trunk/source/materials/include/G4Element.hh

    r986 r1196  
    2525//
    2626//
    27 // $Id: G4Element.hh,v 1.23 2008/11/14 15:14:24 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// $Id: G4Element.hh,v 1.27 2009/09/19 14:13:03 vnivanch Exp $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030
     
    7171// 01-04-05, new data member fIndexZ to count the number of elements with same Z
    7272// 17-10-06: Add Get/Set fNaturalAbandances (V.Ivanchenko)
    73 
     73// 17.09.09, add fNbOfShellElectrons and methods (V. Grichine)
    7474//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    7575
     
    131131  G4int GetNbOfAtomicShells() const {return fNbOfAtomicShells;}
    132132 
    133   //the binding energy of the shell:
    134   //
    135   G4double GetAtomicShell(G4int) const;
     133  //the binding energy of the shell, ground shell index=0
     134  //
     135  G4double GetAtomicShell(G4int index) const;
     136
     137  //the number of electrons at the shell, ground shell index=0
     138  //
     139  G4int GetNbOfShellElectrons(G4int index) const;
    136140   
    137141  //number of isotopes constituing this element:
     
    233237  G4int fNbOfAtomicShells;     // number  of atomic shells
    234238  G4double* fAtomicShells ;    // Pointer to atomic shell binding energies
     239  G4int* fNbOfShellElectrons; // pointer to the number of subshell electrons
    235240   
    236241  // Isotope vector contains constituent isotopes of the element   
  • trunk/source/materials/include/G4ElementTable.hh

    r986 r1196  
    2626//
    2727// $Id: G4ElementTable.hh,v 1.6 2006/06/29 19:10:58 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//
  • trunk/source/materials/include/G4ElementVector.hh

    r986 r1196  
    2626//
    2727// $Id: G4ElementVector.hh,v 1.6 2006/06/29 19:11:00 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//
  • trunk/source/materials/include/G4ExtDEDXTable.hh

    r1059 r1196  
    3838//
    3939// Modifications:
     40// 03.11.2009 A. Lechner:  Added new methods BuildPhysicsVector according
     41//            to interface changes in base class G4VIonDEDXTable.
    4042//
    4143//
     
    6567   G4ExtDEDXTable();
    6668   virtual ~G4ExtDEDXTable();
     69
     70   G4bool BuildPhysicsVector(G4int ionZ,
     71                             const G4String& matName);
     72
     73   G4bool BuildPhysicsVector(G4int ionZ,
     74                             G4int matZ);
    6775
    6876   // Function for checking the availability of stopping power tables
  • trunk/source/materials/include/G4IonisParamElm.hh

    r986 r1196  
    2626//
    2727// $Id: G4IonisParamElm.hh,v 1.10 2008/06/03 14:30:10 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030
  • trunk/source/materials/include/G4IonisParamMat.hh

    r986 r1196  
    2525//
    2626//
    27 // $Id: G4IonisParamMat.hh,v 1.12 2008/07/08 10:34:56 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// $Id: G4IonisParamMat.hh,v 1.17 2009/11/18 17:42:23 gcosmo Exp $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030
     
    5252
    5353class G4Material;                        // forward declaration
     54class G4DensityEffectData;
    5455
    5556//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
     
    5960public:
    6061
    61     G4IonisParamMat(G4Material*);
    62     virtual ~G4IonisParamMat();
    63 
    64     //
    65     // retrieval methods
    66     //
     62  G4IonisParamMat(G4Material*);
     63  virtual ~G4IonisParamMat();
     64
     65  //
     66  // retrieval methods
     67  //
    6768     
    68     // parameters for mean energy loss calculation:
    69     G4double  GetMeanExcitationEnergy()   const {return fMeanExcitationEnergy;};
    70     void      SetMeanExcitationEnergy(G4double value);
    71     G4double  FindMeanExcitationEnergy(const G4String& chFormula);
    72     G4double  GetLogMeanExcEnergy()       const {return fLogMeanExcEnergy;};
    73     G4double* GetShellCorrectionVector()  const {return fShellCorrectionVector;};
    74     G4double  GetTaul()                   const {return fTaul;};
    75    
    76     // parameters of the density correction:
    77     G4double  GetCdensity()               const {return fCdensity;};
    78     G4double  GetMdensity()               const {return fMdensity;};
    79     G4double  GetAdensity()               const {return fAdensity;};
    80     G4double  GetX0density()              const {return fX0density;};
    81     G4double  GetX1density()              const {return fX1density;};
    82 
    83     // parameters of the energy loss fluctuation model:
    84     G4double  GetF1fluct()                const {return fF1fluct;};
    85     G4double  GetF2fluct()                const {return fF2fluct;};
    86     G4double  GetEnergy1fluct()           const {return fEnergy1fluct;};
    87     G4double  GetLogEnergy1fluct()        const {return fLogEnergy1fluct;};
    88     G4double  GetEnergy2fluct()           const {return fEnergy2fluct;};
    89     G4double  GetLogEnergy2fluct()        const {return fLogEnergy2fluct;};
    90     G4double  GetEnergy0fluct()           const {return fEnergy0fluct;};
    91     G4double  GetRateionexcfluct()        const {return fRateionexcfluct;};
    92 
    93     // parameters for ion corrections computations
    94     G4double  GetZeffective()             const {return fZeff;};
    95     G4double  GetFermiEnergy()            const {return fFermiEnergy;};
    96     G4double  GetLFactor()                const {return fLfactor;};
    97    
    98     // parameters for Birks attenuation:
    99     void      SetBirksConstant(G4double value) {fBirks = value;};
    100     G4double  GetBirksConstant()         const {return fBirks;};
    101 
    102     // parameters for average energy per ion
    103     void      SetMeanEnergyPerIonPair(G4double value) {fMeanEnergyPerIon = value;};
    104     G4double  GetMeanEnergyPerIonPair()         const {return fMeanEnergyPerIon;};
     69  // parameters for mean energy loss calculation:
     70  G4double  GetMeanExcitationEnergy()   const {return fMeanExcitationEnergy;};
     71  void      SetMeanExcitationEnergy(G4double value);
     72  G4double  FindMeanExcitationEnergy(const G4String& chFormula);
     73  G4double  GetLogMeanExcEnergy()       const {return fLogMeanExcEnergy;};
     74  G4double* GetShellCorrectionVector()  const {return fShellCorrectionVector;};
     75  G4double  GetTaul()                   const {return fTaul;};
     76   
     77  // parameters of the density correction:
     78  G4double  GetPlasmaEnergy()           const {return fPlasmaEnergy;};
     79  G4double  GetAdjustmentFactor()       const {return fAdjustmentFactor;};
     80  G4double  GetCdensity()               const {return fCdensity;};
     81  G4double  GetMdensity()               const {return fMdensity;};
     82  G4double  GetAdensity()               const {return fAdensity;};
     83  G4double  GetX0density()              const {return fX0density;};
     84  G4double  GetX1density()              const {return fX1density;};
     85  G4double  GetD0density()              const {return fD0density;};
     86   
     87  // compute density correction as a function of the kinematic variable
     88  // x = log10(beta*gamma) 
     89  inline G4double DensityCorrection(G4double x);
     90  static G4DensityEffectData* GetDensityEffectData();
     91
     92  // parameters of the energy loss fluctuation model:
     93  G4double  GetF1fluct()                const {return fF1fluct;};
     94  G4double  GetF2fluct()                const {return fF2fluct;};
     95  G4double  GetEnergy1fluct()           const {return fEnergy1fluct;};
     96  G4double  GetLogEnergy1fluct()        const {return fLogEnergy1fluct;};
     97  G4double  GetEnergy2fluct()           const {return fEnergy2fluct;};
     98  G4double  GetLogEnergy2fluct()        const {return fLogEnergy2fluct;};
     99  G4double  GetEnergy0fluct()           const {return fEnergy0fluct;};
     100  G4double  GetRateionexcfluct()        const {return fRateionexcfluct;};
     101
     102  // parameters for ion corrections computations
     103  G4double  GetZeffective()             const {return fZeff;};
     104  G4double  GetFermiEnergy()            const {return fFermiEnergy;};
     105  G4double  GetLFactor()                const {return fLfactor;};
     106   
     107  // parameters for Birks attenuation:
     108  void      SetBirksConstant(G4double value) {fBirks = value;};
     109  G4double  GetBirksConstant()         const {return fBirks;};
     110
     111  // parameters for average energy per ion
     112  void      SetMeanEnergyPerIonPair(G4double value) {fMeanEnergyPerIon = value;};
     113  G4double  GetMeanEnergyPerIonPair()         const {return fMeanEnergyPerIon;};
    105114     
    106115public:  // without description
    107116
    108     G4IonisParamMat(const G4IonisParamMat&);
    109     const G4IonisParamMat& operator=(const G4IonisParamMat&);         
    110     G4int operator==(const G4IonisParamMat&) const;
    111     G4int operator!=(const G4IonisParamMat&) const;
    112 
    113     G4IonisParamMat(__void__&);
    114       // Fake default constructor for usage restricted to direct object
    115       // persistency for clients requiring preallocation of memory for
    116       // persistifiable objects.
     117  G4IonisParamMat(const G4IonisParamMat&);
     118  const G4IonisParamMat& operator=(const G4IonisParamMat&);         
     119  G4int operator==(const G4IonisParamMat&) const;
     120  G4int operator!=(const G4IonisParamMat&) const;
     121
     122  G4IonisParamMat(__void__&);
     123  // Fake default constructor for usage restricted to direct object
     124  // persistency for clients requiring preallocation of memory for
     125  // persistifiable objects.
    117126
    118127private:
    119128   
    120     // Compute mean parameters : ExcitationEnergy,Shell corretion vector ...
    121     void ComputeMeanParameters();
    122 
    123     // Compute parameters for the density effect
    124     void ComputeDensityEffect();
    125 
    126     // Compute parameters for the energy fluctuation model
    127     void ComputeFluctModel();
    128 
    129     // Compute parameters for ion parameterizations
    130     void ComputeIonParameters();
     129  // Compute mean parameters : ExcitationEnergy,Shell corretion vector ...
     130  void ComputeMeanParameters();
     131
     132  // Compute parameters for the density effect
     133  void ComputeDensityEffect();
     134
     135  // Compute parameters for the energy fluctuation model
     136  void ComputeFluctModel();
     137
     138  // Compute parameters for ion parameterizations
     139  void ComputeIonParameters();
    131140
    132141private:
     
    135144// data members
    136145//
    137     G4Material* fMaterial;                    // this material
    138 
    139    // parameters for mean energy loss calculation
    140     G4double  fMeanExcitationEnergy;          //
    141     G4double  fLogMeanExcEnergy;              //
    142     G4double* fShellCorrectionVector;         // shell correction coefficients
    143     G4double  fTaul;                          // lower limit of Bethe-Bloch formula
    144 
    145    // parameters of the density correction....
    146     G4double fCdensity;                      // mat.constant
    147     G4double fMdensity;                      // exponent
    148     G4double fAdensity;                      //
    149     G4double fX0density;                     //
    150     G4double fX1density;                     //
    151 
    152    // parameters of the energy loss fluctuation model
    153     G4double fF1fluct;                       
    154     G4double fF2fluct;                       
    155     G4double fEnergy1fluct;
    156     G4double fLogEnergy1fluct;
    157     G4double fEnergy2fluct;
    158     G4double fLogEnergy2fluct;
    159     G4double fEnergy0fluct;
    160     G4double fRateionexcfluct;
    161 
    162     // parameters for ion corrections computations
    163     G4double fZeff;
    164     G4double fFermiEnergy;
    165     G4double fLfactor;
    166    
    167     // parameter for Birks attenuation
    168     G4double fBirks;
    169     // average energy per ion pair
    170     G4double fMeanEnergyPerIon;
     146  G4Material* fMaterial;                    // this material
     147
     148  // parameters for mean energy loss calculation
     149  G4double  fMeanExcitationEnergy;          //
     150  G4double  fLogMeanExcEnergy;              //
     151  G4double* fShellCorrectionVector;         // shell correction coefficients
     152  G4double  fTaul;                          // lower limit of Bethe-Bloch formula
     153
     154  // parameters of the density correction
     155  G4double fCdensity;                      // mat.constant
     156  G4double fMdensity;                      // exponent
     157  G4double fAdensity;                      //
     158  G4double fX0density;                     //
     159  G4double fX1density;                     //
     160  G4double fD0density;
     161
     162  G4double fPlasmaEnergy;
     163  G4double fAdjustmentFactor;
     164
     165  // parameters of the energy loss fluctuation model
     166  G4double fF1fluct;                       
     167  G4double fF2fluct;                       
     168  G4double fEnergy1fluct;
     169  G4double fLogEnergy1fluct;
     170  G4double fEnergy2fluct;
     171  G4double fLogEnergy2fluct;
     172  G4double fEnergy0fluct;
     173  G4double fRateionexcfluct;
     174
     175  // parameters for ion corrections computations
     176  G4double fZeff;
     177  G4double fFermiEnergy;
     178  G4double fLfactor;
     179   
     180  // parameter for Birks attenuation
     181  G4double fBirks;
     182  // average energy per ion pair
     183  G4double fMeanEnergyPerIon;
     184
     185  // static data created only once
     186  static G4DensityEffectData* fDensityData;
    171187};
    172188
     189  // x = log10(beta*gamma) 
     190inline G4double G4IonisParamMat::DensityCorrection(G4double x)
     191{
     192  static const G4double twoln10 = 2.*std::log(10.);
     193  G4double y = 0.0;
     194  if(x < fX0density) {
     195    if(fD0density > 0.0) { y = fD0density*std::pow(10.,2*(x - fX0density)); }
     196  } else if(x >= fX1density) { y = twoln10*x - fCdensity; }
     197  else {y = twoln10*x - fCdensity + fAdensity*std::pow(fX1density - x, fMdensity);}
     198  return y;
     199}
     200
    173201#endif
  • trunk/source/materials/include/G4IronStoppingICRU73.hh

    r1058 r1196  
    2424// ********************************************************************
    2525//
    26 // $Id: G4IronStoppingICRU73.hh,v 1.4 2009/03/18 10:14:48 alechner Exp $
    27 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     26// $Id: G4IronStoppingICRU73.hh,v 1.6 2009/11/09 16:51:07 vnivanch Exp $
     27// GEANT4 tag $Name: materials-V09-02-18 $
    2828
    2929#ifndef G4IronStoppingICRU73_h
     
    3838// Author:      A.Ivantchenko 8.08.2008
    3939//
     40// in the framework of the ESA Technology Research Programme
     41// (ESA contract 21435/08/NL/AT)
     42//
    4043// Modifications:
     44// 03.11.2009 A. Lechner:  Added new methods BuildPhysicsVector according
     45//            to interface changes in base class G4VIonDEDXTable.
    4146//
    4247//----------------------------------------------------------------------------
     
    6368
    6469  ~G4IronStoppingICRU73();
     70
     71  G4bool BuildPhysicsVector(G4int ionZ,
     72                            const G4String& matName);
     73
     74  G4bool BuildPhysicsVector(G4int ionZ,
     75                            G4int matZ);
    6576
    6677  G4bool IsApplicable(G4int ionZ, 
  • trunk/source/materials/include/G4Isotope.hh

    r986 r1196  
    2626//
    2727// $Id: G4Isotope.hh,v 1.21 2008/11/14 15:14:24 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/materials/include/G4IsotopeVector.hh

    r986 r1196  
    2626//
    2727// $Id: G4IsotopeVector.hh,v 1.6 2006/06/29 19:11:09 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//
  • trunk/source/materials/include/G4MPVEntry.hh

    r1058 r1196  
    2626//
    2727// $Id: G4MPVEntry.hh,v 1.8 2009/04/21 15:35:45 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//
  • trunk/source/materials/include/G4Material.hh

    r986 r1196  
    2626//
    2727// $Id: G4Material.hh,v 1.27 2008/11/14 15:14:24 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030
  • trunk/source/materials/include/G4MaterialPropertiesTable.hh

    r1058 r1196  
    2626//
    2727// $Id: G4MaterialPropertiesTable.hh,v 1.20 2009/04/21 15:35:45 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030////////////////////////////////////////////////////////////////////////
  • trunk/source/materials/include/G4MaterialPropertiesTable.icc

    r1058 r1196  
    2626//
    2727// $Id: G4MaterialPropertiesTable.icc,v 1.1 2009/04/21 15:35:45 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030////////////////////////////////////////////////////////////////////////
  • trunk/source/materials/include/G4MaterialPropertyVector.hh

    r1058 r1196  
    2626//
    2727// $Id: G4MaterialPropertyVector.hh,v 1.14 2009/04/24 09:35:14 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//
  • trunk/source/materials/include/G4MaterialPropertyVector.icc

    r1058 r1196  
    2626//
    2727// $Id: G4MaterialPropertyVector.icc,v 1.2 2009/04/21 15:41:20 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//
  • trunk/source/materials/include/G4MaterialStoppingICRU73.hh

    r1058 r1196  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MaterialStoppingICRU73.hh,v 1.5 2009/03/18 10:14:49 alechner Exp $
    27 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     26// $Id: G4MaterialStoppingICRU73.hh,v 1.8 2009/11/09 16:51:07 vnivanch Exp $
     27// GEANT4 tag $Name: materials-V09-02-18 $
    2828
    2929#ifndef G4MaterialStoppingICRU73_h
     
    3838// Author:      Ivantchenko 10.07.2008
    3939//
     40// in the framework of the ESA Technology Research Programme
     41// (ESA contract 21435/08/NL/AT)
     42//
    4043// Modifications:
     44// 03.11.2009 A. Lechner:  Added new methods BuildPhysicsVector according
     45//            to interface changes in base class G4VIonDEDXTable.
    4146//
    4247//----------------------------------------------------------------------------
     
    6368
    6469  ~G4MaterialStoppingICRU73();
     70
     71  G4bool BuildPhysicsVector(G4int ionZ,
     72                            const G4String& matName);
     73
     74  G4bool BuildPhysicsVector(G4int ionZ,
     75                            G4int matZ);
    6576
    6677  G4bool IsApplicable(G4int ionZ,
     
    89100                                       G4double* stoppower,
    90101                                       G4double factor);
     102
     103  // Function for creating a physics vector (full range up to 1 GeV/u)
     104  G4PhysicsVector* CreatePhysicsVectorFullRange(G4double* energy,
     105                                                G4double* stoppower,
     106                                                G4double factor);
    91107
    92108  // Assignment operator and copy constructor
  • trunk/source/materials/include/G4MaterialTable.hh

    r986 r1196  
    2626//
    2727// $Id: G4MaterialTable.hh,v 1.6 2006/06/29 19:11:19 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//
  • trunk/source/materials/include/G4NistElementBuilder.hh

    r986 r1196  
    2525//
    2626// $Id: G4NistElementBuilder.hh,v 1.18 2008/08/07 10:15:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: materials-V09-02-18 $
    2828
    2929#ifndef G4NistElementBuilder_h
  • trunk/source/materials/include/G4NistManager.hh

    r986 r1196  
    2525//
    2626// $Id: G4NistManager.hh,v 1.23 2008/08/07 10:15:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: materials-V09-02-18 $
    2828//
    2929//
  • trunk/source/materials/include/G4NistMaterialBuilder.hh

    r986 r1196  
    2525//
    2626// $Id: G4NistMaterialBuilder.hh,v 1.13 2008/04/28 08:51:29 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: materials-V09-02-18 $
    2828
    2929#ifndef G4NistMaterialBuilder_h
  • trunk/source/materials/include/G4NistMessenger.hh

    r986 r1196  
    2525//
    2626//
    27 // $Id: G4NistMessenger.hh,v 1.4 2007/05/02 10:48:52 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// $Id: G4NistMessenger.hh,v 1.5 2009/10/30 18:01:22 bagoulia Exp $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030// File name:     G4NistMessenger
     
    103103  G4UIdirectory*             g4Dir;
    104104  G4UIcmdWithAString*        g4ElmCmd;   
    105   G4UIcmdWithAString*        g4MatCmd;     
    106 
     105  G4UIcmdWithAString*        g4MatCmd;
     106  G4UIcmdWithAString*        g4DensCmd;   
    107107};
    108108
  • trunk/source/materials/include/G4OpticalSurface.hh

    r1058 r1196  
    2525//
    2626//
    27 // $Id: G4OpticalSurface.hh,v 1.12 2009/04/21 15:35:45 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     27// $Id: G4OpticalSurface.hh,v 1.15 2009/11/20 00:57:34 gum Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//
     
    6464   polishedfrontpainted,        // smooth top-layer (front) paint
    6565   polishedbackpainted,         // same is 'polished' but with a back-paint
     66
    6667   ground,                      // rough surface
    6768   groundfrontpainted,          // rough top-layer (front) paint
    68    groundbackpainted            // same as 'ground' but with a back-paint
     69   groundbackpainted,           // same as 'ground' but with a back-paint
     70
     71   polishedlumirrorair,         // mechanically polished surface, with lumirror
     72   polishedlumirrorglue,        // mechanically polished surface, with lumirror & meltmount
     73   polishedair,                 // mechanically polished surface
     74   polishedteflonair,           // mechanically polished surface, with teflon
     75   polishedtioair,              // mechanically polished surface, with tio paint
     76   polishedtyvekair,            // mechanically polished surface, with tyvek
     77   polishedvm2000air,           // mechanically polished surface, with esr film
     78   polishedvm2000glue,          // mechanically polished surface, with esr film & meltmount
     79
     80   etchedlumirrorair,           // chemically etched surface, with lumirror
     81   etchedlumirrorglue,          // chemically etched surface, with lumirror & meltmount
     82   etchedair,                   // chemically etched surface
     83   etchedteflonair,             // chemically etched surface, with teflon
     84   etchedtioair,                // chemically etched surface, with tio paint
     85   etchedtyvekair,              // chemically etched surface, with tyvek
     86   etchedvm2000air,             // chemically etched surface, with esr film
     87   etchedvm2000glue,            // chemically etched surface, with esr film & meltmount
     88
     89   groundlumirrorair,           // rough-cut surface, with lumirror
     90   groundlumirrorglue,          // rough-cut surface, with lumirror & meltmount
     91   groundair,                   // rough-cut surface
     92   groundteflonair,             // rough-cut surface, with teflon
     93   groundtioair,                // rough-cut surface, with tio paint
     94   groundtyvekair,              // rough-cut surface, with tyvek
     95   groundvm2000air,             // rough-cut surface, with esr film
     96   groundvm2000glue             // rough-cut surface, with esr film & meltmount
    6997};
    7098
     
    72100{
    73101   glisur,                      // original GEANT3 model
    74    unified                      // UNIFIED model
     102   unified,                     // UNIFIED model
     103   LUT                          // Look-Up-Table model
    75104};
    76105
     
    83112class G4OpticalSurface : public G4SurfaceProperty
    84113{
    85   public: // With description
    86 
    87     ////////////////////////////////
    88     // Constructor
    89     ////////////////////////////////
    90 
    91     G4OpticalSurface(const G4String& name,
    92                      G4OpticalSurfaceModel model = glisur,
    93                      G4OpticalSurfaceFinish finish = polished,
    94                      G4SurfaceType type = dielectric_dielectric,
    95                      G4double value = 1.0);
    96     // Constructor of an optical surface object.
    97 
    98   public: // Without description
    99 
    100     //////////////
    101     // Constructors and destructor
    102     //////////////
    103 
    104     G4OpticalSurface();
    105     virtual ~G4OpticalSurface();
    106     G4OpticalSurface(const G4OpticalSurface &right);
     114
     115public: // Without description
    107116 
    108     //////////////
    109     // Operators
    110     //////////////
     117        //////////////
     118        // Operators
     119        //////////////
    111120 
    112     const G4OpticalSurface & operator=(const G4OpticalSurface &right);
     121        G4OpticalSurface(const G4OpticalSurface &right);
     122        const G4OpticalSurface & operator=(const G4OpticalSurface &right);
    113123 
    114     G4int operator==(const G4OpticalSurface &right) const;
    115     G4int operator!=(const G4OpticalSurface &right) const;
    116 
    117     ////////////
    118     // Methods
    119     ////////////
    120 
    121   public: // With description
    122 
    123     const G4OpticalSurfaceFinish& GetFinish() const { return theFinish; }
    124     // Returns the optical surface finish.
    125     void SetFinish(const G4OpticalSurfaceFinish& finish) { theFinish = finish; }
    126     // Sets the optical surface finish.
    127 
    128     const G4OpticalSurfaceModel& GetModel() const { return theModel; }
    129     // Returns the optical surface model used.
    130     void SetModel(const G4OpticalSurfaceModel& model) { theModel = model; }
    131     // Sets the optical surface model to be followed.
    132 
    133     G4double GetSigmaAlpha() const { return sigma_alpha; }
    134     // Returns an unified model surface parameter.
    135     void     SetSigmaAlpha(const G4double s_a) { sigma_alpha = s_a; }
    136     // Sets an unified model surface parameter.
    137 
    138     G4double GetPolish() const { return polish; }
    139     // Returns the optical surface polish type.
    140     void     SetPolish(const G4double plsh) { polish=plsh; }
    141     // Sets the optical surface polish type.
    142 
    143     G4MaterialPropertiesTable* GetMaterialPropertiesTable() const
    144                                    { return theMaterialPropertiesTable; }
    145     // Retrieves the pointer of the G4MaterialPropertiesTable
    146     // attached to optical surface.
    147 
    148     void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
    149                                    { theMaterialPropertiesTable = anMPT; }
    150     // Attaches a G4MaterialPropertiesTable to the optical surface.
    151 
    152     void DumpInfo() const;
    153     // Prints information about the optical surface.
    154 
    155   private:
    156 
    157     // ------------------
    158     // Basic data members ( To define an optical surface)
    159     // ------------------
    160 
    161     G4OpticalSurfaceModel theModel;          // Surface model
    162     G4OpticalSurfaceFinish theFinish;        // Surface finish
    163 
    164     G4double sigma_alpha;           // The sigma of micro-facet polar angle
    165     G4double polish;                // Polish parameter in glisur model
    166 
    167     G4MaterialPropertiesTable* theMaterialPropertiesTable;
     124        G4int operator==(const G4OpticalSurface &right) const;
     125        G4int operator!=(const G4OpticalSurface &right) const;
     126
     127public: // With description
     128
     129        ////////////////////////////////
     130        // Constructors and Destructor
     131        ////////////////////////////////
     132
     133        G4OpticalSurface(const G4String& name,
     134                         G4OpticalSurfaceModel model = glisur,
     135                         G4OpticalSurfaceFinish finish = polished,
     136                         G4SurfaceType type = dielectric_dielectric,
     137                         G4double value = 1.0);
     138        // Constructor of an optical surface object.
     139
     140public: // Without description
     141
     142        virtual ~G4OpticalSurface();
     143
     144        ////////////
     145        // Methods
     146        ////////////
     147
     148        // public methods
     149
     150public: // With description
     151
     152        virtual void Overwrite() {G4cout << "G4OpticalSurface" << G4endl;};
     153
     154        void         SetType(const G4SurfaceType& type);
     155
     156        G4OpticalSurfaceFinish GetFinish() const {return theFinish;};
     157        // Returns the optical surface finish.
     158        void         SetFinish(const G4OpticalSurfaceFinish );
     159        // Sets the optical surface finish.
     160
     161        G4OpticalSurfaceModel GetModel() const {return theModel;};
     162        // Returns the optical surface model used.
     163        void           SetModel(const G4OpticalSurfaceModel model)
     164                                                   {theModel = model;};
     165        // Sets the optical surface model to be followed.
     166
     167        G4double GetSigmaAlpha() const {return sigma_alpha;};
     168        // Returns an unified model surface parameter.
     169        void     SetSigmaAlpha(const G4double s_a)
     170                                        {sigma_alpha = s_a;};
     171        // Sets an unified model surface parameter.
     172
     173        G4double GetPolish() const {return polish;};
     174        // Returns the optical surface polish type.
     175        void     SetPolish(const G4double plsh) {polish=plsh;};
     176        // Sets the optical surface polish type.
     177
     178        G4MaterialPropertiesTable* GetMaterialPropertiesTable() const
     179                                       { return theMaterialPropertiesTable;};
     180        // Retrieves the pointer of the G4MaterialPropertiesTable
     181        // attached to optical surface.
     182
     183        void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
     184                                    { theMaterialPropertiesTable = anMPT;};
     185        // Attaches a G4MaterialPropertiesTable to the optical surface.
     186
     187        void DumpInfo() const;
     188        // Prints information about the optical surface.
     189
     190        void ReadFile(void);
     191        // Method to read the Look-Up-Table into array AngularDistribution
     192
     193        G4double GetAngularDistributionValue(G4int, G4int, G4int);
     194
     195        inline G4int GetThetaIndexMax(void) const { return thetaIndexMax; }
     196        inline G4int GetPhiIndexMax(void) const { return phiIndexMax; }
     197
     198private:
     199
     200// ------------------
     201// Basic data members ( To define an optical surface)
     202// ------------------
     203
     204        G4OpticalSurfaceModel theModel;         // Surface model
     205        G4OpticalSurfaceFinish theFinish;       // Surface finish
     206
     207        G4double sigma_alpha;           // The sigma of micro-facet polar angle
     208        G4double polish;                // Polish parameter in glisur model
     209
     210        G4MaterialPropertiesTable* theMaterialPropertiesTable;
     211
     212        static const G4int incidentIndexMax = 91;
     213        static const G4int thetaIndexMax = 45;
     214        static const G4int phiIndexMax = 37;
     215
     216        G4float* AngularDistribution;
     217
    168218};
    169219
     220////////////////////
     221// Inline methods
     222////////////////////
     223
     224inline
     225 G4double G4OpticalSurface::GetAngularDistributionValue(G4int angleIncident,
     226                                                        G4int thetaIndex,
     227                                                        G4int phiIndex)
     228{
     229  return *(AngularDistribution+angleIncident+
     230                               thetaIndex*incidentIndexMax+
     231                               phiIndex*thetaIndexMax*incidentIndexMax);
     232}
     233
    170234#endif /* G4OpticalSurface_h */
  • trunk/source/materials/include/G4SandiaTable.hh

    r986 r1196  
    2626//
    2727// $Id: G4SandiaTable.hh,v 1.21 2007/10/02 10:13:33 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929
    3030// class description
  • trunk/source/materials/include/G4SimpleMaterialStoppingICRU73.hh

    r1058 r1196  
    2424// ********************************************************************
    2525//
    26 // $Id: G4SimpleMaterialStoppingICRU73.hh,v 1.6 2009/03/18 10:14:49 alechner Exp $
    27 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     26// $Id: G4SimpleMaterialStoppingICRU73.hh,v 1.8 2009/11/09 16:51:07 vnivanch Exp $
     27// GEANT4 tag $Name: materials-V09-02-18 $
    2828
    2929#ifndef G4SimpleMaterialStoppingICRU73_h
     
    3838// Author:      Ivantchenko 10.07.2008
    3939//
     40// in the framework of the ESA Technology Research Programme
     41// (ESA contract 21435/08/NL/AT)
     42//
    4043// Modifications:
     44// 03.11.2009 A. Lechner:  Added new methods BuildPhysicsVector according
     45//            to interface changes in base class G4VIonDEDXTable.
    4146//
    4247//----------------------------------------------------------------------------
     
    6570
    6671  ~G4SimpleMaterialStoppingICRU73();
     72
     73  G4bool BuildPhysicsVector(G4int ionZ,
     74                            const G4String& matName);
     75
     76  G4bool BuildPhysicsVector(G4int ionZ,
     77                            G4int matZ);
    6778
    6879  G4bool IsApplicable(G4int ionZ, 
  • trunk/source/materials/include/G4StaticSandiaData.hh

    r986 r1196  
    2626//
    2727// $Id: G4StaticSandiaData.hh,v 1.7 2006/06/29 19:12:35 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030
  • trunk/source/materials/include/G4SurfaceProperty.hh

    r1058 r1196  
    2525//
    2626//
    27 // $Id: G4SurfaceProperty.hh,v 1.9 2009/04/21 15:35:45 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $
     27// $Id: G4SurfaceProperty.hh,v 1.10 2009/11/12 00:53:43 gum Exp $
     28// GEANT4 tag $Name: materials-V09-02-18 $
    2929//
    3030//
     
    6868   dielectric_metal,            // dielectric-metal interface
    6969   dielectric_dielectric,       // dielectric-dielectric interface
     70   dielectric_LUT,              // dielectric-Look-Up-Table interface
    7071   firsov,                      // for Firsov Process
    7172   x_ray                        // for x-ray mirror process
  • trunk/source/materials/include/G4VIonDEDXTable.hh

    r1059 r1196  
    3535// First implementation: 15. 02. 2009
    3636//
    37 // Modifications:
    38 //
     37// Modifications:       
     38// 02. 11. 2009 A. Lechner: Added BuildPhysicsVector function which should
     39//              invoke the build process of physics vectors.
    3940//
    4041// Class description:
     
    5960   G4VIonDEDXTable();
    6061   virtual ~G4VIonDEDXTable(); 
     62
     63   // Function for building a stopping power table for a material consisting of
     64   // a single element only.
     65   virtual G4bool BuildPhysicsVector(
     66        G4int,  // Atomic number of ion
     67        G4int   // Atomic number of elemental material
     68                               ) = 0;
     69
     70   // Function building stopping power table for a given ion-material pair.
     71   virtual G4bool BuildPhysicsVector(
     72        G4int,           // Atomic number of ion
     73        const G4String&  // Name or chemical formula of material
     74                               ) = 0;
    6175
    6276   // Function for checking the availability of stopping power tables
Note: See TracChangeset for help on using the changeset viewer.