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 // $Id: TestParameters.cc 78707 2014-01-17 16:02:01Z gcosmo $ 29 // 30 // 30 //-------------------------------------------- 31 //--------------------------------------------------------------------------- 31 // 32 // 32 // ClassName: TestParameters 33 // ClassName: TestParameters 33 // 34 // 34 // Author: V.Ivanchenko 01.09.2010 35 // Author: V.Ivanchenko 01.09.2010 35 // 36 // 36 //-------------------------------------------- 37 //---------------------------------------------------------------------------- 37 // 38 // 38 39 39 //....oooOO0OOooo........oooOO0OOooo........oo 40 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 40 //....oooOO0OOooo........oooOO0OOooo........oo 41 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 41 42 42 #include "TestParameters.hh" 43 #include "TestParameters.hh" 43 << 44 #include "G4SystemOfUnits.hh" << 45 #include "G4UnitsTable.hh" 44 #include "G4UnitsTable.hh" >> 45 #include "G4SystemOfUnits.hh" 46 46 47 //....oooOO0OOooo........oooOO0OOooo........oo 47 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 48 48 49 TestParameters* TestParameters::fManager = nul 49 TestParameters* TestParameters::fManager = nullptr; 50 50 51 //....oooOO0OOooo........oooOO0OOooo........oo 51 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 52 52 53 TestParameters* TestParameters::GetPointer() 53 TestParameters* TestParameters::GetPointer() 54 { 54 { 55 if (!fManager) { << 55 if(!fManager) { 56 fManager = new TestParameters(); 56 fManager = new TestParameters(); 57 } 57 } 58 return fManager; 58 return fManager; 59 } 59 } 60 60 61 //....oooOO0OOooo........oooOO0OOooo........oo 61 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 62 62 63 TestParameters::TestParameters() 63 TestParameters::TestParameters() 64 { 64 { 65 fMaxEnergy = 100. * CLHEP::keV; << 65 fMaxEnergy = 100.*keV; >> 66 fBinsE = 100; >> 67 fBinsCluster = 1; >> 68 fMaxCluster = 1500; >> 69 fNormFactor = 1.0; >> 70 fEnergySmear = 0.0; >> 71 fPositionZ = 0.0; >> 72 fBeamEnergy = 0.0; >> 73 >> 74 fParticle = nullptr; 66 75 67 // normalisation to PAI 76 // normalisation to PAI 68 // fFactorALICE = 325; << 77 fFactorALICE = 325; 69 78 70 // normalisation to Opt0 79 // normalisation to Opt0 71 // fFactorALICE = 275; << 80 //fFactorALICE = 275; 72 } 81 } 73 82 74 //....oooOO0OOooo........oooOO0OOooo........oo 83 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 75 84 >> 85 TestParameters::~TestParameters() >> 86 {} >> 87 >> 88 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... >> 89 76 void TestParameters::SetMaxEnergy(G4double val 90 void TestParameters::SetMaxEnergy(G4double value) 77 { 91 { 78 fMaxEnergy = value; 92 fMaxEnergy = value; 79 } 93 } 80 94 81 //....oooOO0OOooo........oooOO0OOooo........oo 95 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 82 96 83 G4double TestParameters::GetMaxEnergy() const 97 G4double TestParameters::GetMaxEnergy() const 84 { 98 { 85 return fMaxEnergy; 99 return fMaxEnergy; 86 } 100 } 87 101 88 //....oooOO0OOooo........oooOO0OOooo........oo 102 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 89 103 90 void TestParameters::SetNumberBins(G4int value 104 void TestParameters::SetNumberBins(G4int value) 91 { 105 { 92 fBinsE = value; 106 fBinsE = value; 93 } 107 } 94 108 95 //....oooOO0OOooo........oooOO0OOooo........oo 109 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 96 110 97 G4int TestParameters::GetNumberBins() const 111 G4int TestParameters::GetNumberBins() const 98 { 112 { 99 return fBinsE; 113 return fBinsE; 100 } 114 } 101 115 102 //....oooOO0OOooo........oooOO0OOooo........oo 116 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 103 117 104 void TestParameters::SetNumberBinsCluster(G4in 118 void TestParameters::SetNumberBinsCluster(G4int value) 105 { 119 { 106 fBinsCluster = value; 120 fBinsCluster = value; 107 } 121 } 108 122 109 //....oooOO0OOooo........oooOO0OOooo........oo 123 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 110 124 111 G4int TestParameters::GetNumberBinsCluster() c 125 G4int TestParameters::GetNumberBinsCluster() const 112 { 126 { 113 return fBinsCluster; 127 return fBinsCluster; 114 } 128 } 115 129 116 //....oooOO0OOooo........oooOO0OOooo........oo 130 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 117 << 131 118 void TestParameters::SetMaxCluster(G4int value 132 void TestParameters::SetMaxCluster(G4int value) 119 { 133 { 120 fMaxCluster = value; 134 fMaxCluster = value; 121 } 135 } 122 136 123 //....oooOO0OOooo........oooOO0OOooo........oo 137 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 124 138 125 G4int TestParameters::GetMaxCluster() const 139 G4int TestParameters::GetMaxCluster() const 126 { 140 { 127 return fMaxCluster; 141 return fMaxCluster; 128 } 142 } 129 143 130 //....oooOO0OOooo........oooOO0OOooo........oo 144 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 131 145 132 void TestParameters::SetEnergyPerChannel(G4dou 146 void TestParameters::SetEnergyPerChannel(G4double value) 133 { 147 { 134 if (value > 0.0) { << 148 if(value > 0.0) { fFactorALICE = 1./value; } 135 fFactorALICE = 1. / value; << 136 } << 137 } 149 } 138 150 139 //....oooOO0OOooo........oooOO0OOooo........oo 151 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 140 152 141 G4double TestParameters::GetFactorALICE() cons 153 G4double TestParameters::GetFactorALICE() const 142 { 154 { 143 return fFactorALICE; 155 return fFactorALICE; 144 } 156 } 145 157 146 //....oooOO0OOooo........oooOO0OOooo........oo 158 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 147 159 148 void TestParameters::SetNormFactor(G4double va 160 void TestParameters::SetNormFactor(G4double value) 149 { 161 { 150 fNormFactor = value; 162 fNormFactor = value; 151 } 163 } 152 164 153 //....oooOO0OOooo........oooOO0OOooo........oo 165 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 154 166 155 G4double TestParameters::GetNormFactor() const 167 G4double TestParameters::GetNormFactor() const 156 { 168 { 157 return fNormFactor; 169 return fNormFactor; 158 } 170 } 159 171 160 //....oooOO0OOooo........oooOO0OOooo........oo 172 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 161 173 162 void TestParameters::SetEnergySmear(G4double v 174 void TestParameters::SetEnergySmear(G4double value) 163 { 175 { 164 fEnergySmear = value; 176 fEnergySmear = value; 165 } 177 } 166 178 167 //....oooOO0OOooo........oooOO0OOooo........oo 179 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 168 180 169 G4double TestParameters::GetEnergySmear() cons 181 G4double TestParameters::GetEnergySmear() const 170 { 182 { 171 return fEnergySmear; 183 return fEnergySmear; 172 } 184 } 173 185 174 //....oooOO0OOooo........oooOO0OOooo........oo 186 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 175 187 176 void TestParameters::SetPositionZ(G4double val 188 void TestParameters::SetPositionZ(G4double val) 177 { 189 { 178 fPositionZ = val; 190 fPositionZ = val; 179 } 191 } 180 192 181 //....oooOO0OOooo........oooOO0OOooo........oo 193 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 182 194 183 G4double TestParameters::GetPositionZ() const 195 G4double TestParameters::GetPositionZ() const 184 { 196 { 185 return fPositionZ; 197 return fPositionZ; 186 } 198 } 187 199 188 //....oooOO0OOooo........oooOO0OOooo........oo 200 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 189 201 190 void TestParameters::SetBeamEnergy(G4double va 202 void TestParameters::SetBeamEnergy(G4double val) 191 { 203 { 192 fBeamEnergy = val; 204 fBeamEnergy = val; 193 } 205 } 194 206 195 //....oooOO0OOooo........oooOO0OOooo........oo 207 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 196 208 197 G4double TestParameters::GetBeamEnergy() const 209 G4double TestParameters::GetBeamEnergy() const 198 { 210 { 199 return fBeamEnergy; 211 return fBeamEnergy; 200 } 212 } 201 213 202 //....oooOO0OOooo........oooOO0OOooo........oo 214 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 203 215 204 void TestParameters::SetBeamParticle(const G4P 216 void TestParameters::SetBeamParticle(const G4ParticleDefinition* ptr) 205 { 217 { 206 fParticle = ptr; 218 fParticle = ptr; 207 } 219 } 208 220 209 //....oooOO0OOooo........oooOO0OOooo........oo 221 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 210 222 211 const G4ParticleDefinition* TestParameters::Ge 223 const G4ParticleDefinition* TestParameters::GetBeamParticle() const 212 { 224 { 213 return fParticle; 225 return fParticle; 214 } 226 } 215 227 216 //....oooOO0OOooo........oooOO0OOooo........oo 228 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 217 229