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
Geant4InteractionMerger.cpp
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 // Framework include files
16 #include "DD4hep/Printout.h"
17 #include "DD4hep/InstanceCount.h"
20 
21 using namespace DD4hep::Simulation;
22 
25  : Geant4GeneratorAction(ctxt,nam)
26 {
28 }
29 
33 }
34 
36 void Geant4InteractionMerger::operator()(G4Event* /* event */) {
38  const std::vector<Geant4PrimaryEvent::Interaction*>& inter = evt->interactions();
39  debug("+++ Merging MC input record from %d interactions:",(int)inter.size());
40  mergeInteractions(this,context());
41 }
Geant4Event & event() const
Access the geant4 event – valid only between BeginEvent() and EndEvent()!
virtual ~Geant4InteractionMerger()
Default destructor.
static void decrement(T *)
Decrement count according to type information.
Geant4Context * context() const
Access the context.
Definition: Geant4Action.h:261
Class modelling a complete primary event with multiple interactions.
Geant4InteractionMerger(Geant4Context *context, const std::string &nam)
Standard constructor.
virtual void operator()(G4Event *event)
Event generation action callback.
T * extension(bool alert=true)
Access to type safe extension object. Exception is thrown if the object is invalid.
Concrete implementation of the Geant4 generator action base class.
int mergeInteractions(const Geant4Action *caller, const Geant4Context *context)
Merge all interactions present in the context.
std::vector< Geant4PrimaryInteraction * > interactions() const
Retrieve all interactions.
static void increment(T *)
Increment count according to type information.
Definition: InstanceCount.h:98
Generic context to extend user, run and event information.
void debug(const char *fmt,...) const
Support of debug messages.