Ignore:
Timestamp:
Apr 6, 2009, 12:21:12 PM (15 years ago)
Author:
garnier
Message:

update processes

Location:
trunk/source/processes/electromagnetic/lowenergy/include
Files:
89 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh

    r819 r961  
    2626//
    2727// $Id: G4AtomicTransitionManager.hh,v 1.2 ????
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh

    r819 r961  
    2626//
    2727// $Id: G4AtomicShell.hh,v 1.2 ????
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh

    r819 r961  
    2626//
    2727// $Id: G4AtomicTransitionManager.hh,v 1.2 ????
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh

    r819 r961  
    2525//
    2626// $Id: G4AugerData.hh
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh

    r819 r961  
    2626//
    2727// $Id: G4BremsstrahlungParameters.hh,v 1.10 2006/06/29 19:33:06 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4CompositeEMDataSet.hh,v 1.8 2006/06/29 19:33:08 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4CompositeEMDataSet.hh,v 1.12 2008/03/17 13:45:25 pia Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
     
    4444// -------------------------------------------------------------------
    4545
    46 #ifndef   G4COMPOSITEEMDATASET_HH
    47  #define G4COMPOSITEEMDATASET_HH 1
     46#ifndef G4COMPOSITEEMDATASET_HH
     47#define G4COMPOSITEEMDATASET_HH 1
    4848
    49  #include "globals.hh"
    50  #include "G4VEMDataSet.hh"
    51  #include <vector>
     49#include "globals.hh"
     50#include "G4VEMDataSet.hh"
     51#include <vector>
    5252
    53  class G4VDataSetAlgorithm;
     53class G4VDataSetAlgorithm;
    5454
    55  class G4CompositeEMDataSet : public G4VEMDataSet
    56  {
    57   public:
    58                                                 G4CompositeEMDataSet(G4VDataSetAlgorithm* argAlgorithm, G4double argUnitEnergies=MeV, G4double argUnitData=barn, G4int argMinZ=1, G4int argMaxZ=99);
    59    virtual                                     ~G4CompositeEMDataSet();
     55class G4CompositeEMDataSet : public G4VEMDataSet
     56{
     57public:
     58  G4CompositeEMDataSet(G4VDataSetAlgorithm* argAlgorithm,
     59                       G4double eUnit=MeV,
     60                       G4double dataUnit=barn,
     61                       G4int zMin=1,
     62                       G4int zMax=99);
     63
     64  virtual ~G4CompositeEMDataSet();
    6065 
    61    virtual G4double                             FindValue(G4double argEnergy, G4int argComponentId=0) const;
     66  virtual G4double FindValue(G4double x, G4int componentId=0) const;
    6267 
    63    virtual void                                PrintData(void) const;
     68  virtual void PrintData(void) const;
    6469
    65    virtual const G4VEMDataSet *                 GetComponent(G4int argComponentId) const { return components[argComponentId]; }
    66    virtual void                                 AddComponent(G4VEMDataSet * argDataSet) { components.push_back(argDataSet); }
    67    virtual size_t                               NumberOfComponents(void) const { return components.size(); }
     70  virtual const G4VEMDataSet* GetComponent(G4int componentId) const { return components[componentId]; }
     71  virtual void AddComponent(G4VEMDataSet* dataSet) { components.push_back(dataSet); }
     72  virtual size_t NumberOfComponents() const { return components.size(); }
    6873
    69    virtual const G4DataVector &                 GetEnergies(G4int argComponentId) const { return GetComponent(argComponentId)->GetEnergies(0); }
    70    virtual const G4DataVector &                 GetData(G4int argComponentId) const { return GetComponent(argComponentId)->GetData(0); }
    71    virtual void                                 SetEnergiesData(G4DataVector * argEnergies, G4DataVector * argData, G4int argComponentId);
     74  virtual const G4DataVector& GetEnergies(G4int componentId) const { return GetComponent(componentId)->GetEnergies(0); }
     75  virtual const G4DataVector& GetData(G4int componentId) const { return GetComponent(componentId)->GetData(0); }
     76  virtual void SetEnergiesData(G4DataVector* x, G4DataVector* data, G4int componentId);
    7277
    73    virtual G4bool                               LoadData(const G4String & argFileName);
    74    virtual G4bool                               SaveData(const G4String & argFileName) const;
     78  virtual G4bool LoadData(const G4String& fileName);
     79  virtual G4bool SaveData(const G4String& fileName) const;
     80
     81 virtual G4double RandomSelect(G4int componentId) const;
     82
    7583   
    76   private:
    77    void                                         CleanUpComponents(void);
     84private:
     85
     86  void CleanUpComponents(void);
    7887 
    79    // Hide copy constructor and assignment operator
    80                                                 G4CompositeEMDataSet();
    81                                                 G4CompositeEMDataSet(const G4CompositeEMDataSet & copy);
    82    G4CompositeEMDataSet &                       operator=(const G4CompositeEMDataSet & right);
     88  // Hide copy constructor and assignment operator
     89  G4CompositeEMDataSet();
     90  G4CompositeEMDataSet(const G4CompositeEMDataSet& copy);
     91  G4CompositeEMDataSet& operator=(const G4CompositeEMDataSet& right);
    8392
    84    std::vector<G4VEMDataSet *>                  components;          // Owned pointers
     93  std::vector<G4VEMDataSet*> components;    // Owned pointers
    8594
    86    G4VDataSetAlgorithm *                        algorithm;           // Owned pointer
     95  G4VDataSetAlgorithm* algorithm;           // Owned pointer
    8796 
    88    G4double                                    unitEnergies;
    89    G4double                                    unitData;
     97  G4double unitEnergies;
     98  G4double unitData;
    9099
    91    G4int                                        minZ;
    92    G4int                                        maxZ;
    93  };
     100  G4int minZ;
     101  G4int maxZ;
     102};
    94103#endif /* G4COMPOSITEEMDATASET_HH */
    95104
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionChargeDecrease.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionChargeDecrease.hh,v 1.1 2007/11/08 18:24:04 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionChargeDecrease.hh,v 1.2 2008/07/14 20:47:32 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONCHARGEDECREASE_HH
    5230#define G4CROSSSECTIONCHARGEDECREASE_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <map>
    5632#include "G4CrossSectionChargeDecreasePartial.hh"
     33#include "G4Track.hh"
     34#include "G4Proton.hh"
     35#include "G4DNAGenericIonsManager.hh"
    5736
    58 class G4Track;
    59  
    6037class G4CrossSectionChargeDecrease
    6138{
     
    6845  G4double CrossSection(const G4Track&);
    6946 
    70   // Copy constructor and assignment operator to be added here
    71    
    7247private:
    7348   
    74   G4String name; 
    7549  G4double lowEnergyLimitDefault;
    7650  G4double highEnergyLimitDefault;
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionChargeDecreasePartial.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionChargeDecreasePartial.hh,v 1.1 2007/11/08 18:24:04 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 // 08 Nov 2007  MGP               Got code from S.I.; lowercase data member
    37 //
    38 // -------------------------------------------------------------------
    39 
    40 // Class description:
    41 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4CrossSectionChargeDecreasePartial.hh,v 1.2 2008/07/14 20:47:32 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4CROSSSECTIONCHARGEDECREASEPARTIAL_HH
    5330#define G4CROSSSECTIONCHARGEDECREASEPARTIAL_HH 1
    5431 
    55 #include "globals.hh"
     32#include "G4Proton.hh"
     33#include "G4DNAGenericIonsManager.hh"
     34#include "Randomize.hh"
    5635
    5736class G4ParticleDefinition;
     
    7150  G4int RandomSelect(G4double energy, const G4ParticleDefinition* particle);
    7251 
    73   // Copy constructor and assignment operator to be added here
    74    
    7552private:
    7653   
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionChargeIncrease.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionChargeIncrease.hh,v 1.1 2007/11/08 18:24:04 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionChargeIncrease.hh,v 1.2 2008/07/14 20:47:33 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONCHARGEIncrease_HH
    5230#define G4CROSSSECTIONCHARGEIncrease_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <map>
    5632#include "G4CrossSectionChargeIncreasePartial.hh"
     33#include "G4Track.hh"
     34#include "G4DNAGenericIonsManager.hh"
    5735
    58 class G4Track;
    59  
    6036class G4CrossSectionChargeIncrease
    6137{
     
    6844  G4double CrossSection(const G4Track&);
    6945 
    70   // Copy constructor and assignment operator to be added here
    71    
    7246private:
    7347   
    74   G4String name; 
    7548  G4double lowEnergyLimitDefault;
    7649  G4double highEnergyLimitDefault;
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionChargeIncreasePartial.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionChargeIncreasePartial.hh,v 1.1 2007/11/08 18:24:04 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionChargeIncreasePartial.hh,v 1.2 2008/07/14 20:47:33 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONCHARGEIncreasePARTIAL_HH
    5230#define G4CROSSSECTIONCHARGEIncreasePARTIAL_HH 1
    5331 
    54 #include "globals.hh"
    55 
    56 class G4ParticleDefinition;
     32#include "G4DNAGenericIonsManager.hh"
     33#include "Randomize.hh"
    5734 
    5835class G4CrossSectionChargeIncreasePartial
     
    7047  G4int RandomSelect(G4double energy, const G4ParticleDefinition* particle);
    7148 
    72   // Copy constructor and assignment operator to be added here
    73    
    7449private:
    7550   
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionElasticScreenedRutherford.hh

    r819 r961  
    2626//
    2727// $Id: G4CrossSectionElasticScreenedRutherford.hh,v 1.1 2007/10/12 23:07:10 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionExcitationBorn.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionExcitationBorn.hh,v 1.1 2007/10/15 08:33:25 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionExcitationBorn.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONEXCITATIONBORN_HH
    5230#define G4CROSSSECTIONEXCITATIONBORN_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <vector>
    56 #include "G4WaterExcitationStructure.hh"
    5732#include "G4DNACrossSectionDataSet.hh"
     33#include "G4Track.hh"
     34#include "G4LogLogInterpolation.hh"
    5835
    59 class G4Track;
    60  
    6136class G4CrossSectionExcitationBorn
    6237{
     
    6944  G4double CrossSection(const G4Track& track);
    7045 
    71   // Copy constructor and assignment operator to be added here
    72    
    7346private:
    7447   
    75   G4String name; 
    7648  G4double lowEnergyLimit;
    7749  G4double highEnergyLimit;
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionExcitationBornPartial.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionExcitationBornPartial.hh,v 1.1 2007/10/15 08:34:12 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionExcitationBornPartial.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONEXCITATIONBORNPARTIAL_HH
    5230#define G4CROSSSECTIONEXCITATIONBORNPARTIAL_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <vector>
    5632#include "G4DNACrossSectionDataSet.hh"
     33#include "G4LogLogInterpolation.hh"
     34#include "Randomize.hh"
     35#include <deque>
    5736 
    5837class G4CrossSectionExcitationBornPartial
     
    6443  virtual ~G4CrossSectionExcitationBornPartial();
    6544 
    66   // Select an excitation level according to the partial cross sections
    6745  G4int RandomSelect(G4double energy);
    6846 
    69   // Copy constructor and assignment operator to be added here
    70    
    7147private:
    7248   
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionExcitationEmfietzoglou.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionExcitationEmfietzoglou.hh,v 1.2 2007/10/15 08:31:49 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionExcitationEmfietzoglou.hh,v 1.3 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONEXCITATIONEMFIETZOGLOU_HH
    5230#define G4CROSSSECTIONEXCITATIONEMFIETZOGLOU_HH 1
    5331 
    54 #include "globals.hh"
    5532#include "G4CrossSectionExcitationEmfietzoglouPartial.hh"
     33#include "G4Track.hh"
    5634
    57 class G4Track;
    58  
    5935class G4CrossSectionExcitationEmfietzoglou
    6036{
     
    6743  G4double CrossSection(const G4Track&);
    6844 
    69   // Copy constructor and assignment operator to be added here
    70    
    7145private:
    7246   
    73   G4String name; 
    7447  G4double lowEnergyLimit;
    7548  G4double highEnergyLimit;
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionExcitationEmfietzoglouPartial.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionExcitationEmfietzoglouPartial.hh,v 1.1 2007/10/15 08:33:25 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionExcitationEmfietzoglouPartial.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONEXCITATIONEMFIETZOGLOUPARTIAL_HH
    5230#define G4CROSSSECTIONEXCITATIONEMFIETZOGLOUPARTIAL_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <vector>
    5632#include "G4WaterExcitationStructure.hh"
     33#include <deque>
     34#include "Randomize.hh"
    5735
    5836class G4Track;
     
    7250  G4int RandomSelect(G4double energy);
    7351 
    74   // Copy constructor and assignment operator to be added here
    75    
    7652private:
    7753   
    78  // Number of excitation levels of the water molecule
    7954  G4int nLevels;
    8055
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionExcitationMillerGreen.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionExcitationMillerGreen.hh,v 1.2 2007/11/08 19:56:02 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionExcitationMillerGreen.hh,v 1.3 2008/07/14 20:47:34 sincerti Exp $
    5027
    5128#ifndef G4CROSSSECTIONEXCITATIONMILLERGREEN_HH
    5229#define G4CROSSSECTIONEXCITATIONMILLERGREEN_HH 1
    5330 
    54 #include "globals.hh"
    55 #include <map>
    5631#include "G4CrossSectionExcitationMillerGreenPartial.hh"
    57 
    58 class G4Track;
     32#include "G4Track.hh"
     33#include "G4Proton.hh"
     34#include "G4CrossSectionExcitationEmfietzoglouPartial.hh"
     35#include "G4DNAGenericIonsManager.hh"
    5936 
    6037class G4CrossSectionExcitationMillerGreen
     
    6845  G4double CrossSection(const G4Track&);
    6946 
    70   // Copy constructor and assignment operator to be added here
    71    
    7247private:
    7348   
    74   G4String name; 
    7549  G4double lowEnergyLimitDefault;
    7650  G4double highEnergyLimitDefault;
     
    8054
    8155  G4CrossSectionExcitationMillerGreenPartial partialCrossSection;
    82 
    8356};
    8457
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionExcitationMillerGreenPartial.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionExcitationMillerGreenPartial.hh,v 1.1 2007/11/08 19:56:02 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionExcitationMillerGreenPartial.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONEXCITATIONMILLERGREENPARTIAL_HH
    5230#define G4CROSSSECTIONEXCITATIONMILLERGREENPARTIAL_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <vector>
    5632#include "G4WaterExcitationStructure.hh"
    57 #include "G4ParticleDefinition.hh"
     33#include "G4Track.hh"
     34#include "G4Proton.hh"
     35#include "G4DNAGenericIonsManager.hh"
     36#include "G4CrossSectionExcitationEmfietzoglouPartial.hh"
     37#include "Randomize.hh"
    5838
    59 class G4Track;
    60  
    6139class G4CrossSectionExcitationMillerGreenPartial
    6240{
     
    7351  G4int RandomSelect(G4double energy, const G4ParticleDefinition* particle);
    7452 
    75   // Copy constructor and assignment operator to be added here
    76    
    7753private:
    7854   
    79   // Number of excitation levels of the water molecule
    8055  G4int nLevels;
    8156
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh

    r819 r961  
    2626//
    2727// $Id: G4CrossSectionHandler.hh,v 1.9 2006/06/29 19:33:10 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionIonisationBorn.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4CrossSectionIonisationBorn.hh,v 1.1 2007/10/22 09:12:58 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for ionisation cross section in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     27// $Id: G4CrossSectionIonisationBorn.hh,v 1.3 2008/12/18 13:01:22 gunter Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5029
    5130#ifndef G4CROSSSECTIONIONISATIONBORN_HH
    5231#define G4CROSSSECTIONIONISATIONBORN_HH 1
    5332 
    54 #include "globals.hh"
    55 #include <map>
    5633#include "G4DNACrossSectionDataSet.hh"
     34#include "G4ParticleDefinition.hh"
     35#include "G4Electron.hh"
     36#include "G4Proton.hh"
     37#include "G4Track.hh"
     38#include "G4LogLogInterpolation.hh"
    5739 
    58 class G4Track;
    59 
    6040class G4CrossSectionIonisationBorn
    6141{
     
    6848  G4double CrossSection(const G4Track& track);
    6949                       
    70   // Copy constructor and assignment operator to be added here
    71    
    7250private:
    7351   
    74   G4String name; 
    7552  G4double lowEnergyLimitDefault;
    7653  G4double highEnergyLimitDefault;
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionIonisationBornElectron.hh

    r819 r961  
    2626//
    2727// $Id: G4CrossSectionIonisationBornElectron.hh,v 1.1 2007/10/15 08:33:25 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionIonisationBornPartial.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionIonisationBornPartial.hh,v 1.1 2007/10/22 09:12:58 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for ionisation cross section in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionIonisationBornPartial.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONIONISATIONBORNPARTIAL_HH
    5230#define G4CROSSSECTIONIONISATIONBORNPARTIAL_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <map>
    56 #include <functional>
    5732#include "G4DNACrossSectionDataSet.hh"
     33#include "G4Electron.hh"
     34#include "G4Proton.hh"
     35#include "G4Track.hh"
     36#include "G4LogLogInterpolation.hh"
     37#include "Randomize.hh"
    5838 
    59 class G4Track;
    60 
    6139class G4CrossSectionIonisationBornPartial
    6240{
     
    6745  ~G4CrossSectionIonisationBornPartial();
    6846 
    69   // Partial cross section
    70   // G4double CrossSection(G4double energy, const G4String& particle);
    7147  G4double CrossSection(const G4Track& track);
    7248                       
    73   // Sum of partial cross sections at a given energy value for a particle type
    7449  G4double Sum(G4double energy, const G4String& particle);
    7550
    7651  G4int RandomSelect(G4double energy,const G4String& particle );
    7752 
    78   // Copy constructor and assignment operator to be added here
    79    
    8053private:
    8154   
    82   G4String name; 
    8355  G4double lowEnergyLimitDefault;
    8456  G4double highEnergyLimitDefault;
     
    9365  MapData tableData;
    9466
    95 
    96 
    97   // G4DNACrossSectionDataSet* table;
    98  
    9967};
    10068
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionIonisationBornPartialElectron.hh

    r819 r961  
    2626//
    2727// $Id: G4CrossSectionIonisationBornPartialElectron.hh,v 1.1 2007/10/15 08:33:25 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionIonisationRudd.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionIonisationRudd.hh,v 1.1 2007/11/08 21:35:31 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for ionisation cross section in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionIonisationRudd.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONIONISATIONRUDD_HH
    5230#define G4CROSSSECTIONIONISATIONRUDD_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <map>
    5632#include "G4DNACrossSectionDataSet.hh"
     33#include "G4Proton.hh"
     34#include "G4Track.hh"
     35#include "G4LogLogInterpolation.hh"
     36#include "G4DNAGenericIonsManager.hh"
    5737 
    58 class G4Track;
    59 
    6038class G4CrossSectionIonisationRudd
    6139{
     
    6846  G4double CrossSection(const G4Track& track);
    6947                       
    70   // Copy constructor and assignment operator to be added here
    71    
    7248private:
    7349   
    74   G4String name; 
    7550  G4double lowEnergyLimitDefault;
    7651  G4double highEnergyLimitDefault;
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionIonisationRuddPartial.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionIonisationRuddPartial.hh,v 1.1 2007/11/08 21:35:31 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for ionisation cross section in water
    41 // Reference: TNS Geant4-DNA paper
    42 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    43 // design foundation and implementation of the first set of models,
    44 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    45 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    46 // Further documentation available from http://www.ge.infn.it/geant4/dna
    47 
    48 // -------------------------------------------------------------------
    49 
     26// $Id: G4CrossSectionIonisationRuddPartial.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129#ifndef G4CROSSSECTIONIONISATIONRuddPARTIAL_HH
    5230#define G4CROSSSECTIONIONISATIONRuddPARTIAL_HH 1
    5331 
    54 #include "globals.hh"
    55 #include <map>
    56 #include <functional>
    5732#include "G4DNACrossSectionDataSet.hh"
    58  
    59 class G4Track;
     33#include "G4Proton.hh"
     34#include "G4Track.hh"
     35#include "G4LogLogInterpolation.hh"
     36#include "G4DNAGenericIonsManager.hh"
     37#include "Randomize.hh"
    6038
    6139class G4CrossSectionIonisationRuddPartial
     
    6745  ~G4CrossSectionIonisationRuddPartial();
    6846 
    69   // Partial cross section
    70   // G4double CrossSection(G4double energy, const G4String& particle);
    7147  G4double CrossSection(const G4Track& track);
    7248                       
    73   // Sum of partial cross sections at a given energy value for a particle type
    7449  G4double Sum(G4double energy, const G4String& particle);
    7550
    7651  G4int RandomSelect(G4double energy,const G4String& particle );
    7752 
    78   // Copy constructor and assignment operator to be added here
    79    
    8053private:
    8154   
    82   G4String name; 
    8355  G4double lowEnergyLimitDefault;
    8456  G4double highEnergyLimitDefault;
     
    9264  typedef std::map<G4String,G4DNACrossSectionDataSet*,std::less<G4String> > MapData;
    9365  MapData tableData;
    94 
    95 
    96 
    97   // G4DNACrossSectionDataSet* table;
    98  
    9966};
    10067
  • trunk/source/processes/electromagnetic/lowenergy/include/G4CrossSectionKill.hh

    r819 r961  
    2626//
    2727// $Id: G4CrossSectionKill.hh,v 1.1 2007/11/09 20:26:47 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4DNACrossSectionDataSet.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4DNACrossSectionDataSet.hh,v 1.4 2007/10/15 08:31:49 pia Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4DNACrossSectionDataSet.hh,v 1.6 2008/03/17 13:45:25 pia Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Riccardo Capra <capra@ge.infn.it>
     
    4545// -------------------------------------------------------------------
    4646
    47 #ifndef   G4DNACROSSSECTIONDATASET_HH
    48  #define  G4DNACROSSSECTIONDATASET_HH 1
     47#ifndef  G4DNACROSSSECTIONDATASET_HH
     48#define  G4DNACROSSSECTIONDATASET_HH 1
    4949
    50  #include "G4ShellEMDataSet.hh"
     50#include "G4ShellEMDataSet.hh"
    5151
    52  class G4DNACrossSectionDataSet : public G4VEMDataSet
    53  {
    54   public:
    55    G4DNACrossSectionDataSet(G4VDataSetAlgorithm* argAlgorithm,
    56                             G4double argUnitEnergies=MeV,
    57                             G4double argUnitData=barn);
     52class G4DNACrossSectionDataSet : public G4VEMDataSet
     53{
    5854
    59    virtual ~G4DNACrossSectionDataSet();
     55public:
     56  G4DNACrossSectionDataSet(G4VDataSetAlgorithm* algo,
     57                           G4double xUnit=MeV,
     58                           G4double dataUnit=barn);
    6059
    61    virtual G4double FindValue(G4double argEnergy, G4int argComponentId=0) const;
     60  virtual ~G4DNACrossSectionDataSet();
     61
     62  virtual G4double FindValue(G4double e, G4int componentId=0) const;
    6263 
    63    virtual void PrintData(void) const;
     64  virtual void PrintData(void) const;
    6465
    65    virtual const G4VEMDataSet*  GetComponent(G4int argComponentId) const
    66    { return components[argComponentId]; }
     66  virtual const G4VEMDataSet*  GetComponent(G4int componentId) const
     67  { return components[componentId]; }
    6768
    68    virtual void AddComponent(G4VEMDataSet * argDataSet)
    69    { components.push_back(argDataSet); }
    70    virtual size_t NumberOfComponents(void) const
    71    { return components.size(); }
     69  virtual void AddComponent(G4VEMDataSet* dataSet)
     70  { components.push_back(dataSet); }
    7271
    73    virtual const G4DataVector& GetEnergies(G4int argComponentId) const
    74    { return GetComponent(argComponentId)->GetEnergies(0); }
     72  virtual size_t NumberOfComponents(void) const
     73  { return components.size(); }
    7574
    76    virtual const G4DataVector& GetData(G4int argComponentId) const
    77    { return GetComponent(argComponentId)->GetData(0); }
     75  virtual const G4DataVector& GetEnergies(G4int componentId) const
     76  { return GetComponent(componentId)->GetEnergies(0); }
    7877
    79    virtual void SetEnergiesData(G4DataVector* argEnergies, G4DataVector* argData, G4int argComponentId);
     78  virtual const G4DataVector& GetData(G4int componentId) const
     79  { return GetComponent(componentId)->GetData(0); }
    8080
    81    virtual G4bool LoadData(const G4String & argFileName);
    82    virtual G4bool SaveData(const G4String & argFileName) const;
     81  virtual void SetEnergiesData(G4DataVector* x, G4DataVector* values, G4int componentId);
    8382
    84    //   void CleanUpComponents();
     83  virtual G4bool LoadData(const G4String & argFileName);
     84  virtual G4bool SaveData(const G4String & argFileName) const;
     85 
     86  virtual G4double RandomSelect(G4int /*componentId */) const { return -1.; };
     87
     88
     89  //   void CleanUpComponents();
    8590   
    86   private:
     91private:
    8792
    88    G4String FullFileName(const G4String & argFileName) const;
     93  G4String FullFileName(const G4String & argFileName) const;
    8994
    90    // Hide copy constructor and assignment operator
    91    G4DNACrossSectionDataSet();
    92    G4DNACrossSectionDataSet(const G4DNACrossSectionDataSet & copy);
    93    G4DNACrossSectionDataSet& operator=(const G4DNACrossSectionDataSet & right);
     95  // Hide copy constructor and assignment operator
     96  G4DNACrossSectionDataSet();
     97  G4DNACrossSectionDataSet(const G4DNACrossSectionDataSet & copy);
     98  G4DNACrossSectionDataSet& operator=(const G4DNACrossSectionDataSet & right);
    9499
    95    std::vector<G4VEMDataSet*> components;          // Owned pointers
     100  std::vector<G4VEMDataSet*> components;          // Owned pointers
    96101
    97    G4int z;
     102  G4int z;
    98103
    99    G4VDataSetAlgorithm* algorithm;           // Owned pointer
     104  G4VDataSetAlgorithm* algorithm;           // Owned pointer
    100105 
    101    G4double unitEnergies;
    102    G4double unitData;
     106  G4double unitEnergies;
     107  G4double unitData;
    103108
    104    G4double GetUnitEnergies() const { return unitEnergies; }
    105    G4double GetUnitData() const { return unitData; }
    106    const G4VDataSetAlgorithm* GetAlgorithm() const { return algorithm; }
     109  G4double GetUnitEnergies() const { return unitEnergies; }
     110  G4double GetUnitData() const { return unitData; }
     111  const G4VDataSetAlgorithm* GetAlgorithm() const { return algorithm; }
    107112   
    108    void CleanUpComponents(void);
     113  void CleanUpComponents(void);
    109114
    110115
  • trunk/source/processes/electromagnetic/lowenergy/include/G4DNAGenericIonsManager.hh

    r819 r961  
    2626//
    2727// $Id: G4DNAGenericIonsManager.hh,v 1.3 2006/06/29 19:34:16 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929
    3030#ifndef   G4DNAGENERICIONSMANAGER_HH
  • trunk/source/processes/electromagnetic/lowenergy/include/G4DNAProcess.hh

    r819 r961  
    2626//
    2727// $Id: G4DNAProcess.hh,v 1.5 2007/11/09 16:20:04 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author:  Maria Grazia Pia (Maria.Grazia.Pia@ge.infn.it)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4DNAProcess.icc

    r819 r961  
    2525//
    2626//
    27 // $Id: G4DNAProcess.icc,v 1.11 2007/12/10 16:31:19 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4DNAProcess.icc,v 1.12 2009/01/20 07:50:28 sincerti Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
     
    111111      aParticleChange.ProposeEnergy(0.);
    112112      aParticleChange.ProposeMomentumDirection( 0., 0., 0. );
    113       aParticleChange.ProposeLocalEnergyDeposit(track.GetKineticEnergy() + deposit);
    114        
     113     
     114      if (product.PrimaryParticleIsKilledAndDoNotDepositEnergy())
     115      {
     116        aParticleChange.ProposeLocalEnergyDeposit(deposit);
     117      }
     118      else
     119      {
     120        aParticleChange.ProposeLocalEnergyDeposit(track.GetKineticEnergy() + deposit);
     121      }
     122     
    115123    }
    116124  else
  • trunk/source/processes/electromagnetic/lowenergy/include/G4DummyFinalState.hh

    r819 r961  
    2626//
    2727// $Id: G4DummyFinalState.hh,v 1.2 2007/10/07 12:52:18 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4EMDataSet.hh,v 1.7 2006/06/29 19:35:31 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4EMDataSet.hh,v 1.12 2008/03/17 13:45:25 pia Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
     
    4545
    4646#ifndef   G4EMDATASET_HH
    47  #define  G4EMDATASET_HH 1
     47#define  G4EMDATASET_HH 1
    4848
    49  #include "globals.hh"
    50  #include "G4VEMDataSet.hh"
     49#include "globals.hh"
     50#include "G4VEMDataSet.hh"
    5151
    52  class G4VDataSetAlgorithm;
     52class G4VDataSetAlgorithm;
    5353
    54  class G4EMDataSet : public G4VEMDataSet
    55  {
    56   public:
    57                                                 G4EMDataSet(G4int argZ, G4VDataSetAlgorithm * argAlgorithm, G4double argUnitEnergies=MeV, G4double argUnitData=barn);
    58                                                 G4EMDataSet(G4int argZ, G4DataVector * argEnergies, G4DataVector * argData, G4VDataSetAlgorithm * argAlgorithm, G4double argUnitEnergues=MeV, G4double argUnitData=barn);
    59    virtual                                     ~G4EMDataSet();
     54class G4EMDataSet : public G4VEMDataSet
     55{
     56public:
     57  G4EMDataSet(G4int argZ,
     58              G4VDataSetAlgorithm* algo,
     59              G4double xUnit=MeV,
     60              G4double yUnit=barn,
     61              G4bool random=false);
     62
     63  G4EMDataSet(G4int argZ,
     64              G4DataVector* xData,
     65              G4DataVector* data,
     66              G4VDataSetAlgorithm* algo,
     67              G4double xUnit=MeV,
     68              G4double yUnit=barn,
     69              G4bool random=false);
     70
     71  virtual ~G4EMDataSet();
    6072 
    61    virtual G4double                             FindValue(G4double argEnergy, G4int argComponentId=0) const;
     73  virtual G4double FindValue(G4double x, G4int componentId=0) const;
    6274 
    63    virtual void                                PrintData(void) const;
     75  virtual void PrintData(void) const;
    6476
    65    virtual const G4VEMDataSet *                 GetComponent(G4int /* argComponentId */) const { return 0; }
    66    virtual void                                 AddComponent(G4VEMDataSet * /* argDataSet */) {}
    67    virtual size_t                               NumberOfComponents(void) const { return 0; }
     77  virtual const G4VEMDataSet* GetComponent(G4int /* componentId */) const { return 0; }
    6878
    69    virtual const G4DataVector &                 GetEnergies(G4int /* argComponentId */) const { return *energies; }
    70    virtual const G4DataVector &                 GetData(G4int /* argComponentId */) const { return *data; }
    71    virtual void                                 SetEnergiesData(G4DataVector * argEnergies, G4DataVector * argData, G4int argComponentId);
     79  virtual void AddComponent(G4VEMDataSet* /* dataSet */) {}
    7280
    73    virtual G4bool                               LoadData(const G4String & argFileName);
    74    virtual G4bool                               SaveData(const G4String & argFileName) const;
    75    
    76   private:
    77    size_t                                       FindLowerBound(G4double argEnergy) const;
    78    
    79    G4String                                     FullFileName(const G4String & argFileName) const;
     81  virtual size_t NumberOfComponents(void) const { return 0; }
    8082
    81    // Hide copy constructor and assignment operator
    82                                                 G4EMDataSet();
    83                                                 G4EMDataSet(const G4EMDataSet & copy);
    84    G4EMDataSet &                                operator=(const G4EMDataSet & right);
     83  virtual const G4DataVector& GetEnergies(G4int /* componentId */) const { return *energies; }
     84  virtual const G4DataVector& GetData(G4int /* componentId */) const { return *data; }
     85  virtual void SetEnergiesData(G4DataVector* xData, G4DataVector* data, G4int componentId);
    8586
    86    G4int                                        z;
     87  virtual G4bool LoadData(const G4String& fileName);
     88  virtual G4bool SaveData(const G4String& fileName) const;
    8789
    88    G4DataVector *                               energies;            // Owned pointer
    89    G4DataVector *                               data;                // Owned pointer
     90  virtual G4double RandomSelect(G4int componentId = 0) const;
     91    
    9092
    91    G4VDataSetAlgorithm *                        algorithm;           // Owned pointer
     93private:
     94
     95  size_t FindLowerBound(G4double energy) const;
     96  size_t FindLowerBound(G4double x, G4DataVector* values) const;
     97
     98  G4double IntegrationFunction(G4double x);
     99
     100  virtual void BuildPdf();
    92101 
    93    G4double                                     unitEnergies;
    94    G4double                                     unitData;
    95  };
     102  G4String FullFileName(const G4String& fileName) const;
     103
     104  // Hide copy constructor and assignment operator
     105  G4EMDataSet();
     106  G4EMDataSet(const G4EMDataSet& copy);
     107  G4EMDataSet& operator=(const G4EMDataSet& right);
     108
     109  G4int z;
     110
     111  G4DataVector* energies;            // Owned pointer
     112  G4DataVector* data;                // Owned pointer
     113
     114  G4VDataSetAlgorithm* algorithm;    // Owned pointer
     115 
     116  G4double unitEnergies;
     117  G4double unitData;
     118
     119  G4DataVector* pdf;
     120  G4bool randomSet;
     121};
    96122#endif /* G4EMDATASET_HH */
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateChargeDecrease.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateChargeDecrease.hh,v 1.1 2007/11/08 18:24:04 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4FinalStateChargeDecrease.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4FINALSTATECHARGEDECREASE_HH
    5330#define G4FINALSTATECHARGEDECREASE_HH 1
    5431 
    55 #include "globals.hh"
    5632#include "G4FinalStateProduct.hh"
    57 //#include "G4WaterExcitationStructure.hh"
    5833#include "G4CrossSectionChargeDecreasePartial.hh"
    5934
    60 class G4Track;
    61 class G4Step;
    62 
    63  class G4FinalStateChargeDecrease
    64  {
     35class G4FinalStateChargeDecrease
     36{
    6537 public:
    6638   
     
    7345 private:
    7446   
    75    // Copy constructor and assignment operator to be added here
    76    
    77    G4String name; 
    7847   G4double lowEnergyLimit;
    7948   G4double highEnergyLimit;
     
    8958};
    9059
    91 
    9260#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateChargeIncrease.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateChargeIncrease.hh,v 1.1 2007/11/08 18:24:04 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4FinalStateChargeIncrease.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4FINALSTATECHARGEIncrease_HH
    5330#define G4FINALSTATECHARGEIncrease_HH 1
    5431 
    55 #include "globals.hh"
    5632#include "G4FinalStateProduct.hh"
    5733#include "G4CrossSectionChargeIncreasePartial.hh"
     34#include "G4Electron.hh"
     35#include "G4Proton.hh"
    5836
    59 class G4Track;
    60 class G4Step;
    61 
    62  class G4FinalStateChargeIncrease
    63  {
     37class G4FinalStateChargeIncrease
     38{
    6439 public:
    6540   
     
    7247 private:
    7348   
    74    // Copy constructor and assignment operator to be added here
    75    
    76    G4String name; 
    7749   G4double lowEnergyLimit;
    7850   G4double highEnergyLimit;
     
    8961};
    9062
    91 
    9263#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateElasticBrennerZaider.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateElasticBrennerZaider.hh,v 1.1 2007/10/12 23:07:10 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4FinalStateElasticBrennerZaider.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4FINALSTATEELASTICBRENNERZAIDER_HH
    5330#define G4FINALSTATEELASTICBRENNERZAIDER_HH 1
    5431 
    55 #include "globals.hh"
    5632#include "G4FinalStateProduct.hh"
     33#include "Randomize.hh"
    5734
    5835class G4Track;
     
    7148 private:
    7249   
    73    // Copy constructor and assignment operator to be added here
    74    
    75    G4String name; 
    7650   G4double lowEnergyLimit;
    7751   G4double highEnergyLimit;
     
    8963 };
    9064
    91 
    9265#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateElasticScreenedRutherford.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateElasticScreenedRutherford.hh,v 1.2 2007/10/12 23:02:55 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4FinalStateElasticScreenedRutherford.hh,v 1.3 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4FINALSTATEELASTICSCREENEDRUTHERFORD_HH
    5330#define G4FINALSTATEELASTICSCREENEDRUTHERFORD_HH 1
    5431 
    55 #include "globals.hh"
    5632#include "G4FinalStateProduct.hh"
     33#include "Randomize.hh"
    5734
    5835class G4Track;
     
    7148 private:
    7249   
    73    // Copy constructor and assignment operator to be added here
    74    
    75    G4String name; 
    7650   G4double lowEnergyLimit;
    7751   G4double highEnergyLimit;
     
    8357 };
    8458
    85 
    8659#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateExcitationBorn.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateExcitationBorn.hh,v 1.1 2007/10/15 08:33:25 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4FinalStateExcitationBorn.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4FINALSTATEEXCITATIONBORN_HH
    5330#define G4FINALSTATEEXCITATIONBORN_HH 1
    5431 
    55 #include "globals.hh"
    5632#include "G4FinalStateProduct.hh"
    5733#include "G4WaterExcitationStructure.hh"
    5834#include "G4CrossSectionExcitationBornPartial.hh"
    5935
    60 class G4Track;
    61 class G4Step;
    62 
    63  class G4FinalStateExcitationBorn
    64  {
     36class G4FinalStateExcitationBorn
     37{
    6538 public:
    6639   
     
    7245   
    7346 private:
    74    
    75    // Copy constructor and assignment operator to be added here
    76    
    77    G4String name; 
     47
    7848   G4double lowEnergyLimit;
    7949   G4double highEnergyLimit;
     
    8555};
    8656
    87 
    8857#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateExcitationEmfietzoglou.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateExcitationEmfietzoglou.hh,v 1.1 2007/10/15 08:33:25 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4FinalStateExcitationEmfietzoglou.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4FINALSTATEEXCITATIONEMFIETZOGLOU_HH
    5330#define G4FINALSTATEEXCITATIONEMFIETZOGLOU_HH 1
    5431 
    55 #include "globals.hh"
    5632#include "G4FinalStateProduct.hh"
    57 #include "G4WaterExcitationStructure.hh"
    5833#include "G4CrossSectionExcitationEmfietzoglouPartial.hh"
    5934
     
    7348 private:
    7449   
    75    // Copy constructor and assignment operator to be added here
    76    
    77    G4String name; 
    7850   G4double lowEnergyLimit;
    7951   G4double highEnergyLimit;
     
    8557};
    8658
    87 
    8859#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateExcitationMillerGreen.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateExcitationMillerGreen.hh,v 1.1 2007/11/08 19:56:02 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4FinalStateExcitationMillerGreen.hh,v 1.2 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4FINALSTATEEXCITATIONMILLERGREEN_HH
    5330#define G4FINALSTATEEXCITATIONMILLERGREEN_HH 1
    5431 
    55 #include "globals.hh"
    5632#include "G4FinalStateProduct.hh"
    57 #include "G4WaterExcitationStructure.hh"
    5833#include "G4CrossSectionExcitationMillerGreenPartial.hh"
    5934
    60 class G4Track;
    61 class G4Step;
    62 
    63  class G4FinalStateExcitationMillerGreen
    64  {
     35class G4FinalStateExcitationMillerGreen
     36{
    6537 public:
    6638   
     
    7345 private:
    7446   
    75    // Copy constructor and assignment operator to be added here
    76    
    77    G4String name; 
    7847   G4double lowEnergyLimit;
    7948   G4double highEnergyLimit;
     
    8554};
    8655
    87 
    8856#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateIonisationBorn.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateIonisationBorn.hh,v 1.3 2007/11/13 15:20:19 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
    50 
     26// $Id: G4FinalStateIonisationBorn.hh,v 1.4 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#ifndef G4FINALSTATEIONISATIONBORN_HH
    5330#define G4FINALSTATEIONISATIONBORN_HH 1
    5431 
    55 #include "globals.hh"
    5632#include "G4FinalStateProduct.hh"
    5733#include "G4WaterIonisationStructure.hh"
     
    6137class G4Step;
    6238
    63  class G4FinalStateIonisationBorn
    64  {
     39class G4FinalStateIonisationBorn
     40{
    6541 public:
    6642   
     
    7147   const G4FinalStateProduct& GenerateFinalState(const G4Track& track, const G4Step& step);
    7248   
    73  private:
     49private:
    7450   
    75    // Copy constructor and assignment operator to be added here
    76    
    77    G4String name; 
    7851   G4double lowEnergyLimitDefault;
    7952   G4double highEnergyLimitDefault;
     
    11285   TriDimensionMap eDiffCrossSectionData[6];
    11386   TriDimensionMap pDiffCrossSectionData[6];
    114    // TriDimensionMap eDiffCrossSectionData;
    115    // TriDimensionMap pDiffCrossSectionData;
    11687   std::vector<double> eTdummyVec;
    11788   std::vector<double> pTdummyVec;
     
    12192   VecMap pVecm;
    12293 
    123    //   std::ifstream eDiffCrossSection;
    124    //   std::ifstream pDiffCrossSection;
    125    
    12694};
    12795
    128 
    12996#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateIonisationRudd.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateIonisationRudd.hh,v 1.2 2007/11/09 16:30:56 pia Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
    31 //
    32 // History:
    33 // -----------
    34 // Date         Name              Modification
    35 // 28 Apr 2007  M.G. Pia          Created in compliance with design described in TNS paper
    36 //
    37 // -------------------------------------------------------------------
    38 
    39 // Class description:
    40 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    41 // Reference: TNS Geant4-DNA paper
    42 // Reference: TNS Geant4-DNA paper
    43 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    44 // design foundation and implementation of the first set of models,
    45 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    46 // Reference for implementation model: NIM. 155, pp. 145-156, 1978
    47 // Further documentation available from http://www.ge.infn.it/geant4/dna
    48 
    49 // -------------------------------------------------------------------
     26// $Id: G4FinalStateIonisationRudd.hh,v 1.4 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5028
    5129
     
    5331#define G4FINALSTATEIONISATIONRUDD_HH 1
    5432 
    55 #include "globals.hh"
    5633#include "G4FinalStateProduct.hh"
    5734#include "G4WaterIonisationStructure.hh"
    5835#include "G4CrossSectionIonisationRuddPartial.hh"
    59 
    60 class G4Track;
    61 class G4Step;
    62 class G4ParticleDefinition;
     36#include "G4Electron.hh"
     37#include "G4Proton.hh"
    6338
    6439class G4FinalStateIonisationRudd
     
    7449private:
    7550   
    76   // Copy constructor and assignment operator to be added here
    77    
    78   G4String name; 
    7951  G4double lowEnergyLimitDefault;
    8052  G4double highEnergyLimitDefault;
     
    9567                                         G4double incomingParticleEnergy,
    9668                                         G4double outgoingParticleEnergy,
    97                                          G4double cosTheta,
    98                                          G4double phi);
     69                                         G4double & cosTheta,
     70                                         G4double & phi);
    9971   
    10072  G4double  DifferentialCrossSection(G4ParticleDefinition* particleDefinition,
     
    130102};
    131103
    132 
    133104#endif
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateKill.hh

    r819 r961  
    2626//
    2727// $Id: G4FinalStateKill.hh,v 1.1 2007/11/09 20:26:47 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FinalStateProduct.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4FinalStateProduct.hh,v 1.4 2007/10/15 08:31:49 pia Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4FinalStateProduct.hh,v 1.5 2009/01/20 07:50:28 sincerti Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
     
    7272  void ModifyPrimaryParticle(const G4ThreeVector& direction, G4double energy);
    7373 
     74  void DoNotDepositEnergy();
    7475  void KillPrimaryParticle();
    75  
     76
    7677  G4bool PrimaryParticleIsKilled() const { return killStatus; }
     78 
     79  G4bool PrimaryParticleIsKilledAndDoNotDepositEnergy() const { return doNotDepositStatus; }
    7780 
    7881  G4bool PrimaryParticleIsModified() const { return isModified; }
     
    9699 
    97100  G4bool killStatus;
     101  G4bool doNotDepositStatus;
    98102  G4bool isModified;
    99103  G4double localEnergyDeposit;
  • trunk/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh

    r819 r961  
    2626//
    2727// $Id: G4FluoTransition.hh,v 1.2 ????
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh

    r819 r961  
    2626//
    2727// $Id: G4LinInterpolation.hh,v 1.3 2006/06/29 19:35:45 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4LogLogInterpolation.hh,v 1.4 2006/06/29 19:35:51 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4LogLogInterpolation.hh,v 1.6 2008/12/09 13:28:02 sincerti Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh

    r819 r961  
    2727// -------------------------------------------------------------------
    2828// $Id: G4LowEnergyBremsstrahlung.hh,v 1.37 2006/06/29 19:35:55 gunter Exp $
    29 // GEANT4 tag $Name: $
     29// GEANT4 tag $Name: geant4-09-02-ref-02 $
    3030//
    3131// Author: A. Forti
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 // $Id: G4LowEnergyCompton.hh,v 1.21 2006/06/29 19:35:57 gunter Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: G4LowEnergyCompton.hh,v 1.24 2008/11/04 10:14:00 pandola Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// Author: A. Forti
     
    4848#include "globals.hh"
    4949#include "G4VDiscreteProcess.hh"
     50#include "G4ShellData.hh"
     51#include "G4DopplerProfile.hh"
    5052
    5153class G4Track;
     
    6769  G4bool IsApplicable(const G4ParticleDefinition& definition);
    6870 
    69   void BuildPhysicsTable(const G4ParticleDefinition& photon);
     71  void BuildPhysicsTable(const G4ParticleDefinition& definition);
    7072 
    71   G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep);
     73  G4VParticleChange* PostStepDoIt(const G4Track& track, const G4Step& step);
    7274 
    7375  // For testing purpose only
    74   G4double DumpMeanFreePath(const G4Track& aTrack,
     76  G4double DumpMeanFreePath(const G4Track& track,
    7577                            G4double previousStepSize,
    7678                            G4ForceCondition* condition)
    77   { return GetMeanFreePath(aTrack, previousStepSize, condition); }
     79  { return GetMeanFreePath(track, previousStepSize, condition); }
    7880
    7981protected:
    8082
    81   G4double GetMeanFreePath(const G4Track& aTrack,
     83  G4double GetMeanFreePath(const G4Track& track,
    8284                           G4double previousStepSize,
    8385                           G4ForceCondition* condition);
     
    102104  const G4double intrinsicHighEnergyLimit;
    103105
     106  G4ShellData shellData;
     107  G4DopplerProfile profileData;
    104108};
    105109
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh

    r819 r961  
    2626//
    2727// $Id: G4LowEnergyGammaConversion.hh,v 1.15 2006/06/29 19:35:59 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: A. Forti
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh

    r819 r961  
    2626// -------------------------------------------------------------------
    2727// $Id: G4LowEnergyIonisation.hh,v 1.41 2006/06/29 19:36:01 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: A. Forti
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh

    r819 r961  
    2626//
    2727// $Id: G4LowEnergyPhotoElectric.hh,v 1.28 2006/06/29 19:36:03 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: A. Forti
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4LowEnergyPolarizedCompton.hh,v 1.9 2006/06/29 19:36:05 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4LowEnergyPolarizedCompton.hh,v 1.10 2008/05/02 13:04:41 flongo Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// ------------------------------------------------------------
     
    5757#include "globals.hh"
    5858#include "G4VDiscreteProcess.hh"
     59
     60// Doppler Broadening
     61
     62#include "G4ShellData.hh"
     63#include "G4DopplerProfile.hh"
     64
    5965
    6066class G4Track;
     
    125131                         G4ThreeVector& polarization0, G4ThreeVector& polarization1);
    126132 
     133  // Doppler Broadening
     134 
     135  G4ShellData shellData;
     136  G4DopplerProfile profileData;
     137
     138
    127139};
    128140
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedRayleigh.hh

    r819 r961  
    2525//
    2626// $Id: G4LowEnergyPolarizedRayleigh.hh,v 1.5 2006/06/29 19:36:07 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// --------------------------------------------------------------
  • trunk/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh

    r819 r961  
    2626//
    2727// $Id: G4LowEnergyRayleigh.hh,v 1.16 2006/06/29 19:36:09 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlung.hh

    r819 r961  
    2727// -------------------------------------------------------------------
    2828// $Id: G4PenelopeBremsstrahlung.hh,v 1.8 2006/06/29 19:36:15 gunter Exp $
    29 // GEANT4 tag $Name: $
     29// GEANT4 tag $Name: geant4-09-02-ref-02 $
    3030//
    3131// Author: L.Pandola
  • trunk/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungAngular.hh

    r819 r961  
    2727// -------------------------------------------------------------------
    2828// $Id: G4PenelopeBremsstrahlungAngular.hh,v 1.3 2006/06/29 19:36:17 gunter Exp $
    29 // GEANT4 tag $Name: $
     29// GEANT4 tag $Name: geant4-09-02-ref-02 $
    3030//
    3131// Author: L.Pandola
  • trunk/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungContinuous.hh

    r819 r961  
    2626//
    2727// -------------------------------------------------------------------
    28 // $Id: G4PenelopeBremsstrahlungContinuous.hh,v 1.3 2006/06/29 19:36:19 gunter Exp $
    29 // GEANT4 tag $Name: $
     28// $Id: G4PenelopeBremsstrahlungContinuous.hh,v 1.4 2008/12/09 15:04:05 pandola Exp $
     29// GEANT4 tag $Name: geant4-09-02-ref-02 $
    3030//
    3131// Author: L.Pandola
     
    3535// 20 Feb 2003  L. Pandola       1st implementation
    3636// 17 Mar 2003  L. Pandola       Added the correction for positrons
     37// 09 Dec 2008  L. Pandola       Cosmetics: say what variables are
     38//
    3739// Class description:
    3840// Calculation of continuous energy loss for Penelope Bremsstrahlung
     
    5456public:
    5557 
    56   G4PenelopeBremsstrahlungContinuous(G4int Zmat,G4double tCut, G4double emin, G4double emax,
    57                                      const G4String partName);
     58  G4PenelopeBremsstrahlungContinuous(G4int Z,G4double energyCut, G4double energyMin,
     59                                     G4double energyMax,
     60                                     const G4String particleName);
    5861  ~G4PenelopeBremsstrahlungContinuous();
    59   G4double CalculateStopping(G4double PrimaryEnergy);
     62  G4double CalculateStopping(G4double energy);
    6063 
    6164private:
    62 
    6365  void PrepareInterpolationTable();
    6466  void LoadFromFile();
     
    7577  G4double ExtendedLogEnergy[NumberofExtendedEGrid];
    7678  G4double p0[NumberofExtendedEGrid][NumberofKPoints];
    77   //G4double Pbcut[NumberofExtendedEGrid]; //serve?
     79  //G4double Pbcut[NumberofExtendedEGrid]; //useful?
    7880};
    7981
  • trunk/source/processes/electromagnetic/lowenergy/include/G4PenelopeCompton.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PenelopeCompton.hh,v 1.10 2006/06/29 19:36:21 gunter Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: G4PenelopeCompton.hh,v 1.11 2008/03/26 15:30:19 pandola Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// Author: Luciano Pandola
     
    3636// 26 Mar 2003   L.Pandola    Added fluorescence
    3737// 18 Mar 2004   L.Pandola    Use of std::map (code review)
     38// 26 Mar 2008   L.Pandola    Add boolean flag to control atomic de-excitation
    3839//
    3940// -------------------------------------------------------------------
     
    7879  { return GetMeanFreePath(aTrack, previousStepSize, condition); }
    7980
     81  void SetUseAtomicDeexcitation(G4bool value){fUseAtomicDeexcitation = value;};
     82
     83  G4bool GetUseAtomicDeexcitation(){return fUseAtomicDeexcitation;};
     84
    8085protected:
    8186
     
    118123
    119124  std::vector<G4VEMDataSet*> *matCrossSections; //for random choice of atom
     125
    120126  G4double cutForLowEnergySecondaryPhotons;
     127  G4bool fUseAtomicDeexcitation;
    121128};
    122129
  • trunk/source/processes/electromagnetic/lowenergy/include/G4PenelopeGammaConversion.hh

    r819 r961  
    2626//
    2727// $Id: G4PenelopeGammaConversion.hh,v 1.2 2006/06/29 19:36:25 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: L. Pandola
  • trunk/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisation.hh

    r819 r961  
    2626// -------------------------------------------------------------------
    2727// $Id: G4PenelopeIonisation.hh,v 1.5 2006/06/29 19:36:33 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: L. Pandola
  • trunk/source/processes/electromagnetic/lowenergy/include/G4PenelopePhotoElectric.hh

    r819 r961  
    2626//
    2727// $Id: G4PenelopePhotoElectric.hh,v 1.4 2006/06/29 19:36:35 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: L.Pandola
  • trunk/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleigh.hh

    r819 r961  
    2626//
    2727// $Id: G4PenelopeRayleigh.hh,v 1.5 2006/06/29 19:36:37 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Luciano Pandola
  • trunk/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh

    r819 r961  
    2626//
    2727// $Id: G4RangeNoTest.hh,v 1.4 2006/06/29 19:36:47 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh

    r819 r961  
    2626//
    2727// $Id: G4RangeTest.hh,v 1.4 2006/06/29 19:36:49 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh

    r819 r961  
    2626//
    2727// $Id: G4SemiLogInterpolation.hh,v 1.4 2006/06/29 19:36:51 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4ShellData.hh,v 1.5 2007/02/20 16:53:16 mantero Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4ShellData.hh,v 1.7 2008/03/17 13:45:25 pia Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
     
    5555public:
    5656
    57   G4ShellData(G4int minZ = 1, G4int maxZ = 100);
     57  G4ShellData(G4int minZ = 1, G4int maxZ = 100, G4bool isOccupancy = false);
    5858
    5959  ~G4ShellData();
     
    6363  G4int ShellId(G4int Z, G4int shellIndex) const;
    6464
    65   const G4DataVector& ShellIdVector(G4int Z) const;
     65  G4double ShellOccupancyProbability(G4int Z, G4int shellIndex) const;
     66
     67  const std::vector<G4double>& ShellIdVector(G4int Z) const;
    6668
    6769  G4double BindingEnergy(G4int Z, G4int shellIndex) const;
     70
     71  void SetOccupancyData() { occupancyData = true; }
    6872
    6973  void LoadData(const G4String& fileName);
    7074
    7175  void PrintData() const;
     76
     77  // Randomly select a shell based on shell occupancy
     78  G4int SelectRandomShell(G4int Z) const;
    7279
    7380private:
     
    7784  G4ShellData(const G4ShellData&);
    7885
    79    G4int zMin;
     86  const std::vector<G4double>& ShellVector(G4int Z) const;
     87
     88  G4int zMin;
    8089  G4int zMax;
    8190
    82   std::map<G4int,G4DataVector*,std::less<G4int> > idMap;
     91  G4bool occupancyData;
     92
     93  std::map<G4int,std::vector<G4double>*,std::less<G4int> > idMap;
    8394  std::map<G4int,G4DataVector*,std::less<G4int> > bindingMap;
    8495  std::vector<G4int> nShells;
     96  std::map<G4int,std::vector<G4double>*,std::less<G4int> > occupancyPdfMap;
    8597
    8698};
  • trunk/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4ShellEMDataSet.hh,v 1.9 2007/10/15 08:31:49 pia Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4ShellEMDataSet.hh,v 1.12 2008/03/17 13:45:25 pia Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
     
    3333// -----------
    3434// 31 Jul 2001   MGP        Created
     35//  9 Mar 2008   MGP        Cleaned up unreadable code modified by former developer
     36//                          (Further clean-up needed)
    3537//
    3638// -------------------------------------------------------------------
     
    4446// -------------------------------------------------------------------
    4547
    46 #ifndef   G4SHELLEMDATASET_HH
    47  #define  G4SHELLEMDATASET_HH 1
     48#ifndef  G4SHELLEMDATASET_HH
     49#define  G4SHELLEMDATASET_HH 1
    4850
    49  #include "globals.hh"
    50  #include "G4VEMDataSet.hh"
    51  #include <vector>
     51#include "globals.hh"
     52#include "G4VEMDataSet.hh"
     53#include <vector>
    5254
    53  class G4VDataSetAlgorithm;
     55class G4VDataSetAlgorithm;
    5456
    55  class G4ShellEMDataSet : public G4VEMDataSet
    56  {
    57   public:
    58    G4ShellEMDataSet(G4int argZ, G4VDataSetAlgorithm* argAlgorithm, G4double argUnitEnergies=MeV, G4double argUnitData=barn);
    59    virtual ~G4ShellEMDataSet();
     57class G4ShellEMDataSet : public G4VEMDataSet
     58{
     59public:
     60  G4ShellEMDataSet(G4int Z,
     61                   G4VDataSetAlgorithm* algo,
     62                   G4double eUnit=MeV,
     63                   G4double dataUnit=barn);
     64
     65  virtual ~G4ShellEMDataSet();
    6066 
    61    virtual G4double FindValue(G4double argEnergy, G4int argComponentId=0) const;
     67  virtual G4double FindValue(G4double energy, G4int componentId=0) const;
    6268 
    63    virtual void PrintData(void) const;
     69  virtual void PrintData(void) const;
    6470
    65    virtual const G4VEMDataSet*  GetComponent(G4int argComponentId) const { return components[argComponentId]; }
    66    virtual void AddComponent(G4VEMDataSet * argDataSet) { components.push_back(argDataSet); }
    67    virtual size_t NumberOfComponents(void) const { return components.size(); }
     71  virtual const G4VEMDataSet*  GetComponent(G4int componentId) const { return components[componentId]; }
     72  virtual void AddComponent(G4VEMDataSet* dataSet) { components.push_back(dataSet); }
     73  virtual size_t NumberOfComponents(void) const { return components.size(); }
    6874
    69    virtual const G4DataVector& GetEnergies(G4int argComponentId) const { return GetComponent(argComponentId)->GetEnergies(0); }
    70    virtual const G4DataVector& GetData(G4int argComponentId) const { return GetComponent(argComponentId)->GetData(0); }
    71    virtual void SetEnergiesData(G4DataVector * argEnergies, G4DataVector * argData, G4int argComponentId);
     75  virtual const G4DataVector& GetEnergies(G4int componentId) const { return GetComponent(componentId)->GetEnergies(0); }
     76  virtual const G4DataVector& GetData(G4int componentId) const { return GetComponent(componentId)->GetData(0); }
     77  virtual void SetEnergiesData(G4DataVector* energies, G4DataVector* data, G4int componentId);
    7278
    73    virtual G4bool LoadData(const G4String & argFileName);
    74    virtual G4bool SaveData(const G4String & argFileName) const;
     79  virtual G4bool LoadData(const G4String& fileName);
     80  virtual G4bool SaveData(const G4String& fileName) const;
     81
     82  virtual G4double RandomSelect(G4int /*componentId = 0*/) const { return -1.; };
    7583   
    76  protected:
    77    G4double GetUnitEnergies() const { return unitEnergies; }
    78    G4double GetUnitData() const { return unitData; }
    79    const G4VDataSetAlgorithm* GetAlgorithm() const { return algorithm; }
     84protected:
     85
     86  G4double GetUnitEnergies() const { return unitEnergies; }
     87  G4double GetUnitData() const { return unitData; }
     88  const G4VDataSetAlgorithm* GetAlgorithm() const { return algorithm; }
    8089   
    81    void CleanUpComponents(void);
     90  void CleanUpComponents(void);
    8291
    83  private:
    84    G4String FullFileName(const G4String & argFileName) const;
     92private:
     93
     94  G4String FullFileName(const G4String& fileName) const;
    8595 
    86    // Hide copy constructor and assignment operator
    87    G4ShellEMDataSet();
    88    G4ShellEMDataSet(const G4ShellEMDataSet & copy);
    89    G4ShellEMDataSet& operator=(const G4ShellEMDataSet & right);
     96  // Hide copy constructor and assignment operator
     97  G4ShellEMDataSet();
     98  G4ShellEMDataSet(const G4ShellEMDataSet& copy);
     99  G4ShellEMDataSet& operator=(const G4ShellEMDataSet& right);
    90100
    91    std::vector<G4VEMDataSet*> components;          // Owned pointers
     101  std::vector<G4VEMDataSet*> components;          // Owned pointers
    92102
    93    G4int z;
     103  G4int z;
    94104
    95    G4VDataSetAlgorithm* algorithm;           // Owned pointer
     105  G4VDataSetAlgorithm* algorithm;           // Owned pointer
    96106 
    97    G4double unitEnergies;
    98    G4double unitData;
    99  };
     107  G4double unitEnergies;
     108  G4double unitData;
     109};
    100110#endif /* G4SHELLEMDATASET_HH */
  • trunk/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh

    r819 r961  
    2626//
    2727// $Id: G4VCrossSectionHandler.hh,v 1.14 2006/06/29 19:37:01 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh

    r819 r961  
    2626//
    2727// $Id: G4VDataSetAlgorithm.hh,v 1.7 2006/06/29 19:37:07 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh

    r819 r961  
    2525//
    2626//
    27 // $Id: G4VEMDataSet.hh,v 1.9 2007/10/15 08:31:49 pia Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4VEMDataSet.hh,v 1.12 2008/03/17 13:45:25 pia Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
     
    4444// -------------------------------------------------------------------
    4545
    46 #ifndef   G4VEMDATASET_HH
    47  #define  G4VEMDATASET_HH 1
     46#ifndef  G4VEMDATASET_HH
     47#define  G4VEMDATASET_HH 1
    4848
    49  #include "globals.hh"
    50  #include "G4DataVector.hh"
     49#include "globals.hh"
     50#include "G4DataVector.hh"
    5151
    52  class G4VEMDataSet
    53  {
    54   public:
    55                                                 G4VEMDataSet() { }
    56    virtual                                    ~G4VEMDataSet() { }
     52class G4VEMDataSet
     53{
     54public:
     55  G4VEMDataSet() { }
     56  virtual ~G4VEMDataSet() { }
    5757 
    58    virtual G4double                             FindValue(G4double argEnergy, G4int argComponentId=0) const = 0;
     58  virtual G4double FindValue(G4double x, G4int componentId = 0) const = 0;
    5959 
    60    virtual void                                PrintData(void) const = 0;
     60  virtual void PrintData(void) const = 0;
    6161 
    62    virtual const G4VEMDataSet *                 GetComponent(G4int argComponentId) const = 0;
    63    virtual void                                 AddComponent(G4VEMDataSet * argDataSet) = 0;
    64    virtual size_t                              NumberOfComponents(void) const = 0;
     62  virtual const G4VEMDataSet* GetComponent(G4int componentId) const = 0;
     63  virtual void AddComponent(G4VEMDataSet* dataSet) = 0;
     64  virtual size_t NumberOfComponents(void) const = 0;
    6565 
    66    virtual const G4DataVector &                 GetEnergies(G4int argComponentId) const = 0;
    67    virtual const G4DataVector &                 GetData(G4int argComponentId) const = 0;
    68    virtual void                                 SetEnergiesData(G4DataVector * argEnergies, G4DataVector * argData, G4int argComponent=0) = 0;
     66  virtual const G4DataVector& GetEnergies(G4int componentId) const = 0;
     67  virtual const G4DataVector& GetData(G4int componentId) const = 0;
     68  virtual void SetEnergiesData(G4DataVector* x, G4DataVector* data, G4int component=0) = 0;
    6969 
    70    virtual G4bool                               LoadData(const G4String & argFileName) = 0;
    71    virtual G4bool                               SaveData(const G4String & argFileName) const = 0;
     70  virtual G4bool LoadData(const G4String& fileName) = 0;
     71  virtual G4bool SaveData(const G4String& fileName) const = 0;
     72
     73  virtual G4double RandomSelect(G4int componentId = 0) const = 0;
    7274   
    73   private:
    74    // Hide copy constructor and assignment operator
    75                                                 G4VEMDataSet(const G4VEMDataSet & copy);
    76    G4VEMDataSet &                               operator=(const G4VEMDataSet & right);
    77  };
     75private:
     76  // Hide copy constructor and assignment operator
     77  G4VEMDataSet(const G4VEMDataSet& copy);
     78  G4VEMDataSet& operator=(const G4VEMDataSet& right);
     79};
    7880#endif /* G4VEMDATASET_HH */
  • trunk/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyDiscretePhotonProcess.hh

    r819 r961  
    2525//
    2626// $Id: G4VLowEnergyDiscretePhotonProcess.hh,v 1.4 2006/06/29 19:37:13 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// --------------------------------------------------------------
  • trunk/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyTestableDiscreteProcess.hh

    r819 r961  
    2626//
    2727// $Id: G4VLowEnergyTestableDiscreteProcess.hh,v 1.3 2006/06/29 19:37:17 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030
  • trunk/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh

    r819 r961  
    2626//
    2727// $Id: G4VRangeTest.hh,v 1.3 2006/06/29 19:37:21 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh

    r819 r961  
    2626//
    2727// $Id: G4VeLowEnergyLoss.hh,v 1.9 2006/06/29 19:37:23 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// 3.4.2000 Veronique Lefebure:
  • trunk/source/processes/electromagnetic/lowenergy/include/G4WaterExcitationStructure.hh

    r819 r961  
    2626//
    2727// $Id: G4WaterExcitationStructure.hh,v 1.1 2007/10/15 08:33:25 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4WaterIonisationStructure.hh

    r819 r961  
    2626//
    2727// $Id: G4WaterIonisationStructure.hh,v 1.1 2007/11/08 20:38:40 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh

    r819 r961  
    2525//
    2626// $Id: G4eBremsstrahlungSpectrum.hh,v 1.8 2006/06/29 19:37:33 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/lowenergy/include/G4eCrossSectionExcitationEmfietzoglou.hh

    r819 r961  
    2626//
    2727// $Id: G4eCrossSectionExcitationEmfietzoglou.hh,v 1.1 2007/05/02 17:18:48 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4eCrossSectionScreenedRutherford.hh

    r819 r961  
    2626//
    2727// $Id: G4eCrossSectionScreenedRutherford.hh,v 1.2 2007/10/12 12:26:34 pia Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh

    r819 r961  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eIonisationCrossSectionHandler.hh,v 1.6 2006/06/29 19:37:36 gunter Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: G4eIonisationCrossSectionHandler.hh,v 1.7 2009/01/29 08:13:27 pandola Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    4040// Modified:
    4141// 10 Oct 2001  M.G. Pia        Revision to improve code quality and consistency with design
    42 //
     42// 28 Jan 2009  L.Pandola    Added public method to make a easier migration of
     43//                           G4LowEnergyIonisation to G4LivermoreIonisationModel
    4344// -------------------------------------------------------------------
    4445
     
    7273
    7374  ~G4eIonisationCrossSectionHandler();
     75
     76  G4double GetCrossSectionAboveThresholdForElement(G4double energy,
     77                                                   G4double cutEnergy,
     78                                                   G4int Z);
    7479 
    7580protected:
  • trunk/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh

    r819 r961  
    2626//
    2727// $Id: G4eIonisationParameters.hh,v 1.8 2006/06/29 19:37:38 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
  • trunk/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh

    r819 r961  
    2525//
    2626// $Id: G4eIonisationSpectrum.hh,v 1.7 2006/06/29 19:37:40 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh

    r819 r961  
    2626//
    2727// $Id: G4eLowEnergyLoss.hh,v 1.14 2006/06/29 19:37:42 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc

    r819 r961  
    2626//
    2727// $Id: G4eLowEnergyLoss.icc,v 1.8 2006/06/29 19:37:44 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// ---------------------------------------------------------------
  • trunk/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh

    r819 r961  
    2626//
    2727// $Id: G4hLowEnergyLoss.hh,v 1.17 2006/06/29 19:37:58 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// $Id:
  • trunk/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc

    r819 r961  
    2626//
    2727// $Id: G4hLowEnergyLoss.icc,v 1.3 2006/06/29 19:38:00 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// $Id:
  • trunk/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExp.hh

    r819 r961  
    4545// -------------------------------------------------------------------
    4646// $Id: G4hShellCrossSectionDoubleExp.hh,v 1.3 2006/06/29 19:38:12 gunter Exp $
    47 // GEANT4 tag $Name: $
     47// GEANT4 tag $Name: geant4-09-02-ref-02 $
    4848
    4949#ifndef G4HSHELLCROSSSECTIONDOUBLEEXP_HH
  • trunk/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExpData.hh

    r819 r961  
    4040// -------------------------------------------------------------------
    4141// $Id: G4hShellCrossSectionDoubleExpData.hh,v 1.3 2006/06/29 19:38:14 gunter Exp $
    42 // GEANT4 tag $Name: $
     42// GEANT4 tag $Name: geant4-09-02-ref-02 $
    4343
    4444#ifndef G4hShellCrossSectionDoubleExpData_HH
  • trunk/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExp.hh

    r819 r961  
    4545// -------------------------------------------------------------------
    4646// $Id: G4hShellCrossSectionExp.hh,v 1.3 2006/06/29 19:38:16 gunter Exp $
    47 // GEANT4 tag $Name: $
     47// GEANT4 tag $Name: geant4-09-02-ref-02 $
    4848
    4949#ifndef G4HSHELLCROSSSECTIONEXP_HH
  • trunk/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExpData.hh

    r819 r961  
    3838// -------------------------------------------------------------------
    3939// $Id: G4hShellCrossSectionExpData.hh,v 1.3 2006/06/29 19:38:18 gunter Exp $
    40 // GEANT4 tag $Name: $
     40// GEANT4 tag $Name: geant4-09-02-ref-02 $
    4141
    4242#ifndef G4hShellCrossSectionExpData_HH
Note: See TracChangeset for help on using the changeset viewer.