OutgoingDarkGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::OutgoingDarkGenerator
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 Joshua Berger <jberger \at physics.wisc.edu>
11  University of Wisconsin-Madison
12 
13  Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
14  University of Liverpool & STFC Rutherford Appleton Laboratory
15 
16 \created October 03, 2004
17 
18 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
19  For the full text of the license visit http://copyright.genie-mc.org
20 */
21 //____________________________________________________________________________
22 
23 #ifndef _OUTGOING_DARK_GENERATOR_H_
24 #define _OUTGOING_DARK_GENERATOR_H_
25 
26 class TVector3;
27 class TLorentzVector;
28 
30 
31 namespace genie {
32 
34 
35 public :
36 
37  //-- Standard EventRecordVisitorI interface implementation
38  virtual void ProcessEventRecord(GHepRecord * evrec) const;
39 
40  //-- Common methods for all concrete OutgoingDarkGenerator-type
41  // EventRecordVisitors
42  virtual void SetPolarization (GHepRecord * ev) const;
43  virtual TVector3 NucRestFrame2Lab (GHepRecord * ev) const;
44  virtual void AddToEventRecord (
45  GHepRecord * ev, int pdgc, const TLorentzVector & p4) const;
46 
47  //-- override the Algorithm::Configure methods to load configuration
48  // data to private data members
49  void Configure (const Registry & config);
50  void Configure (string config);
51 
52 protected:
53 
54  //-- Abstract class - Can only be instantiated by its children.
57  OutgoingDarkGenerator(string name, string config);
58  virtual ~OutgoingDarkGenerator();
59 
60  void LoadConfig(void);
61 
63 };
64 
65 } // genie namespace
66 
67 #endif // _OUTGOING_DARK_GENERATOR_H_
static QCString name
Definition: declinfo.cpp:673
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
void Configure(const Registry &config)
Abstract class. Is used to pass common implementation to concrete implementations of the EventRecordV...
static Config * config
Definition: config.cpp:1054
virtual void SetPolarization(GHepRecord *ev) const
virtual void AddToEventRecord(GHepRecord *ev, int pdgc, const TLorentzVector &p4) const
virtual void ProcessEventRecord(GHepRecord *evrec) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
virtual TVector3 NucRestFrame2Lab(GHepRecord *ev) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45