Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
genie::RunningThreadInfo Class Reference

Keep info on the event generation thread currently on charge. This is used so that event generation modules invoked by the thread can see the "bigger picture" and access the cross section model for the thread, look-up info for modules that run before or are scheduled to run after etc. More...

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01/Linux64bit+3.10-2.17-e17-debug/GENIE-Generator/src/Framework/EventGen/RunningThreadInfo.h"

Classes

struct  Cleaner
 clean More...
 

Public Member Functions

const EventGeneratorIRunningThread (void)
 
void UpdateRunningThread (const EventGeneratorI *evg)
 

Static Public Member Functions

static RunningThreadInfoInstance (void)
 

Private Member Functions

 RunningThreadInfo ()
 
 RunningThreadInfo (const RunningThreadInfo &info)
 
virtual ~RunningThreadInfo ()
 

Private Attributes

const EventGeneratorIfRunningThread
 current thread More...
 

Static Private Attributes

static RunningThreadInfofInstance = 0
 self More...
 

Friends

struct Cleaner
 

Detailed Description

Keep info on the event generation thread currently on charge. This is used so that event generation modules invoked by the thread can see the "bigger picture" and access the cross section model for the thread, look-up info for modules that run before or are scheduled to run after etc.

Author
Costas Andreopoulos <costas.andreopoulos stfc.ac.uk> University of Liverpool & STFC Rutherford Appleton Lab

May 06, 2004

Copyright (c) 2003-2019, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org or see $GENIE/LICENSE

Definition at line 30 of file RunningThreadInfo.h.

Constructor & Destructor Documentation

RunningThreadInfo::RunningThreadInfo ( )
private

Definition at line 26 of file RunningThreadInfo.cxx.

References fInstance.

Referenced by Instance(), and UpdateRunningThread().

27 {
28  fInstance = 0;
29 }
static RunningThreadInfo * fInstance
self
genie::RunningThreadInfo::RunningThreadInfo ( const RunningThreadInfo info)
private
RunningThreadInfo::~RunningThreadInfo ( )
privatevirtual

Definition at line 31 of file RunningThreadInfo.cxx.

References fInstance.

Referenced by UpdateRunningThread().

32 {
33  fInstance = 0;
34 }
static RunningThreadInfo * fInstance
self

Member Function Documentation

RunningThreadInfo * RunningThreadInfo::Instance ( void  )
static

Definition at line 36 of file RunningThreadInfo.cxx.

References genie::RunningThreadInfo::Cleaner::DummyMethodAndSilentCompiler(), fInstance, and RunningThreadInfo().

Referenced by genie::GEVGDriver::GenerateEvent(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::NuEKinematicsGenerator::ProcessEventRecord(), genie::COHPrimaryLeptonGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::COHElKinematicsGenerator::ProcessEventRecord(), genie::SKKinematicsGenerator::ProcessEventRecord(), genie::COHHadronicSystemGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::COHKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::MECGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::RSPPResonanceSelector::SelectResonance(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), and genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode().

37 {
38  if(fInstance == 0) {
39  static RunningThreadInfo::Cleaner cleaner;
42  }
43  return fInstance;
44 }
static RunningThreadInfo * fInstance
self
const EventGeneratorI* genie::RunningThreadInfo::RunningThread ( void  )
inline
void genie::RunningThreadInfo::UpdateRunningThread ( const EventGeneratorI evg)
inline

Definition at line 39 of file RunningThreadInfo.h.

References fRunningThread, RunningThreadInfo(), and ~RunningThreadInfo().

Referenced by genie::GEVGDriver::GenerateEvent().

40  {
42  }
const EventGeneratorI * fRunningThread
current thread

Friends And Related Function Documentation

friend struct Cleaner
friend

Definition at line 65 of file RunningThreadInfo.h.

Member Data Documentation

RunningThreadInfo * RunningThreadInfo::fInstance = 0
staticprivate
const EventGeneratorI* genie::RunningThreadInfo::fRunningThread
private

current thread

Definition at line 53 of file RunningThreadInfo.h.

Referenced by RunningThread(), and UpdateRunningThread().


The documentation for this class was generated from the following files: