Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer 3 // * License and Disclaimer * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/ 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. 9 // * include a list of copyright holders. * 10 // * 10 // * * 11 // * Neither the authors of this software syst 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitatio 16 // * for the full disclaimer and the limitation of liability. * 17 // * 17 // * * 18 // * This code implementation is the result 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboratio 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distri 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you ag 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publicati 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Sof 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************* 24 // ******************************************************************** 25 // 25 // 26 /// \file electromagnetic/TestEm8/src/TestPara 26 /// \file electromagnetic/TestEm8/src/TestParameters.cc 27 /// \brief Implementation of the TestParameter 27 /// \brief Implementation of the TestParameters class 28 // 28 // 29 // 29 // 30 //-------------------------------------------- 30 //--------------------------------------------------------------------------- 31 // 31 // 32 // ClassName: TestParameters 32 // ClassName: TestParameters 33 // 33 // 34 // Author: V.Ivanchenko 01.09.2010 34 // Author: V.Ivanchenko 01.09.2010 35 // 35 // 36 //-------------------------------------------- 36 //---------------------------------------------------------------------------- 37 // 37 // 38 38 39 //....oooOO0OOooo........oooOO0OOooo........oo 39 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 40 //....oooOO0OOooo........oooOO0OOooo........oo 40 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 41 41 42 #include "TestParameters.hh" 42 #include "TestParameters.hh" 43 << 44 #include "G4SystemOfUnits.hh" << 45 #include "G4UnitsTable.hh" 43 #include "G4UnitsTable.hh" >> 44 #include "G4SystemOfUnits.hh" 46 45 47 //....oooOO0OOooo........oooOO0OOooo........oo 46 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 48 47 49 TestParameters* TestParameters::fManager = nul 48 TestParameters* TestParameters::fManager = nullptr; 50 49 51 //....oooOO0OOooo........oooOO0OOooo........oo 50 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 52 51 53 TestParameters* TestParameters::GetPointer() 52 TestParameters* TestParameters::GetPointer() 54 { 53 { 55 if (!fManager) { << 54 if(!fManager) { 56 fManager = new TestParameters(); 55 fManager = new TestParameters(); 57 } 56 } 58 return fManager; 57 return fManager; 59 } 58 } 60 59 61 //....oooOO0OOooo........oooOO0OOooo........oo 60 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 62 61 63 TestParameters::TestParameters() 62 TestParameters::TestParameters() 64 { 63 { 65 fMaxEnergy = 100. * CLHEP::keV; << 64 fMaxEnergy = 100.*keV; >> 65 fBinsE = 100; >> 66 fBinsCluster = 1; >> 67 fMaxCluster = 1500; >> 68 fNormFactor = 1.0; >> 69 fEnergySmear = 0.0; >> 70 fPositionZ = 0.0; >> 71 fBeamEnergy = 0.0; >> 72 >> 73 fParticle = nullptr; 66 74 67 // normalisation to PAI 75 // normalisation to PAI 68 // fFactorALICE = 325; << 76 fFactorALICE = 325; 69 77 70 // normalisation to Opt0 78 // normalisation to Opt0 71 // fFactorALICE = 275; << 79 //fFactorALICE = 275; 72 } 80 } 73 81 74 //....oooOO0OOooo........oooOO0OOooo........oo 82 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 75 83 >> 84 TestParameters::~TestParameters() >> 85 {} >> 86 >> 87 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... >> 88 76 void TestParameters::SetMaxEnergy(G4double val 89 void TestParameters::SetMaxEnergy(G4double value) 77 { 90 { 78 fMaxEnergy = value; 91 fMaxEnergy = value; 79 } 92 } 80 93 81 //....oooOO0OOooo........oooOO0OOooo........oo 94 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 82 95 83 G4double TestParameters::GetMaxEnergy() const 96 G4double TestParameters::GetMaxEnergy() const 84 { 97 { 85 return fMaxEnergy; 98 return fMaxEnergy; 86 } 99 } 87 100 88 //....oooOO0OOooo........oooOO0OOooo........oo 101 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 89 102 90 void TestParameters::SetNumberBins(G4int value 103 void TestParameters::SetNumberBins(G4int value) 91 { 104 { 92 fBinsE = value; 105 fBinsE = value; 93 } 106 } 94 107 95 //....oooOO0OOooo........oooOO0OOooo........oo 108 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 96 109 97 G4int TestParameters::GetNumberBins() const 110 G4int TestParameters::GetNumberBins() const 98 { 111 { 99 return fBinsE; 112 return fBinsE; 100 } 113 } 101 114 102 //....oooOO0OOooo........oooOO0OOooo........oo 115 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 103 116 104 void TestParameters::SetNumberBinsCluster(G4in 117 void TestParameters::SetNumberBinsCluster(G4int value) 105 { 118 { 106 fBinsCluster = value; 119 fBinsCluster = value; 107 } 120 } 108 121 109 //....oooOO0OOooo........oooOO0OOooo........oo 122 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 110 123 111 G4int TestParameters::GetNumberBinsCluster() c 124 G4int TestParameters::GetNumberBinsCluster() const 112 { 125 { 113 return fBinsCluster; 126 return fBinsCluster; 114 } 127 } 115 128 116 //....oooOO0OOooo........oooOO0OOooo........oo 129 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 117 << 130 118 void TestParameters::SetMaxCluster(G4int value 131 void TestParameters::SetMaxCluster(G4int value) 119 { 132 { 120 fMaxCluster = value; 133 fMaxCluster = value; 121 } 134 } 122 135 123 //....oooOO0OOooo........oooOO0OOooo........oo 136 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 124 137 125 G4int TestParameters::GetMaxCluster() const 138 G4int TestParameters::GetMaxCluster() const 126 { 139 { 127 return fMaxCluster; 140 return fMaxCluster; 128 } 141 } 129 142 130 //....oooOO0OOooo........oooOO0OOooo........oo 143 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 131 144 132 void TestParameters::SetEnergyPerChannel(G4dou 145 void TestParameters::SetEnergyPerChannel(G4double value) 133 { 146 { 134 if (value > 0.0) { << 147 if(value > 0.0) { fFactorALICE = 1./value; } 135 fFactorALICE = 1. / value; << 136 } << 137 } 148 } 138 149 139 //....oooOO0OOooo........oooOO0OOooo........oo 150 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 140 151 141 G4double TestParameters::GetFactorALICE() cons 152 G4double TestParameters::GetFactorALICE() const 142 { 153 { 143 return fFactorALICE; 154 return fFactorALICE; 144 } 155 } 145 156 146 //....oooOO0OOooo........oooOO0OOooo........oo 157 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 147 158 148 void TestParameters::SetNormFactor(G4double va 159 void TestParameters::SetNormFactor(G4double value) 149 { 160 { 150 fNormFactor = value; 161 fNormFactor = value; 151 } 162 } 152 163 153 //....oooOO0OOooo........oooOO0OOooo........oo 164 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 154 165 155 G4double TestParameters::GetNormFactor() const 166 G4double TestParameters::GetNormFactor() const 156 { 167 { 157 return fNormFactor; 168 return fNormFactor; 158 } 169 } 159 170 160 //....oooOO0OOooo........oooOO0OOooo........oo 171 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 161 172 162 void TestParameters::SetEnergySmear(G4double v 173 void TestParameters::SetEnergySmear(G4double value) 163 { 174 { 164 fEnergySmear = value; 175 fEnergySmear = value; 165 } 176 } 166 177 167 //....oooOO0OOooo........oooOO0OOooo........oo 178 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 168 179 169 G4double TestParameters::GetEnergySmear() cons 180 G4double TestParameters::GetEnergySmear() const 170 { 181 { 171 return fEnergySmear; 182 return fEnergySmear; 172 } 183 } 173 184 174 //....oooOO0OOooo........oooOO0OOooo........oo 185 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 175 186 176 void TestParameters::SetPositionZ(G4double val 187 void TestParameters::SetPositionZ(G4double val) 177 { 188 { 178 fPositionZ = val; 189 fPositionZ = val; 179 } 190 } 180 191 181 //....oooOO0OOooo........oooOO0OOooo........oo 192 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 182 193 183 G4double TestParameters::GetPositionZ() const 194 G4double TestParameters::GetPositionZ() const 184 { 195 { 185 return fPositionZ; 196 return fPositionZ; 186 } 197 } 187 198 188 //....oooOO0OOooo........oooOO0OOooo........oo 199 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 189 200 190 void TestParameters::SetBeamEnergy(G4double va 201 void TestParameters::SetBeamEnergy(G4double val) 191 { 202 { 192 fBeamEnergy = val; 203 fBeamEnergy = val; 193 } 204 } 194 205 195 //....oooOO0OOooo........oooOO0OOooo........oo 206 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 196 207 197 G4double TestParameters::GetBeamEnergy() const 208 G4double TestParameters::GetBeamEnergy() const 198 { 209 { 199 return fBeamEnergy; 210 return fBeamEnergy; 200 } 211 } 201 212 202 //....oooOO0OOooo........oooOO0OOooo........oo 213 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 203 214 204 void TestParameters::SetBeamParticle(const G4P 215 void TestParameters::SetBeamParticle(const G4ParticleDefinition* ptr) 205 { 216 { 206 fParticle = ptr; 217 fParticle = ptr; 207 } 218 } 208 219 209 //....oooOO0OOooo........oooOO0OOooo........oo 220 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 210 221 211 const G4ParticleDefinition* TestParameters::Ge 222 const G4ParticleDefinition* TestParameters::GetBeamParticle() const 212 { 223 { 213 return fParticle; 224 return fParticle; 214 } 225 } 215 226 216 //....oooOO0OOooo........oooOO0OOooo........oo 227 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 217 228