Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 // ------------------------------------------- 28 // 29 // GEANT4 Class header file 30 // 31 // 32 // File name: G4RiGeAngularGenerator 33 // 34 // Authors: Girardo Depaola & Ricardo Pa 35 // 36 // Creation date: 29 October 2024 37 // 38 // ------------------------------------------- 39 // 40 41 #ifndef G4RiGeAngularGenerator_h 42 #define G4RiGeAngularGenerator_h 1 43 44 #include "G4ios.hh" 45 #include "globals.hh" 46 #include "G4VEmAngularDistribution.hh" 47 #include "G4LorentzVector.hh" 48 49 class G4RiGeAngularGenerator : public G4VEmAng 50 { 51 52 public: 53 54 G4RiGeAngularGenerator(); 55 56 ~G4RiGeAngularGenerator() override = default 57 58 G4ThreeVector& SampleDirection(const G4Dynam 59 G4double gEne 60 const G4Mater 61 62 G4LorentzVector Sample5DPairDirections(const 63 G4ThreeVector 64 G4ThreeVector 65 const G4doubl 66 const G4doubl 67 G4double muFi 68 G4double muFi 69 const G4doubl 70 const G4doubl 71 72 void PhiRotation(G4ThreeVector& dir, G4doubl 73 74 G4LorentzVector eDP2(G4double x1, G4double x 75 76 G4LorentzVector pDP2(G4double x3, const G4Lo 77 78 void PrintGeneratorInformation() const overr 79 80 // hide assignment operator 81 G4RiGeAngularGenerator& operator=(const G4Ri 82 G4RiGeAngularGenerator(const G4RiGeAngularGe 83 84 private: 85 86 G4double SampleCosTheta(G4double primKinEner 87 88 }; 89 90 #endif 91 92