GENIEGenerator
Loading...
Searching...
No Matches
QELEventGeneratorSuSA.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::QELEventGeneratorSuSA
5
6\brief Event generator for SuSAv2 1p1h interactions
7
8\author Stephen Dolan <stephen.joseph.dolan \at cern.ch>
9 European Organization for Nuclear Research (CERN)
10
11 Steven Gardiner <gardiner \at fnal.gov>
12 Fermi National Accelerator Laboratory
13
14\cpright Copyright (c) 2003-2025, The GENIE Collaboration
15 For the full text of the license visit http://copyright.genie-mc.org
16 or see $GENIE/LICENSE
17*/
18//____________________________________________________________________________
19
20#ifndef _QEL_KINEMATICS_GENERATOR_SUSA_H_
21#define _QEL_KINEMATICS_GENERATOR_SUSA_H_
22
23#include <TGenPhaseSpace.h>
24
29
30namespace genie {
31
33
34public :
36 QELEventGeneratorSuSA(string config);
38
39 // implement the EventRecordVisitorI interface
40 void ProcessEventRecord (GHepRecord * event) const;
41
42 // overload the Algorithm::Configure() methods to load private data
43 // members from configuration options
44 void Configure(const Registry & config);
45 void Configure(string config);
46
47private:
48
49 void LoadConfig (void);
50 void AddTargetNucleusRemnant (GHepRecord * event) const;
51 void SelectLeptonKinematics (GHepRecord * event) const;
52 void GenerateNucleon (GHepRecord * event) const;
53 double ComputeMaxXSec(const Interaction * in) const;
54
56
57 double fQ3Max;
61 double fEbOR;
62
63 // Carbon removal energy - used for scaling
64 double fEbC;
65
66 /// Delegate event generation for free nucleon targets (which are
67 /// not handled by the SuSAv2 calculation) to a different event
68 /// generator
70};
71
72} // genie namespace
73#endif // _QEL_KINEMATICS_GENERATOR_SUSA_H_
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the 'Visito...
GENIE's GHEP MC event record.
Definition GHepRecord.h:45
Summary information for an interaction.
Definition Interaction.h:56
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
void GenerateNucleon(GHepRecord *event) const
void AddTargetNucleusRemnant(GHepRecord *event) const
const EventRecordVisitorI * fFreeNucleonEventGenerator
void SelectLeptonKinematics(GHepRecord *event) const
void Configure(const Registry &config)
void ProcessEventRecord(GHepRecord *event) const
double ComputeMaxXSec(const Interaction *in) const
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25