Geant4 Cross Reference |
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 /// \file biasing/ReverseMC01/include/G4AdjointPhysicsList.hh 27 /// \brief Definition of the G4AdjointPhysicsList class 28 // 29 // 30 ////////////////////////////////////////////////////////////// 31 // Class Name: G4AdjointPhysicsList 32 // Author: L. Desorgher 33 // Organisation: SpaceIT GmbH 34 // Contract: ESA contract 21435/08/NL/AT 35 // Customer: ESA/ESTEC 36 ////////////////////////////////////////////////////////////// 37 // CHANGE HISTORY 38 //-------------- 39 // ChangeHistory: 40 // 17-11-2009 creation by L. Desorgher 41 // 42 //------------------------------------------------------------- 43 44 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 45 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 46 47 #ifndef G4AdjointPhysicsList_h 48 #define G4AdjointPhysicsList_h 1 49 #include "G4VUserPhysicsList.hh" 50 #include "G4eIonisation.hh" 51 #include "G4hIonisation.hh" 52 #include "globals.hh" 53 class G4AdjointPhysicsMessenger; 54 55 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 56 57 class G4AdjointPhysicsList : public G4VUserPhysicsList 58 { 59 public: 60 G4AdjointPhysicsList(); 61 virtual ~G4AdjointPhysicsList(); 62 void SetLossFluctuationFlag(bool aBool); 63 inline void SetUseIonisation(bool aBool) { fUse_eionisation = aBool; } 64 inline void SetUseProtonIonisation(bool aBool) { fUse_pionisation = aBool; } 65 inline void SetUseBrem(bool aBool) { fUse_brem = aBool; } 66 inline void SetUseCompton(bool aBool) { fUse_compton = aBool; } 67 inline void SetUseMS(bool aBool) { fUse_ms = aBool; } 68 inline void SetUsePEEffect(bool aBool) { fUse_peeffect = aBool; } 69 inline void SetUseGammaConversion(bool aBool) { fUse_gamma_conversion = aBool; } 70 inline void SetUseEgainFluctuation(bool aBool) { fUse_egain_fluctuation = aBool; } 71 inline void SetEminAdjModels(G4double aVal) { fEmin_adj_models = aVal; } 72 inline void SetEmaxAdjModels(G4double aVal) { fEmax_adj_models = aVal; } 73 74 protected: 75 // Construct particle and physics 76 virtual void ConstructParticle(); 77 virtual void ConstructProcess(); 78 virtual void SetCuts(); 79 80 // these methods Construct particles 81 void ConstructBosons(); 82 void ConstructLeptons(); 83 void ConstructMesons(); 84 void ConstructBaryons(); 85 void ConstructAdjointParticles(); 86 87 // these methods Construct physics processes and register them 88 void ConstructGeneral(); 89 void ConstructEM(); 90 G4eIonisation* fEminusIonisation; 91 G4hIonisation* fPIonisation; 92 93 private: 94 G4AdjointPhysicsMessenger* fPhysicsMessenger; 95 G4bool fUse_forced_interaction; 96 G4bool fUse_eionisation; 97 G4bool fUse_pionisation; 98 G4bool fUse_brem; 99 G4bool fUse_compton; 100 G4bool fUse_ms; 101 G4bool fUse_egain_fluctuation; 102 G4bool fUse_peeffect; 103 G4bool fUse_gamma_conversion; 104 G4double fEmin_adj_models; 105 G4double fEmax_adj_models; 106 G4double fCS_biasing_factor_compton; 107 G4double fCS_biasing_factor_brem; 108 G4double fCS_biasing_factor_ionisation; 109 G4double fCS_biasing_factor_PEeffect; 110 }; 111 112 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 113 114 #endif 115