|
||||
File indexing completed on 2025-01-18 09:55:23
0001 //========================================================================== 0002 // AIDA Detector description implementation 0003 //-------------------------------------------------------------------------- 0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) 0005 // All rights reserved. 0006 // 0007 // For the licensing terms see $DD4hepINSTALL/LICENSE. 0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS. 0009 // 0010 // Author : M.Frank 0011 // 0012 //========================================================================== 0013 0014 #ifndef DDG4_GEANT4INPUTHANDLING_H 0015 #define DDG4_GEANT4INPUTHANDLING_H 0016 0017 // Framework include files 0018 #include <DDG4/Geant4Primary.h> 0019 0020 // Forward declarations 0021 class G4Event; 0022 class G4PrimaryVertex; 0023 class G4PrimaryParticle; 0024 0025 0026 /// Namespace for the AIDA detector description toolkit 0027 namespace dd4hep { 0028 0029 /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit 0030 namespace sim { 0031 0032 // Forward declarations 0033 class Geant4Action; 0034 class Geant4Context; 0035 0036 /** Helpers to import and export G4 records */ 0037 0038 /// Create a vertex object from its G4 counterpart 0039 Geant4Vertex* createPrimary(const G4PrimaryVertex* g4); 0040 0041 /// Create a particle object from its G4 counterpart 0042 Geant4Particle* createPrimary(int particle_id, const Geant4Vertex* v, const G4PrimaryParticle* g4p); 0043 0044 /// Create a DDG4 interaction record from a Geant4 interaction defined by a primary vertex 0045 Geant4PrimaryInteraction* createPrimary(int mask, Geant4PrimaryMap* pm, std::set<G4PrimaryVertex*>const& primaries); 0046 0047 /// Initialize the generation of one event 0048 int generationInitialization(const Geant4Action* caller,const Geant4Context* context); 0049 0050 /// Merge all interactions present in the context 0051 int mergeInteractions(const Geant4Action* caller,const Geant4Context* context); 0052 0053 /// Boost particles of one interaction identified by its mask 0054 int boostInteraction(const Geant4Action* caller, 0055 Geant4PrimaryEvent::Interaction* inter, 0056 double alpha); 0057 0058 /// Smear the primary vertex of an interaction 0059 int smearInteraction(const Geant4Action* caller, 0060 Geant4PrimaryEvent::Interaction* inter, 0061 double dx, double dy, double dz, double dt); 0062 0063 0064 /// Generate all primary vertices corresponding to the merged interaction 0065 int generatePrimaries(const Geant4Action* caller, 0066 const Geant4Context* context, 0067 G4Event* event); 0068 0069 } // End namespace sim 0070 } // End namespace dd4hep 0071 #endif // DDG4_GEANT4INPUTHANDLING_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |