HadronicSystemGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::HadronicSystemGenerator
5 
6 \brief Abstract class. Is used to pass some commonly recurring methods to
7  all concrete implementations of the EventRecordVisitorI interface
8  generating the hadronic system for a specific processes (QEL,DIS,
9  RES,...)
10 
11 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
12  University of Liverpool & STFC Rutherford Appleton Laboratory
13 
14 \created July 16, 2005
15 
16 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
17  For the full text of the license visit http://copyright.genie-mc.org
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _HADRONIC_SYSTEM_GENERATOR_H_
22 #define _HADRONIC_SYSTEM_GENERATOR_H_
23 
24 #include <TLorentzVector.h>
25 #include <TVector3.h>
26 
28 
29 namespace genie {
30 
32 
33 public :
34 
35  // Do not implement the EventRecordVisitorI interface.
36  // Leave it for the concrete subclasses
37 
38 
39  // Common methods for all concrete subclasses
40 
41  void AddTargetNucleusRemnant (GHepRecord * event_rec) const;
42  void AddFinalHadronicSyst (GHepRecord * event_rec) const;
43  void PreHadronTransportDecays (GHepRecord * event_rec) const;
44 
45  TLorentzVector Hadronic4pLAB (GHepRecord * event_rec) const;
46  TLorentzVector MomentumTransferLAB (GHepRecord * event_rec) const;
47  TVector3 HCM2LAB (GHepRecord * event_rec) const;
48  int HadronShowerCharge (GHepRecord * event_rec) const;
49  int ResonanceCharge (GHepRecord * event_rec) const;
50 
51 protected:
52 
53  // Abstract base class
56  HadronicSystemGenerator(string name, string config);
58 
60 };
61 
62 } // genie namespace
63 
64 #endif // _HADRONIC_SYSTEM_GENERATOR_H_
static QCString name
Definition: declinfo.cpp:673
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
TLorentzVector Hadronic4pLAB(GHepRecord *event_rec) const
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
const EventRecordVisitorI * fPreINukeDecayer
void AddTargetNucleusRemnant(GHepRecord *event_rec) const
int HadronShowerCharge(GHepRecord *event_rec) const
static Config * config
Definition: config.cpp:1054
TLorentzVector MomentumTransferLAB(GHepRecord *event_rec) const
int ResonanceCharge(GHepRecord *event_rec) const
Abstract class. Is used to pass some commonly recurring methods to all concrete implementations of th...
TVector3 HCM2LAB(GHepRecord *event_rec) const
void AddFinalHadronicSyst(GHepRecord *event_rec) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45
void PreHadronTransportDecays(GHepRecord *event_rec) const