DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Geant4InputHandling.h
Go to the documentation of this file.
1 // $Id: $
2 //==========================================================================
3 // AIDA Detector description implementation for LCD
4 //--------------------------------------------------------------------------
5 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
6 // All rights reserved.
7 //
8 // For the licensing terms see $DD4hepINSTALL/LICENSE.
9 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
10 //
11 // Author : M.Frank
12 //
13 //==========================================================================
14 
15 #ifndef DD4HEP_DDG4_GEANT4INPUTHANDLING_H
16 #define DD4HEP_DDG4_GEANT4INPUTHANDLING_H
17 
18 // Framework include files
19 #include "DDG4/Geant4Primary.h"
20 
21 // Forward declarations
22 class G4Event;
23 class G4PrimaryVertex;
24 class G4PrimaryParticle;
25 
26 
28 namespace DD4hep {
29 
31  namespace Simulation {
32 
33  // Forward declarations
34  class Geant4Action;
35  class Geant4Context;
36 
39  Geant4Vertex* createPrimary(const G4PrimaryVertex* g4);
41 
43  Geant4Particle* createPrimary(int particle_id, const Geant4Vertex* v, const G4PrimaryParticle* g4p);
44 
46  Geant4PrimaryInteraction* createPrimary(int mask, Geant4PrimaryMap* pm, const G4PrimaryVertex* gv);
47 
49  int generationInitialization(const Geant4Action* caller,const Geant4Context* context);
50 
52  int mergeInteractions(const Geant4Action* caller,const Geant4Context* context);
53 
55  int boostInteraction(const Geant4Action* caller,
57  double alpha);
58 
60  int smearInteraction(const Geant4Action* caller,
62  double dx, double dy, double dz, double dt);
63 
64 
66  int generatePrimaries(const Geant4Action* caller,
67  const Geant4Context* context,
68  G4Event* event);
69 
70  } // End namespace Simulation
71 } // End namespace DD4hep
72 #endif /* DD4HEP_DDG4_GEANT4INPUTHANDLING_H */
Geant4PrimaryInteraction Interaction
int smearInteraction(const Geant4Action *caller, Geant4PrimaryEvent::Interaction *inter, double dx, double dy, double dz, double dt)
Smear the primary vertex of an interaction.
int boostInteraction(const Geant4Action *caller, Geant4PrimaryEvent::Interaction *inter, double alpha)
Boost particles of one interaction identified by its mask.
int mergeInteractions(const Geant4Action *caller, const Geant4Context *context)
Merge all interactions present in the context.
int generatePrimaries(const Geant4Action *caller, const Geant4Context *context, G4Event *event)
Generate all primary vertices corresponding to the merged interaction.
View * v
Definition: MultiView.cpp:30
Geant4Vertex * createPrimary(const G4PrimaryVertex *g4)
Create a vertex object from it's G4 counterpart.
int generationInitialization(const Geant4Action *caller, const Geant4Context *context)
Initialize the generation of one event.