List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends
G4StationSimulatorOG::G4StationSimulator Class Reference

class that handles Geant4 SD Station simulation adopted from G4TankSimulator More...

#include <G4StationSimulator.h>

Inheritance diagram for G4StationSimulatorOG::G4StationSimulator:
Inheritance graph
[legend]

Classes

class  Current
 
class  Setup
 

Public Types

enum  ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop }
 Flag returned by module methods to the RunController. More...
 
enum  VersionInfoType {
  eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4,
  eLastEditor = 5
}
 Different types of version info that can be retrieved from GetVersionInfo. More...
 

Public Member Functions

fwk::VModule::ResultFlag Finish () override
 Finish: invoked at end of the run (NOT end of the event) More...
 
 G4StationSimulator ()=default
 
utl::StopwatchGetStopwatch ()
 
const utl::StopwatchGetStopwatch () const
 
std::string GetVersionInfo (const VersionInfoType v) const
 Retrieve different sorts of module version info. More...
 
fwk::VModule::ResultFlag Init () override
 Initialize: invoked at beginning of run (NOT beginning of event) More...
 
void InitTiming ()
 
fwk::VModule::ResultFlag Run (evt::Event &event) override
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 
virtual ~G4StationSimulator ()=default
 

Static Public Member Functions

static std::string GetResultFlagByName (const ResultFlag flag)
 

Protected Types

enum  InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 }
 

Protected Attributes

int fInfoLevel = 0
 

Private Member Functions

void AddInjectedParticle (const size_t modId, const size_t pixId, const utl::Particle &injectedParticle) const
 
void AddPhoton (const int nPMT, const double peTime) const
 peTime in Auger units! More...
 
void AddUMDPhoton (const size_t modId, const size_t pixId, const double peTime) const
 
void ConstructTraces (sevt::Station &station) const
 
void FillRPCSimData (cevt::StationSimData &simData) const
 
bool IsMARTAEnabled () const
 
bool IsUMDEnabled () const
 
bool OnlyMuonsInUMD () const
 
 REGISTER_MODULE ("G4StationSimulatorOG", G4StationSimulator)
 
fwk::VModule::ResultFlag RunFast (evt::Event &event)
 
fwk::VModule::ResultFlag RunFull (evt::Event &event)
 

Private Attributes

bool fDetectorConstructed = false
 
std::string fEventId
 
bool fFastMode = false
 
bool fGeoVisOn = false
 
bool fMARTAEnabled = false
 
double fRangeCutDefault = 0
 
double fRangeCutElectron = 0
 
double fRangeCutGamma = 0
 
double fRangeCutMuonMinus = 0
 
double fRangeCutMuonPlus = 0
 
double fRangeCutOpticalPhoton = 0
 
double fRangeCutPositron = 0
 
std::string fRenderFile
 
G4RunManager * fRunManager = nullptr
 
double fScintYield = 0
 
SignalSeparationMode fSignalSeparationMode = eStandard
 
double fSimulationRadius = 5*CLHEP::m
 
std::string fSimulatorSignature
 
G4StationStackingActionfStackingAction = nullptr
 
G4StationConstructionfStationConstruction = nullptr
 
bool fTrackMode = false
 
bool fTrajVisOn = false
 
G4UImanager * fUImanager = nullptr
 
double fUMDElectCut = 0
 
bool fUMDEnabled = false
 
bool fUMDFastMode = false
 
bool fUMDFastProp = false
 
double fUMDGammaCut = 0
 
double fUMDMuonsCut = 0
 
bool fUMDOnlyMuons = false
 
double fUMDOtherCut = 0
 
unsigned int fVerbosity = 0
 
G4VisManager * fVisManager = nullptr
 

Static Private Attributes

static Current fgCurrent
 
static bool fgMuCapture = false
 

Friends

class G4ScintillatorAction
 
class G4SoilAction
 
class G4StationConstruction
 
class G4StationEventAction
 
class G4StationFastCerenkov
 
class G4StationPhysicsList
 
class G4StationPrimaryGenerator
 
class G4StationStackingAction
 
class G4StationSteppingAction
 
class G4TankPMTAction
 
class G4UMDScintStripAction
 

Detailed Description

class that handles Geant4 SD Station simulation adopted from G4TankSimulator

Author
David Schmidt
Eric Mayotte
Tom McCauley
P. Gabriel (MARTA integration)
Darko Veberic
Date
07 October 2003

Definition at line 65 of file G4StationSimulator.h.

Member Enumeration Documentation

enum fwk::VModule::InfoLevel
protectedinherited
Enumerator
eInfoNone 
eInfoFinal 
eInfoIntermediate 
eInfoDebug 

Definition at line 125 of file VModule.h.

enum fwk::VModule::ResultFlag
inherited

Flag returned by module methods to the RunController.

Enumerator
eSuccess 

Report success to RunController.

eFailure 

Report failure to RunController, causing RunController to terminate execution.

eBreakLoop 

Break current loop. It works for nested loops too!

eContinueLoop 

Skip remaining modules in the current loop and continue with next iteration of the loop.

Definition at line 60 of file VModule.h.

Different types of version info that can be retrieved from GetVersionInfo.

Enumerator
eFilename 
eRevisionNumber 
eDate 
eTime 
eLastEditor 

Definition at line 110 of file VModule.h.

Constructor & Destructor Documentation

G4StationSimulatorOG::G4StationSimulator::G4StationSimulator ( )
default
virtual G4StationSimulatorOG::G4StationSimulator::~G4StationSimulator ( )
virtualdefault

Member Function Documentation

void G4StationSimulatorOG::G4StationSimulator::AddInjectedParticle ( const size_t  modId,
const size_t  pixId,
const utl::Particle injectedParticle 
) const
private
void G4StationSimulatorOG::G4StationSimulator::AddPhoton ( const int  nPMT,
const double  peTime 
) const
private
void G4StationSimulatorOG::G4StationSimulator::AddUMDPhoton ( const size_t  modId,
const size_t  pixId,
const double  peTime 
) const
private
void G4StationSimulatorOG::G4StationSimulator::ConstructTraces ( sevt::Station station) const
private
void G4StationSimulatorOG::G4StationSimulator::FillRPCSimData ( cevt::StationSimData simData) const
private
VModule::ResultFlag G4StationSimulatorOG::G4StationSimulator::Finish ( )
overridevirtual

Finish: invoked at end of the run (NOT end of the event)

This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 479 of file G4StationSimulator.cc.

References io::eSuccess.

std::string fwk::VModule::GetResultFlagByName ( const ResultFlag  flag)
staticinherited
utl::Stopwatch& fwk::VModule::GetStopwatch ( )
inlineinherited

Definition at line 106 of file VModule.h.

References fwk::VModule::fStopwatch.

const utl::Stopwatch& fwk::VModule::GetStopwatch ( ) const
inlineinherited

Definition at line 107 of file VModule.h.

References fwk::VModule::fStopwatch.

std::string fwk::VModule::GetVersionInfo ( const VersionInfoType  v) const
inherited
VModule::ResultFlag G4StationSimulatorOG::G4StationSimulator::Init ( )
overridevirtual

Initialize: invoked at beginning of run (NOT beginning of event)

This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 73 of file G4StationSimulator.cc.

References utl::cm, cdet::CDetectorConstants::eStandard, io::eSuccess, G4StationSimulatorOG::eUniversality, galactic::eV, utl::eV, utl::Branch::Get(), utl::Branch::GetChild(), utl::Branch::GetData(), fwk::CentralConfig::GetInstance(), utl::Branch::GetTopBranch(), INFO, utl::keV, and utl::m.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().

bool G4StationSimulatorOG::G4StationSimulator::IsMARTAEnabled ( ) const
inlineprivate

Definition at line 155 of file G4StationSimulator.h.

References fMARTAEnabled.

bool G4StationSimulatorOG::G4StationSimulator::IsUMDEnabled ( ) const
inlineprivate

Definition at line 153 of file G4StationSimulator.h.

References fUMDEnabled.

bool G4StationSimulatorOG::G4StationSimulator::OnlyMuonsInUMD ( ) const
inlineprivate
G4StationSimulatorOG::G4StationSimulator::REGISTER_MODULE ( "G4StationSimulatorOG"  ,
G4StationSimulator   
)
private
VModule::ResultFlag G4StationSimulatorOG::G4StationSimulator::Run ( evt::Event event)
overridevirtual

Run: invoked once per event.

This method is for things that should be done once per event {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 207 of file G4StationSimulator.cc.

References fwk::RandomEngineRegistry::eDetector, ERROR, fwk::CoordinateSystemRegistry::Get(), sevt::SEvent::GetNumberOfStations(), evt::Event::HasCEvent(), evt::Event::HasSEvent(), INFO, sevt::SEvent::StationsBegin(), and sevt::SEvent::StationsEnd().

VModule::ResultFlag G4StationSimulatorOG::G4StationSimulator::RunFast ( evt::Event event)
private
VModule::ResultFlag G4StationSimulatorOG::G4StationSimulator::RunFull ( evt::Event event)
private
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Friends And Related Function Documentation

friend class G4ScintillatorAction
friend

Definition at line 214 of file G4StationSimulator.h.

friend class G4SoilAction
friend

Definition at line 218 of file G4StationSimulator.h.

friend class G4StationConstruction
friend

Definition at line 211 of file G4StationSimulator.h.

friend class G4StationEventAction
friend

Definition at line 216 of file G4StationSimulator.h.

friend class G4StationFastCerenkov
friend

Definition at line 210 of file G4StationSimulator.h.

friend class G4StationPhysicsList
friend

Definition at line 215 of file G4StationSimulator.h.

friend class G4StationPrimaryGenerator
friend

Definition at line 209 of file G4StationSimulator.h.

friend class G4StationStackingAction
friend

Definition at line 213 of file G4StationSimulator.h.

friend class G4StationSteppingAction
friend

Definition at line 219 of file G4StationSimulator.h.

friend class G4TankPMTAction
friend

Definition at line 212 of file G4StationSimulator.h.

friend class G4UMDScintStripAction
friend

Definition at line 217 of file G4StationSimulator.h.

Member Data Documentation

bool G4StationSimulatorOG::G4StationSimulator::fDetectorConstructed = false
private

Definition at line 175 of file G4StationSimulator.h.

std::string G4StationSimulatorOG::G4StationSimulator::fEventId
private

Definition at line 205 of file G4StationSimulator.h.

bool G4StationSimulatorOG::G4StationSimulator::fFastMode = false
private

Definition at line 176 of file G4StationSimulator.h.

G4StationSimulator::Current G4StationSimulatorOG::G4StationSimulator::fgCurrent
staticprivate
bool G4StationSimulatorOG::G4StationSimulator::fGeoVisOn = false
private
bool G4StationSimulatorOG::G4StationSimulator::fgMuCapture = false
staticprivate
int fwk::VModule::fInfoLevel = 0
protectedinherited
bool G4StationSimulatorOG::G4StationSimulator::fMARTAEnabled = false
private

Definition at line 192 of file G4StationSimulator.h.

Referenced by IsMARTAEnabled().

double G4StationSimulatorOG::G4StationSimulator::fRangeCutDefault = 0
private
double G4StationSimulatorOG::G4StationSimulator::fRangeCutElectron = 0
private
double G4StationSimulatorOG::G4StationSimulator::fRangeCutGamma = 0
private
double G4StationSimulatorOG::G4StationSimulator::fRangeCutMuonMinus = 0
private
double G4StationSimulatorOG::G4StationSimulator::fRangeCutMuonPlus = 0
private
double G4StationSimulatorOG::G4StationSimulator::fRangeCutOpticalPhoton = 0
private
double G4StationSimulatorOG::G4StationSimulator::fRangeCutPositron = 0
private
std::string G4StationSimulatorOG::G4StationSimulator::fRenderFile
private

Definition at line 172 of file G4StationSimulator.h.

G4RunManager* G4StationSimulatorOG::G4StationSimulator::fRunManager = nullptr
private

Definition at line 164 of file G4StationSimulator.h.

double G4StationSimulatorOG::G4StationSimulator::fScintYield = 0
private

Definition at line 191 of file G4StationSimulator.h.

SignalSeparationMode G4StationSimulatorOG::G4StationSimulator::fSignalSeparationMode = eStandard
private

Definition at line 173 of file G4StationSimulator.h.

double G4StationSimulatorOG::G4StationSimulator::fSimulationRadius = 5*CLHEP::m
private

Definition at line 189 of file G4StationSimulator.h.

std::string G4StationSimulatorOG::G4StationSimulator::fSimulatorSignature
private

Definition at line 207 of file G4StationSimulator.h.

G4StationStackingAction* G4StationSimulatorOG::G4StationSimulator::fStackingAction = nullptr
private

Definition at line 167 of file G4StationSimulator.h.

G4StationConstruction* G4StationSimulatorOG::G4StationSimulator::fStationConstruction = nullptr
private

Definition at line 203 of file G4StationSimulator.h.

bool G4StationSimulatorOG::G4StationSimulator::fTrackMode = false
private

Definition at line 188 of file G4StationSimulator.h.

bool G4StationSimulatorOG::G4StationSimulator::fTrajVisOn = false
private
G4UImanager* G4StationSimulatorOG::G4StationSimulator::fUImanager = nullptr
private

Definition at line 165 of file G4StationSimulator.h.

double G4StationSimulatorOG::G4StationSimulator::fUMDElectCut = 0
private
bool G4StationSimulatorOG::G4StationSimulator::fUMDEnabled = false
private

Definition at line 190 of file G4StationSimulator.h.

Referenced by IsUMDEnabled().

bool G4StationSimulatorOG::G4StationSimulator::fUMDFastMode = false
private
bool G4StationSimulatorOG::G4StationSimulator::fUMDFastProp = false
private
double G4StationSimulatorOG::G4StationSimulator::fUMDGammaCut = 0
private
double G4StationSimulatorOG::G4StationSimulator::fUMDMuonsCut = 0
private
bool G4StationSimulatorOG::G4StationSimulator::fUMDOnlyMuons = false
private

Definition at line 181 of file G4StationSimulator.h.

Referenced by OnlyMuonsInUMD().

double G4StationSimulatorOG::G4StationSimulator::fUMDOtherCut = 0
private
unsigned int G4StationSimulatorOG::G4StationSimulator::fVerbosity = 0
private
G4VisManager* G4StationSimulatorOG::G4StationSimulator::fVisManager = nullptr
private

Definition at line 166 of file G4StationSimulator.h.


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

, generated on Tue Sep 26 2023.