ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4VIonDEDXTable.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4VIonDEDXTable.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 //
28 // ===========================================================================
29 // GEANT4 class header file
30 //
31 // Class: G4VIonDEDXTable
32 //
33 // Author: Anton Lechner (Anton.Lechner@cern.ch)
34 //
35 // First implementation: 15. 02. 2009
36 //
37 // Modifications:
38 // 02. 11. 2009 A. Lechner: Added BuildPhysicsVector function which should
39 // invoke the build process of physics vectors.
40 //
41 // Class description:
42 // Base class for electronic stopping power tables for ions.
43 //
44 // Comments:
45 //
46 // ===========================================================================
47 //
48 
49 #ifndef G4VIONDEDXTABLE_HH
50 #define G4VIONDEDXTABLE_HH
51 
52 #include "globals.hh"
53 
54 class G4PhysicsVector;
55 
56 
58 
59  public:
60  explicit G4VIonDEDXTable();
61  virtual ~G4VIonDEDXTable();
62 
63  // Function for building a stopping power table for a material consisting of
64  // a single element only.
65  virtual G4bool BuildPhysicsVector(
66  G4int, // Atomic number of ion
67  G4int // Atomic number of elemental material
68  ) = 0;
69 
70  // Function building stopping power table for a given ion-material pair.
71  virtual G4bool BuildPhysicsVector(
72  G4int, // Atomic number of ion
73  const G4String& // Name or chemical formula of material
74  ) = 0;
75 
76  // Function for checking the availability of stopping power tables
77  // for a given ion-material pair, where the material consists of
78  // a single element only.
79  virtual G4bool IsApplicable(
80  G4int, // Atomic number of ion
81  G4int // Atomic number of elemental material
82  ) = 0;
83 
84  // Function for checking the availability of stopping power tables
85  // for a given ion-material pair.
86  virtual G4bool IsApplicable(
87  G4int, // Atomic number of ion
88  const G4String& // Name or chemical formula of material
89  ) = 0;
90 
91  // Function returning the stopping power vector for a given ion-material
92  // pair, where the material consists of a single element only (the
93  // physics vector returned by this function must contain the kinetic
94  // energy per nucleon vs the mass stopping power of the elemental material).
96  G4int, // Atomic number of ion
97  G4int // Atomic number of elemental material
98  ) = 0;
99 
100  // Function returning the stopping power vector for given ion-material
101  // pair (the physics vector returned by this function must contain the
102  // kinetic energy per nucleon vs the mass stopping power of the material).
104  G4int, // Atomic number of ion
105  const G4String& // Name or chemical formula of material
106  ) = 0;
107 
108 private:
109 
110  G4VIonDEDXTable(G4VIonDEDXTable&) = delete;
111  const G4VIonDEDXTable & operator=(const G4VIonDEDXTable&) = delete;
112 
113 };
114 
115 #endif // G4VIONDEDXTABLE_HH