|
||||
Warning, file /npsim/src/plugins/include/npdet/EICInteractionVertexBoost.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #ifndef DD4HEP_DDG4_EICInteractionVertexBoost_H 0002 #define DD4HEP_DDG4_EICInteractionVertexBoost_H 0003 0004 /** \addtogroup GeneratorAction Generator Actions 0005 * \brief Here are some generator actions. 0006 * 0007 * Generator A B C 0008 * 0009 * @{ 0010 \addtogroup VertexBoosting Vertex Boost 0011 * \brief Boost the primary vertex (and all outgoing particles) of a single interaction. 0012 * 0013 * Generates the crossing angle. 0014 * 0015 * Here is an example of usage in python: 0016 * 0017 */ 0018 0019 // Framework include files 0020 #include "DDG4/Geant4GeneratorAction.h" 0021 0022 namespace npdet { 0023 0024 namespace sim { 0025 0026 using namespace dd4hep::sim; 0027 /// Action class to boost the primary vertex (and all outgoing particles) of a single interaction 0028 /** 0029 * The vertex boost is steered by the Lorentz transformation angle. 0030 * The interaction to be modified is identified by the interaction's unique mask. 0031 * 0032 * \ingroup GeneratorAction VertexBoosting EIC 0033 */ 0034 class EICInteractionVertexBoost: public Geant4GeneratorAction { 0035 public: 0036 /// Interaction definition 0037 using Interaction = Geant4PrimaryInteraction ; 0038 0039 protected: 0040 /// Property: The constant Lorentz transformation angle 0041 //double m_angle; 0042 /// Crossing angles relative to central B-field solenoid. 0043 double m_ionCrossingAngle = 0.0166667; 0044 double m_eCrossingAngle = 0.00833333; 0045 /// Property: Unique identifier of the interaction to be modified 0046 int m_mask; 0047 0048 /// Action routine to boost one single interaction according to the properties 0049 void boost(Interaction* interaction) const; 0050 0051 public: 0052 /// Inhibit default constructor 0053 EICInteractionVertexBoost() = delete; 0054 /// Standard constructor 0055 EICInteractionVertexBoost(Geant4Context* context, const std::string& name); 0056 /// Default destructor 0057 virtual ~EICInteractionVertexBoost(); 0058 /// Callback to generate primary particles 0059 virtual void operator()(G4Event* event); 0060 }; 0061 } // End namespace sim 0062 } // End namespace dd4hep 0063 0064 //@} 0065 #endif /* DD4HEP_DDG4_EICInteractionVertexBoost_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |