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 #ifndef G4FASTSIMHITMAKER_HH 28 #define G4FASTSIMHITMAKER_HH 29 30 #include "G4FastHit.hh" 31 #include "G4FastTrack.hh" 32 #include "G4Navigator.hh" 33 #include "G4TouchableHandle.hh" 34 class G4Step; 35 class G4StepPoint; 36 class G4VProcess; 37 38 /** 39 * @brief Helper class for hit creation 40 * 41 * Helper class that can be employed in the fa 42 * It allows to deposit energy at given positi 43 * located within the sensitive detector that 44 * G4VFastSimSensitiveDetector base class. 45 * An extended example extended/parameterisati 46 * G4FastSimHitMaker to create multiple deposi 47 * 48 */ 49 50 class G4FastSimHitMaker 51 { 52 public: 53 G4FastSimHitMaker(); 54 ~G4FastSimHitMaker(); 55 56 /// Deposit energy at given position. 57 /// @param[in] aHit Created hit (energy an 58 /// @param[in] aTrack Fast track with acce 59 /// properties in envelope's local coordin 60 void make(const G4FastHit& aHit, const G4F 61 /// If sensitive detector class is in the 62 /// specified, otherwise no sensitive dete 63 /// will be checked). 64 /// @param[in] aName Name of the parallel 65 inline void SetNameOfWorldWithSD(const G4S 66 inline void SetProcess(G4VProcess* proc) { 67 68 private: 69 /// Touchable 70 G4TouchableHandle fTouchableHandle; 71 /// Navigator 72 G4Navigator* fpNavigator; 73 /// Flag specifying if navigator has been 74 G4bool fNaviSetup; 75 /// Name of the world containing the sensi 76 /// mass world is used. 77 G4String fWorldWithSdName; 78 79 G4Step* fpSpotS; 80 G4StepPoint* fpSpotP; 81 G4VProcess* fpProcess = nullptr; 82 }; 83 #endif 84