GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 <c.andreopoulos \at cern.ch>
11  University of Liverpool
12 
13 \created October 03, 2004
14 
15 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _PRIMARY_LEPTON_GENERATOR_H_
21 #define _PRIMARY_LEPTON_GENERATOR_H_
22 
23 class TVector3;
24 class TLorentzVector;
25 
27 
28 namespace genie {
29 
31 
32 public :
33 
34  //-- Standard EventRecordVisitorI interface implementation
35  virtual void ProcessEventRecord(GHepRecord * evrec) const;
36 
37  //-- Common methods for all concrete PrimaryLeptonGenerator-type
38  // EventRecordVisitors
39  virtual void SetPolarization (GHepRecord * ev) const;
40  virtual TVector3 NucRestFrame2Lab (GHepRecord * ev) const;
41  virtual void AddToEventRecord (
42  GHepRecord * ev, int pdgc, const TLorentzVector & p4) const;
43 
44  //-- override the Algorithm::Configure methods to load configuration
45  // data to private data members
46  void Configure (const Registry & config);
47  void Configure (string config);
48 
49 protected:
50 
51  //-- Abstract class - Can only be instantiated by its children.
53  PrimaryLeptonGenerator(string name);
54  PrimaryLeptonGenerator(string name, string config);
55  virtual ~PrimaryLeptonGenerator();
56 
57  void LoadConfig(void);
58 
60 };
61 
62 } // genie namespace
63 
64 #endif // _PRIMARY_LEPTON_GENERATOR_H_
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
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:65
virtual void AddToEventRecord(GHepRecord *ev, int pdgc, const TLorentzVector &p4) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45