PrimaryLeptonGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::PrimaryLeptonGenerator
5 
6 \brief Abstract class. Is used to pass common implementation to concrete
7  implementations of the EventRecordVisitorI interface generating the
8  primary lepton for a specific processes (QEL,DIS,RES,IMD,...)
9 
10 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
11  University of Liverpool & STFC Rutherford Appleton Lab
12 
13 \created October 03, 2004
14 
15 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17  or see $GENIE/LICENSE
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _PRIMARY_LEPTON_GENERATOR_H_
22 #define _PRIMARY_LEPTON_GENERATOR_H_
23 
24 class TVector3;
25 class TLorentzVector;
26 
28 
29 namespace genie {
30 
32 
33 public :
34 
35  //-- Standard EventRecordVisitorI interface implementation
36  virtual void ProcessEventRecord(GHepRecord * evrec) const;
37 
38  //-- Common methods for all concrete PrimaryLeptonGenerator-type
39  // EventRecordVisitors
40  virtual void SetPolarization (GHepRecord * ev) const;
41  virtual TVector3 NucRestFrame2Lab (GHepRecord * ev) const;
42  virtual void AddToEventRecord (
43  GHepRecord * ev, int pdgc, const TLorentzVector & p4) const;
44 
45  //-- override the Algorithm::Configure methods to load configuration
46  // data to private data members
47  void Configure (const Registry & config);
48  void Configure (string config);
49 
50 protected:
51 
52  //-- Abstract class - Can only be instantiated by its children.
55  PrimaryLeptonGenerator(string name, string config);
56  virtual ~PrimaryLeptonGenerator();
57 
58  void LoadConfig(void);
59 
61 };
62 
63 } // genie namespace
64 
65 #endif // _PRIMARY_LEPTON_GENERATOR_H_
const XML_Char * name
Definition: expat.h:151
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
Definition: config.py:1
virtual void ProcessEventRecord(GHepRecord *evrec) const
Abstract class. Is used to pass common implementation to concrete implementations of the EventRecordV...
virtual TVector3 NucRestFrame2Lab(GHepRecord *ev) const
void Configure(const Registry &config)
virtual void SetPolarization(GHepRecord *ev) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
virtual void AddToEventRecord(GHepRecord *ev, int pdgc, const TLorentzVector &p4) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:46