BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
G4SvcRunManager Class Reference

#include <G4SvcRunManager.h>

Inheritance diagram for G4SvcRunManager:

Public Member Functions

 G4SvcRunManager ()
virtual ~G4SvcRunManager ()
G4Event * GenerateEvent (G4int i_event)
void SimulateEvent (int i)
void PrintPrimary (G4Event *anEvent)

Friends

class G4Svc

Detailed Description

Definition at line 15 of file G4SvcRunManager.h.

Constructor & Destructor Documentation

◆ G4SvcRunManager()

G4SvcRunManager::G4SvcRunManager ( )

Definition at line 38 of file G4SvcRunManager.cpp.

38: G4RunManager(), m_logLevel( 6 ) {}

◆ ~G4SvcRunManager()

G4SvcRunManager::~G4SvcRunManager ( )
virtual

Definition at line 42 of file G4SvcRunManager.cpp.

42{}

Member Function Documentation

◆ GenerateEvent()

G4Event * G4SvcRunManager::GenerateEvent ( G4int i_event)

Definition at line 44 of file G4SvcRunManager.cpp.

44 {
45 G4Event* anEvent = new G4Event( i_event );
46
47 if ( !userPrimaryGeneratorAction )
48 {
49 if ( m_logLevel <= 4 ) std::cout << "calling the hepmc interface" << std::endl;
50 BesHepMCInterface* hepmcInterface = new BesHepMCInterface;
51 hepmcInterface->SetLogLevel( m_logLevel );
52 HepMC::GenEvent* hepmcEvent = hepmcInterface->GenerateHepMCEvent();
53 if ( m_logLevel <= 4 ) std::cout << "got the hepmcEvent" << std::endl;
54 hepmcInterface->HepMC2G4( hepmcEvent, anEvent );
55 delete hepmcInterface;
56 if ( m_logLevel <= 4 ) PrintPrimary( anEvent );
57 }
58 else
59 {
60 if ( storeRandomNumberStatus )
61 {
62 G4String fileN = randomNumberStatusDir + "currentEvent.rndm";
63 CLHEP::HepRandom::saveEngineStatus( fileN );
64 }
65 userPrimaryGeneratorAction->GeneratePrimaries( anEvent );
66 }
67 return anEvent;
68}
HepMC::GenEvent * GenerateHepMCEvent()
void HepMC2G4(HepMC::GenEvent *hepmcevt, G4Event *g4event)
void SetLogLevel(G4int level)
void PrintPrimary(G4Event *anEvent)

Referenced by SimulateEvent().

◆ PrintPrimary()

void G4SvcRunManager::PrintPrimary ( G4Event * anEvent)

Definition at line 70 of file G4SvcRunManager.cpp.

70 {
71 G4cout << G4endl << "primary particles of this event: " << G4endl;
72 G4int n_vertex = anEvent->GetNumberOfPrimaryVertex();
73 for ( G4int i = 0; i < n_vertex; i++ )
74 {
75 G4cout << "vertex:" << i << G4endl;
76 G4PrimaryVertex* primaryVertex = anEvent->GetPrimaryVertex( i );
77 G4PrimaryParticle* primaryParticle = primaryVertex->GetPrimary();
78 G4cout << "PDGCode:";
79 while ( primaryParticle != 0 )
80 {
81 G4int PDGcode = primaryParticle->GetPDGcode();
82 G4cout << PDGcode << " ";
83 primaryParticle = primaryParticle->GetNext();
84 }
85 G4cout << G4endl;
86 }
87 G4cout << G4endl;
88}

Referenced by GenerateEvent().

◆ SimulateEvent()

void G4SvcRunManager::SimulateEvent ( int i)

Definition at line 89 of file G4SvcRunManager.cpp.

89 {
90 // G4StateManager* stateManager = G4StateManager::GetStateManager();
91 // stateManager->SetNewState(G4State_EventProc);
92 currentEvent = GenerateEvent( i );
93 eventManager->ProcessOneEvent( currentEvent );
94 AnalyzeEvent( currentEvent );
95 // stateManager->SetNewState(G4State_GeomClosed);
96 StackPreviousEvent( currentEvent );
97 currentEvent = 0;
98 if ( m_logLevel <= 4 )
99 std::cout << "SimulateEvent : done simulating one event " << std::endl << std::endl;
100}
G4Event * GenerateEvent(G4int i_event)

◆ G4Svc

friend class G4Svc
friend

Definition at line 17 of file G4SvcRunManager.h.

Referenced by G4Svc.


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