#include <MyAnalysisSvc.hh>
Definition at line 28 of file MyAnalysisSvc.hh.
MyAnalysisSvc::MyAnalysisSvc | ( | ) |
Definition at line 31 of file MyAnalysisSvc.cc.
References fMyAnalysisSvc, fPrintModulo, EventHeaderSvc::GetEventHeaderSvc(), McTruthSvc::GetMcTruthSvc(), MyDetectorManager::GetMyDetectorManager(), MyProcessManager::GetMyProcessManager(), MyRoot::GetMyRoot(), MyTriggerSvc::GetMyTriggerSvc(), PrimaryGeneratorAction::GetPrimaryGeneratorAction(), ProcessCountingSvc::GetProcessCountingSvc(), m_maxT, m_minT, ofile_name, out_card, pEventHeaderSvc, pMcTruthSvc, pMyAnalysisSvcMessenger, pMyDetectorManager, pMyProcessManager, pMyRoot, pMyTriggerSvc, pPrimaryGeneratorAction, pProcessCountingSvc, run_name, and set_out_card().
00032 { 00033 if (fMyAnalysisSvc){ 00034 G4Exception("MyAnalysisSvc::MyAnalysisSvc()","Run0031", 00035 FatalException, "MyAnalysisSvc constructed twice."); 00036 } 00037 fMyAnalysisSvc = this; 00038 //get pointers 00039 pMyAnalysisSvcMessenger = new MyAnalysisSvcMessenger(this); 00040 pMyRoot = MyRoot::GetMyRoot(); 00041 pMyDetectorManager = MyDetectorManager::GetMyDetectorManager(); 00042 pEventHeaderSvc = EventHeaderSvc::GetEventHeaderSvc(); 00043 pMcTruthSvc = McTruthSvc::GetMcTruthSvc(); 00044 pProcessCountingSvc = ProcessCountingSvc::GetProcessCountingSvc(); 00045 pMyTriggerSvc = MyTriggerSvc::GetMyTriggerSvc(); 00046 pPrimaryGeneratorAction = PrimaryGeneratorAction::GetPrimaryGeneratorAction(); 00047 pMyProcessManager = MyProcessManager::GetMyProcessManager(); 00048 00049 //default logfile 00050 run_name = getenv("RUNNAMEROOT"); 00051 //default output file 00052 ofile_name = getenv("OFILENAMEROOT"); 00053 //set default output card, read it, and inform relative files. 00054 std::string out_card = getenv("OUTCARDROOT"); 00055 set_out_card(out_card.c_str()); 00056 //default trigger card 00057 m_minT = -1; 00058 m_maxT = -1; 00059 fPrintModulo = 100; 00060 00061 }
MyAnalysisSvc::~MyAnalysisSvc | ( | ) | [virtual] |
Definition at line 63 of file MyAnalysisSvc.cc.
References pMyAnalysisSvcMessenger.
00064 { 00065 delete pMyAnalysisSvcMessenger; 00066 }
void MyAnalysisSvc::ASDI | ( | G4String | name | ) |
Definition at line 212 of file MyAnalysisSvc.cc.
References ProcessCountingSvc::AddASDI(), and pProcessCountingSvc.
00212 { 00213 pProcessCountingSvc->AddASDI(name); 00214 }
void MyAnalysisSvc::BeginOfEventAction | ( | ) |
Definition at line 139 of file MyAnalysisSvc.cc.
References event_start_time, ProcessCountingSvc::Initialize(), McTruthSvc::Initialize(), pMcTruthSvc, and pProcessCountingSvc.
Referenced by EventAction::BeginOfEventAction().
00139 { 00140 event_start_time = (double) clock(); 00141 // std::cout<<"event_start_time = "<<event_start_time<<std::endl; 00142 //Initialize 00143 pMcTruthSvc->Initialize(); 00144 pProcessCountingSvc->Initialize(); 00145 }
void MyAnalysisSvc::BeginOfRunAction | ( | ) |
Definition at line 94 of file MyAnalysisSvc.cc.
References LogSvc::AddLog(), MyRoot::CreateTree(), fCircular, LogSvc::GetLogSvc(), ofile_name, MyRoot::OpenFile(), pEventHeaderSvc, pMcTruthSvc, pMyDetectorManager, pMyRoot, pProcessCountingSvc, run_name, run_num, ProcessCountingSvc::SetBranch(), McTruthSvc::SetBranch(), EventHeaderSvc::SetBranch(), MyDetectorManager::SetBranch(), LogSvc::SetLogFile(), t_begin, and tree_name.
Referenced by RunAction::BeginOfRunAction().
00094 { 00095 //deal with log 00096 std::string log_name = getenv("LOGFILEROOT"); 00097 if ( std::strlen(log_name.c_str()) != 0 ){ 00098 LogSvc::GetLogSvc()->SetLogFile( log_name.c_str() ); 00099 } 00100 run_num = LogSvc::GetLogSvc()->AddLog( run_name.c_str() ); 00101 std::cout<<"logfile finished for "<<run_name<<", "<<run_num<<std::endl; 00102 00103 //set root file 00104 pMyRoot->OpenFile(ofile_name); 00105 pMyRoot->CreateTree(tree_name, fCircular); 00106 00107 //set branches 00108 pMyDetectorManager->SetBranch(); 00109 pEventHeaderSvc->SetBranch(); 00110 pMcTruthSvc->SetBranch(); 00111 pProcessCountingSvc->SetBranch(); 00112 00113 t_begin = (double)clock(); 00114 std::cout<<"evt_num memSize time R0 R1"<<std::endl; 00115 std::cout<<" MB sec "<<std::endl; 00116 }
void MyAnalysisSvc::EndOfEventAction | ( | const G4Event * | evt | ) |
Definition at line 147 of file MyAnalysisSvc.cc.
References MyDetectorManager::Digitize(), fAutoSave, MyRoot::Fill(), MyRoot::FlushBaskets(), fPrintModulo, PrimaryGeneratorAction::get_extra(), EventHeaderSvc::get_R0(), EventHeaderSvc::get_R1(), MyProcessManager::GetMemorySize(), pEventHeaderSvc, pMyDetectorManager, pMyProcessManager, pMyRoot, pMyTriggerSvc, pPrimaryGeneratorAction, run_num, MyRoot::Save(), EventHeaderSvc::SetValue(), t_begin, and MyTriggerSvc::TriggerIt().
Referenced by EventAction::EndOfEventAction().
00147 { 00148 int evt_num = evt->GetEventID(); 00149 //Digitze 00150 pMyDetectorManager->Digitize(); 00151 //Set event header 00152 double weight = 1; 00153 void *result = pPrimaryGeneratorAction->get_extra("weight"); 00154 if (result) weight = *((double*)result); 00155 pEventHeaderSvc->SetValue(evt,run_num,weight); 00156 00157 //Fill 00158 if ( pMyTriggerSvc->TriggerIt(evt) ) pMyRoot->Fill(); 00159 00160 //AutoSave 00161 if (fAutoSave){ 00162 if ( evt_num%fAutoSave == 0 ){ 00163 pMyRoot->Save(); 00164 int nBytes = pMyRoot->FlushBaskets(); 00165 std::cout<<"Event "<<evt_num<<", "<<nBytes<<"Bytes data written"<<std::endl; 00166 } 00167 } 00168 00169 //print per event (modulo n) 00170 if (evt_num%fPrintModulo == 0) { 00171 std::cout <<evt_num 00172 <<" "<<pMyProcessManager->GetMemorySize() 00173 <<" "<<(((double)clock()-t_begin)/CLOCKS_PER_SEC) 00174 <<" "<<pEventHeaderSvc->get_R0() 00175 <<" "<<pEventHeaderSvc->get_R1() 00176 <<std::endl; 00177 } 00178 }
void MyAnalysisSvc::EndOfRunAction | ( | const G4Run * | aRun | ) |
Definition at line 128 of file MyAnalysisSvc.cc.
References MyRoot::Close(), pMyRoot, t_begin, t_end, and MyRoot::Write().
Referenced by RunAction::EndOfRunAction().
00128 { 00129 int NbOfEvents = aRun->GetNumberOfEvent(); 00130 t_end = (double)clock(); 00131 std::cout<<"\n##############################################"<<std::endl; 00132 std::cout<<"TOTAL TIME COST IS: "<<(double)(t_end-t_begin)/CLOCKS_PER_SEC*1000<<"ms"<<std::endl; 00133 std::cout<<"TIME COST PER EVENT: "<<(double)(t_end-t_begin)/CLOCKS_PER_SEC/NbOfEvents*1000<<"ms"<<std::endl; 00134 std::cout<<"##############################################\n"<<std::endl; 00135 pMyRoot->Write(); 00136 pMyRoot->Close(); 00137 }
MyAnalysisSvc * MyAnalysisSvc::GetMyAnalysisSvc | ( | ) | [static] |
Definition at line 68 of file MyAnalysisSvc.cc.
References fMyAnalysisSvc.
Referenced by EventAction::BeginOfEventAction(), RunAction::BeginOfRunAction(), EventAction::EndOfEventAction(), RunAction::EndOfRunAction(), MyTrackingAction::PostUserTrackingAction(), MyTrackingAction::PreUserTrackingAction(), and SteppingAction::UserSteppingAction().
00068 { 00069 if ( !fMyAnalysisSvc ){ 00070 fMyAnalysisSvc = new MyAnalysisSvc; 00071 } 00072 return fMyAnalysisSvc; 00073 }
int MyAnalysisSvc::GetRunID | ( | ) | [inline] |
void MyAnalysisSvc::InitialStepAction | ( | const G4Step * | aStep | ) |
Definition at line 208 of file MyAnalysisSvc.cc.
References ProcessCountingSvc::InitialStep(), and pProcessCountingSvc.
00208 { 00209 pProcessCountingSvc->InitialStep(aStep); 00210 }
void MyAnalysisSvc::PostUserTrackingAction | ( | const G4Track * | aTrack | ) |
Definition at line 123 of file MyAnalysisSvc.cc.
References pMcTruthSvc, and McTruthSvc::SetValuePost().
Referenced by MyTrackingAction::PostUserTrackingAction().
00123 { 00124 //set McTruth 00125 pMcTruthSvc->SetValuePost(aTrack); 00126 }
void MyAnalysisSvc::PreUserTrackingAction | ( | const G4Track * | aTrack | ) |
Definition at line 118 of file MyAnalysisSvc.cc.
References pMcTruthSvc, and McTruthSvc::SetValuePre().
Referenced by MyTrackingAction::PreUserTrackingAction().
00118 { 00119 //set McTruth 00120 pMcTruthSvc->SetValuePre(aTrack); 00121 }
void MyAnalysisSvc::PSDI | ( | G4String | name | ) |
Definition at line 216 of file MyAnalysisSvc.cc.
References ProcessCountingSvc::AddPSDI(), and pProcessCountingSvc.
00216 { 00217 pProcessCountingSvc->AddPSDI(name); 00218 }
void MyAnalysisSvc::ReadOutputCard | ( | G4String | filename | ) |
Definition at line 220 of file MyAnalysisSvc.cc.
References fAutoSave, fCircular, fPrintModulo, fVerbose, and tree_name.
Referenced by set_out_card().
00220 { 00221 std::ifstream fin_card(file_name); 00222 if(!fin_card){ 00223 std::cout<<"In MyAnalysisSvc::ReadOutputCard, cannot open "<<file_name<<"!!!"<<std::endl; 00224 G4Exception("MyAnalysisSvc::ReadOutputCard()", 00225 "InvalidSetup", FatalException, 00226 "cannot find output card"); 00227 } 00228 std::stringstream buf_card; 00229 std::string s_card; 00230 bool find_tree_name = false; 00231 bool find_AutoSave = false; 00232 bool find_Circular = false; 00233 bool find_Verbose = false; 00234 bool find_PrintModulo = false; 00235 while(getline(fin_card,s_card)){ 00236 buf_card.str(""); 00237 buf_card.clear(); 00238 buf_card<<s_card; 00239 00240 //eleminate useless lines 00241 const char* c_card = s_card.c_str(); 00242 int length = strlen(c_card); 00243 int offset = 0; 00244 for ( ; offset < length; offset++ ){ 00245 if ( c_card[offset] != ' ' ) break; 00246 } 00247 if ( c_card[offset] == '#' || (c_card[offset] == '/' && c_card[offset+1] == '/') || length - offset == 0 ){ 00248 continue; 00249 } 00250 std::string name; 00251 buf_card>>name; 00252 if ( name == "tree_name" ){ 00253 buf_card>>tree_name; 00254 std::cout<<"In MyAnalysisSvc::ReadOutputCard, tree_name will be set to "<<tree_name<<std::endl; 00255 find_tree_name = true; 00256 } 00257 else if ( name == "AutoSave" ){ 00258 buf_card>>fAutoSave; 00259 std::cout<<"In MyAnalysisSvc::ReadOutputCard, fAutoSave will be set to "<<fAutoSave<<std::endl; 00260 find_AutoSave = true; 00261 } 00262 else if ( name == "Circular" ){ 00263 buf_card>>fCircular; 00264 std::cout<<"In MyAnalysisSvc::ReadOutputCard, fCircular will be set to "<<fCircular<<std::endl; 00265 find_Circular = true; 00266 } 00267 else if ( name == "Verbose" ){ 00268 buf_card>>fVerbose; 00269 std::cout<<"In MyAnalysisSvc::ReadOutputCard, fVerbose will be set to "<<fVerbose<<std::endl; 00270 find_Verbose = true; 00271 } 00272 else if ( name == "PrintModulo" ){ 00273 buf_card>>fPrintModulo; 00274 std::cout<<"In MyAnalysisSvc::ReadOutputCard, fPrintModulo will be set to "<<fPrintModulo<<std::endl; 00275 find_PrintModulo = true; 00276 } 00277 if ( find_Verbose && find_PrintModulo && find_Circular && find_AutoSave && find_tree_name ) break; 00278 } 00279 if (!find_tree_name){ 00280 std::cout<<"In MyAnalysisSvc::ReadOutputCard, tree_name not found in card, will be set to t as default"<<std::endl; 00281 tree_name = "t"; 00282 } 00283 if (!find_AutoSave){ 00284 std::cout<<"In MyAnalysisSvc::ReadOutputCard, AutoSave not found in card, will be set to 0 as default"<<std::endl; 00285 fAutoSave = 0; 00286 } 00287 if (!find_Circular){ 00288 std::cout<<"In MyAnalysisSvc::ReadOutputCard, Circular not found in card, will be set to 0 as default"<<std::endl; 00289 fCircular = 0; 00290 } 00291 if (!find_Verbose){ 00292 std::cout<<"In MyAnalysisSvc::ReadOutputCard, Verbose not found in card, will be set to 0 as default"<<std::endl; 00293 fVerbose = 0; 00294 } 00295 if (!find_PrintModulo){ 00296 std::cout<<"In MyAnalysisSvc::ReadOutputCard, PrintModulo not found in card, will be set to 0 as default"<<std::endl; 00297 fPrintModulo = 100; 00298 } 00299 fin_card.close(); 00300 buf_card.str(""); 00301 buf_card.clear(); 00302 }
void MyAnalysisSvc::set_maxT | ( | double | val | ) | [inline] |
Definition at line 44 of file MyAnalysisSvc.hh.
References m_maxT.
Referenced by MyAnalysisSvcMessenger::SetNewValue().
00044 {m_maxT=val;};
void MyAnalysisSvc::set_minT | ( | double | val | ) | [inline] |
Definition at line 43 of file MyAnalysisSvc.hh.
References m_minT.
Referenced by MyAnalysisSvcMessenger::SetNewValue().
00043 {m_minT=val;};
void MyAnalysisSvc::set_ofile_name | ( | G4String & | val | ) | [inline] |
Definition at line 39 of file MyAnalysisSvc.hh.
References ofile_name.
Referenced by MyAnalysisSvcMessenger::SetNewValue().
00039 { ofile_name = val; };
void MyAnalysisSvc::set_out_card | ( | G4String | filename | ) |
Definition at line 75 of file MyAnalysisSvc.cc.
References fPrintModulo, fVerbose, pEventHeaderSvc, pMcTruthSvc, pMyDetectorManager, pMyRoot, pMyTriggerSvc, pProcessCountingSvc, ReadOutputCard(), ProcessCountingSvc::ReadOutputCard(), McTruthSvc::ReadOutputCard(), MyDetectorManager::ReadOutputCard(), EventHeaderSvc::ReadOutputCard(), MyTriggerSvc::SetMyTrigger(), MyRoot::SetPrintModulo(), and MyRoot::SetVerbose().
Referenced by MyAnalysisSvc(), and MyAnalysisSvcMessenger::SetNewValue().
00075 { 00076 if(file_name[0] != '/'){ // Relative Dir 00077 G4String dir_name = getenv("CONFIGUREROOT"); 00078 if (dir_name[dir_name.size()-1] != '/') dir_name.append("/"); 00079 file_name = dir_name + file_name; 00080 } 00081 //inform relative files 00082 pEventHeaderSvc->ReadOutputCard(file_name); 00083 pMyDetectorManager->ReadOutputCard(file_name); 00084 pMcTruthSvc->ReadOutputCard(file_name); 00085 pProcessCountingSvc->ReadOutputCard(file_name); 00086 pMyTriggerSvc->SetMyTrigger(file_name); 00087 //read output card 00088 ReadOutputCard(file_name); 00089 //set verbose 00090 pMyRoot->SetVerbose(fVerbose); 00091 pMyRoot->SetPrintModulo(fPrintModulo); 00092 }
void MyAnalysisSvc::set_PrintModulo | ( | int | i | ) | [inline] |
Definition at line 37 of file MyAnalysisSvc.hh.
References fPrintModulo.
Referenced by MyAnalysisSvcMessenger::SetNewValue().
00037 {fPrintModulo = i;};
void MyAnalysisSvc::set_run_name | ( | G4String & | val | ) | [inline] |
Definition at line 41 of file MyAnalysisSvc.hh.
References run_name.
Referenced by MyAnalysisSvcMessenger::SetNewValue().
00041 { run_name = val; };
void MyAnalysisSvc::set_tree_name | ( | G4String & | val | ) | [inline] |
Definition at line 40 of file MyAnalysisSvc.hh.
References tree_name.
Referenced by MyAnalysisSvcMessenger::SetNewValue().
00040 { tree_name = val; };
void MyAnalysisSvc::SteppingAction | ( | const G4Step * | aStep | ) |
Definition at line 180 of file MyAnalysisSvc.cc.
References event_start_time, m_maxT, m_minT, pProcessCountingSvc, and ProcessCountingSvc::SetValue().
Referenced by SteppingAction::UserSteppingAction().
00180 { 00181 // CLHEP::HepRandom::showEngineStatus(); 00182 //set ProcessCounting 00183 double current_time = (double) clock(); 00184 // std::cout<<"current_time = "<<current_time<<", deltaT = "<<(current_time - event_start_time)/CLOCKS_PER_SEC<<std::endl; 00185 pProcessCountingSvc->SetValue(aStep); 00186 G4Track* aTrack = aStep->GetTrack() ; 00187 G4int nSteps = aTrack->GetCurrentStepNumber(); 00188 bool needStopAndKill = false; 00189 if (nSteps>2e5){ 00190 std::cout<<"### This track is killed for that nSteps>2e5 ###"<<std::endl; 00191 needStopAndKill = true; 00192 } 00193 G4double globalT=aTrack->GetGlobalTime();//Time since the event in which the track belongs is created 00194 if ((m_minT>=0&&m_minT>globalT)&&(m_maxT>=0&&m_maxT<globalT)){ 00195 std::cout<<"### This track is killed for that globalT < "<<m_minT<<" || globalT > "<<m_maxT<<" ###"<<std::endl; 00196 needStopAndKill = true; 00197 } 00198 if (( current_time - event_start_time > 5*CLOCKS_PER_SEC)){ 00199 std::cout<<"### This track is killed for that elapsed time in this event is larger than 5 sec ###"<<std::endl; 00200 needStopAndKill = true; 00201 } 00202 if (needStopAndKill){ 00203 aTrack->SetTrackStatus(fStopAndKill); 00204 std::cout<<" => ["<<aTrack->GetTrackID()<<"]: "<<aTrack->GetParticleDefinition()->GetParticleName()<<", "<<G4BestUnit(aStep->GetPreStepPoint()->GetKineticEnergy(),"Energy")<<", @ \""<<aStep->GetPreStepPoint()->GetTouchable()->GetVolume(0)->GetName()<<"\""<<std::endl; 00205 } 00206 }
double MyAnalysisSvc::event_start_time [private] |
Definition at line 79 of file MyAnalysisSvc.hh.
Referenced by BeginOfEventAction(), and SteppingAction().
int MyAnalysisSvc::fAutoSave [private] |
Definition at line 69 of file MyAnalysisSvc.hh.
Referenced by EndOfEventAction(), and ReadOutputCard().
int MyAnalysisSvc::fCircular [private] |
Definition at line 70 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), and ReadOutputCard().
MyAnalysisSvc * MyAnalysisSvc::fMyAnalysisSvc = 0 [static, private] |
Definition at line 61 of file MyAnalysisSvc.hh.
Referenced by GetMyAnalysisSvc(), and MyAnalysisSvc().
int MyAnalysisSvc::fPrintModulo [private] |
Definition at line 72 of file MyAnalysisSvc.hh.
Referenced by EndOfEventAction(), MyAnalysisSvc(), ReadOutputCard(), set_out_card(), and set_PrintModulo().
int MyAnalysisSvc::fVerbose [private] |
Definition at line 71 of file MyAnalysisSvc.hh.
Referenced by ReadOutputCard(), and set_out_card().
double MyAnalysisSvc::m_maxT [private] |
Definition at line 75 of file MyAnalysisSvc.hh.
Referenced by MyAnalysisSvc(), set_maxT(), and SteppingAction().
double MyAnalysisSvc::m_minT [private] |
Definition at line 74 of file MyAnalysisSvc.hh.
Referenced by MyAnalysisSvc(), set_minT(), and SteppingAction().
G4String MyAnalysisSvc::ofile_name [private] |
Definition at line 66 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), MyAnalysisSvc(), and set_ofile_name().
G4String MyAnalysisSvc::out_card [private] |
Definition at line 64 of file MyAnalysisSvc.hh.
Referenced by MyAnalysisSvc().
EventHeaderSvc* MyAnalysisSvc::pEventHeaderSvc [private] |
Definition at line 82 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), EndOfEventAction(), MyAnalysisSvc(), and set_out_card().
McTruthSvc* MyAnalysisSvc::pMcTruthSvc [private] |
Definition at line 84 of file MyAnalysisSvc.hh.
Referenced by BeginOfEventAction(), BeginOfRunAction(), MyAnalysisSvc(), PostUserTrackingAction(), PreUserTrackingAction(), and set_out_card().
Definition at line 62 of file MyAnalysisSvc.hh.
Referenced by MyAnalysisSvc(), and ~MyAnalysisSvc().
Definition at line 83 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), EndOfEventAction(), MyAnalysisSvc(), and set_out_card().
MyProcessManager* MyAnalysisSvc::pMyProcessManager [private] |
Definition at line 88 of file MyAnalysisSvc.hh.
Referenced by EndOfEventAction(), and MyAnalysisSvc().
MyRoot* MyAnalysisSvc::pMyRoot [private] |
Definition at line 81 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), EndOfEventAction(), EndOfRunAction(), MyAnalysisSvc(), and set_out_card().
MyTriggerSvc* MyAnalysisSvc::pMyTriggerSvc [private] |
Definition at line 86 of file MyAnalysisSvc.hh.
Referenced by EndOfEventAction(), MyAnalysisSvc(), and set_out_card().
Definition at line 87 of file MyAnalysisSvc.hh.
Referenced by EndOfEventAction(), and MyAnalysisSvc().
Definition at line 85 of file MyAnalysisSvc.hh.
Referenced by ASDI(), BeginOfEventAction(), BeginOfRunAction(), InitialStepAction(), MyAnalysisSvc(), PSDI(), set_out_card(), and SteppingAction().
G4String MyAnalysisSvc::run_name [private] |
Definition at line 65 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), MyAnalysisSvc(), and set_run_name().
int MyAnalysisSvc::run_num [private] |
Definition at line 68 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), EndOfEventAction(), and GetRunID().
clock_t MyAnalysisSvc::t_begin [private] |
Definition at line 77 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), EndOfEventAction(), and EndOfRunAction().
clock_t MyAnalysisSvc::t_end [private] |
Definition at line 78 of file MyAnalysisSvc.hh.
Referenced by EndOfRunAction().
G4String MyAnalysisSvc::tree_name [private] |
Definition at line 67 of file MyAnalysisSvc.hh.
Referenced by BeginOfRunAction(), ReadOutputCard(), and set_tree_name().