GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DMDISOutgoingDarkGenerator.cxx
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*
3  Copyright (c) 2003-2024, The GENIE Collaboration
4  For the full text of the license visit http://copyright.genie-mc.org
5 
6 
7  Author: Joshua Berger <jberger \at physics.wisc.edu>
8  University of Wisconsin-Madison
9 
10  Costas Andreopoulos <c.andreopoulos \at cern.ch>
11  University of Liverpool
12 */
13 //____________________________________________________________________________
14 
15 #include <TMath.h>
16 
23 
24 using namespace genie;
25 
26 //___________________________________________________________________________
28 OutgoingDarkGenerator("genie::DMDISOutgoingDarkGenerator")
29 {
30 
31 }
32 //___________________________________________________________________________
34 OutgoingDarkGenerator("genie::DMDISOutgoingDarkGenerator", config)
35 {
36 
37 }
38 //___________________________________________________________________________
40 {
41 
42 }
43 //___________________________________________________________________________
45 {
46 // This method generates the final state primary lepton in DIS events
47 
48  // no modification is required to the std implementation
50 
51  if(evrec->FinalStatePrimaryLepton()->IsOffMassShell()) {
52  LOG("LeptonicVertex", pERROR)
53  << "*** Selected kinematics lead to off mass shell dark matter!";
54  evrec->EventFlags()->SetBitNumber(kLeptoGenErr, true);
56  exception.SetReason("E<m for final state dark matter");
57  exception.SwitchOnFastForward();
58  throw exception;
59  }
60 }
61 //___________________________________________________________________________
#define pERROR
Definition: Messenger.h:59
void ProcessEventRecord(GHepRecord *event_rec) const
Abstract class. Is used to pass common implementation to concrete implementations of the EventRecordV...
An exception thrown by EventRecordVisitorI when the normal processing sequence has to be disrupted (f...
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
virtual GHepParticle * FinalStatePrimaryLepton(void) const
Definition: GHepRecord.cxx:333
virtual void ProcessEventRecord(GHepRecord *evrec) const
bool IsOffMassShell(void) const
virtual TBits * EventFlags(void) const
Definition: GHepRecord.h:117
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45