PauliBlocker.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::PauliBlocker
5 
6 \brief Examines whether the generated event should be Pauli blocked.
7  Is a concerete implementation of the EventRecordVisitorI interface.
8 
9 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
10  University of Liverpool & STFC Rutherford Appleton Laboratory
11 
12  Changes required to implement the GENIE Boosted Dark Matter module
13  were installed by Josh Berger (Univ. of Wisconsin)
14 
15  Other code improvements, additions, fixes were installed by
16  Joe Johnston (Univ of Pittsburgh)
17 
18 \created October 08, 2004
19 
20 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
21  For the full text of the license visit http://copyright.genie-mc.org
22 
23 */
24 //____________________________________________________________________________
25 
26 #ifndef _PAULI_BLOCKER_H_
27 #define _PAULI_BLOCKER_H_
28 
31 
32 namespace genie {
33 
34 class FermiMomentumTable;
35 
37 
38 public :
39  PauliBlocker();
40  PauliBlocker(string config);
41  ~PauliBlocker();
42 
43  //-- implement the EventRecordVisitorI interface
44  void ProcessEventRecord(GHepRecord * event_rec) const;
45 
46  //-- override the Algorithm::Configure methods to load configuration
47  // data to private data members
48  void Configure (const Registry & config);
49  void Configure (string param_set);
50 
51  /// Get the Fermi momentum needed to check Pauli blocking
52  double GetFermiMomentum(const Target& tgt, int pdg_Nf,
53  double radius = 0.0) const;
54 
55 private:
56  void LoadModelType(void);
57 
58  bool fLFG;
60  string fKFTableName;
61 };
62 
63 } // genie namespace
64 
65 #endif // _PAULI_BLOCKER_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
Examines whether the generated event should be Pauli blocked. Is a concerete implementation of the Ev...
Definition: PauliBlocker.h:36
A table of Fermi momentum constants.
void Configure(const Registry &config)
double GetFermiMomentum(const Target &tgt, int pdg_Nf, double radius=0.0) const
Get the Fermi momentum needed to check Pauli blocking.
static Config * config
Definition: config.cpp:1054
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
void LoadModelType(void)
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
const FermiMomentumTable * fKFTable
Definition: PauliBlocker.h:59
void ProcessEventRecord(GHepRecord *event_rec) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45