|
||||
File indexing completed on 2024-11-15 09:35:24
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 /** \addtogroup Geant4GeneratorAction 0014 * 0015 @{ 0016 \package Geant4InteractionVertexBoost 0017 * \brief Action class to boost the primary vertex (and all outgoing particles) of a single interaction 0018 * 0019 * 0020 @} 0021 */ 0022 0023 #ifndef DDG4_GEANT4INTERACTIONVERTEXBOOST_H 0024 #define DDG4_GEANT4INTERACTIONVERTEXBOOST_H 0025 0026 // Framework include files 0027 #include <DDG4/Geant4GeneratorAction.h> 0028 #include <DDG4/Geant4Primary.h> 0029 0030 /// Namespace for the AIDA detector description toolkit 0031 namespace dd4hep { 0032 0033 /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit 0034 namespace sim { 0035 0036 /// Action class to boost the primary vertex (and all outgoing particles) of a single interaction 0037 /** 0038 * The vertex boost is steered by the Lorentz transformation angle. 0039 * The interaction to be modified is identified by the interaction's unique mask. 0040 * 0041 * \author M.Frank 0042 * \version 1.0 0043 * \ingroup DD4HEP_SIMULATION 0044 */ 0045 class Geant4InteractionVertexBoost: public Geant4GeneratorAction { 0046 public: 0047 /// Interaction definition 0048 typedef Geant4PrimaryInteraction Interaction; 0049 0050 protected: 0051 /// Property: The constant Lorentz transformation angle 0052 double m_angle; 0053 /// Property: Unique identifier of the interaction to be modified 0054 int m_mask; 0055 0056 /// Action routine to boost one single interaction according to the properties 0057 void boost(Interaction* interaction) const; 0058 0059 public: 0060 /// Inhibit default constructor 0061 Geant4InteractionVertexBoost() = delete; 0062 /// Standard constructor 0063 Geant4InteractionVertexBoost(Geant4Context* context, const std::string& name); 0064 /// Default destructor 0065 virtual ~Geant4InteractionVertexBoost(); 0066 /// Callback to generate primary particles 0067 virtual void operator()(G4Event* event); 0068 }; 0069 } // End namespace sim 0070 } // End namespace dd4hep 0071 #endif // DDG4_GEANT4INTERACTIONVERTEXBOOST_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |