G4CsvAnalysisManager Class Reference

#include <G4CsvAnalysisManager.hh>

Inheritance diagram for G4CsvAnalysisManager:

G4VAnalysisManager

Public Member Functions

 G4CsvAnalysisManager ()
 ~G4CsvAnalysisManager ()
virtual G4bool OpenFile (const G4String &fileName)
virtual G4bool Write ()
virtual G4bool CloseFile ()
virtual G4int CreateH1 (const G4String &name, const G4String &title, G4int nbins, G4double xmin, G4double xmax, const G4String &unitName="none", const G4String &fcnName="none")
virtual G4int CreateH2 (const G4String &name, const G4String &title, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none")
virtual G4bool SetH1 (G4int id, G4int nbins, G4double xmin, G4double xmax, const G4String &unitName="none", const G4String &fcnName="none")
virtual G4bool SetH2 (G4int id, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none")
virtual G4bool ScaleH1 (G4int id, G4double factor)
virtual G4bool ScaleH2 (G4int id, G4double factor)
virtual void CreateNtuple (const G4String &name, const G4String &title)
virtual G4int CreateNtupleIColumn (const G4String &name)
virtual G4int CreateNtupleFColumn (const G4String &name)
virtual G4int CreateNtupleDColumn (const G4String &name)
virtual void FinishNtuple ()
virtual G4bool FillH1 (G4int id, G4double value, G4double weight=1.0)
virtual G4bool FillH2 (G4int id, G4double xvalue, G4double yvalue, G4double weight=1.0)
virtual G4bool FillNtupleIColumn (G4int id, G4int value)
virtual G4bool FillNtupleFColumn (G4int id, G4float value)
virtual G4bool FillNtupleDColumn (G4int id, G4double value)
virtual G4bool AddNtupleRow ()
virtual G4int GetH1Nbins (G4int id) const
virtual G4double GetH1Xmin (G4int id) const
virtual G4double GetH1Xmax (G4int id) const
virtual G4double GetH1Width (G4int id) const
virtual G4int GetH2Nxbins (G4int id) const
virtual G4double GetH2Xmin (G4int id) const
virtual G4double GetH2Xmax (G4int id) const
virtual G4double GetH2XWidth (G4int id) const
virtual G4int GetH2Nybins (G4int id) const
virtual G4double GetH2Ymin (G4int id) const
virtual G4double GetH2Ymax (G4int id) const
virtual G4double GetH2YWidth (G4int id) const
virtual G4bool SetH1Title (G4int id, const G4String &title)
virtual G4bool SetH1XAxisTitle (G4int id, const G4String &title)
virtual G4bool SetH1YAxisTitle (G4int id, const G4String &title)
virtual G4bool SetH2Title (G4int id, const G4String &title)
virtual G4bool SetH2XAxisTitle (G4int id, const G4String &title)
virtual G4bool SetH2YAxisTitle (G4int id, const G4String &title)
virtual G4bool SetH2ZAxisTitle (G4int id, const G4String &title)
virtual G4String GetH1Title (G4int id) const
virtual G4String GetH1XAxisTitle (G4int id) const
virtual G4String GetH1YAxisTitle (G4int id) const
virtual G4String GetH2Title (G4int id) const
virtual G4String GetH2XAxisTitle (G4int id) const
virtual G4String GetH2YAxisTitle (G4int id) const
virtual G4String GetH2ZAxisTitle (G4int id) const
virtual tools::wcsv::ntuple * GetNtuple () const

Static Public Member Functions

static G4CsvAnalysisManagerInstance ()

Protected Member Functions

virtual G4bool WriteOnAscii (std::ofstream &output)

Detailed Description

Definition at line 43 of file G4CsvAnalysisManager.hh.


Constructor & Destructor Documentation

G4CsvAnalysisManager::G4CsvAnalysisManager (  ) 

Definition at line 51 of file G4CsvAnalysisManager.cc.

References FatalException, and G4Exception().

Referenced by Instance().

00052  : G4VAnalysisManager("Csv"),
00053    fFile(0),
00054    fNtuple(0),
00055    fNtupleBooking(0),
00056    fNtupleIColumnMap(),
00057    fNtupleFColumnMap(),
00058    fNtupleDColumnMap()
00059 {
00060   if ( fgInstance ) {
00061     G4ExceptionDescription description;
00062     description << "      " 
00063                 << "G4CsvAnalysisManager already exists." 
00064                 << "Cannot create another instance.";
00065     G4Exception("G4CsvAnalysisManager::G4CsvAnalysisManager()",
00066                 "Analysis_F001", FatalException, description);
00067   }              
00068    
00069   fgInstance = this;
00070 }

G4CsvAnalysisManager::~G4CsvAnalysisManager (  ) 

Definition at line 73 of file G4CsvAnalysisManager.cc.

00074 {  
00075   delete fNtuple;
00076   delete fNtupleBooking;
00077   delete fFile;
00078 
00079   fgInstance = 0;
00080 }


Member Function Documentation

G4bool G4CsvAnalysisManager::AddNtupleRow (  )  [virtual]

Implements G4VAnalysisManager.

Definition at line 617 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fpVerboseL4, G4Exception(), JustWarning, and G4AnalysisVerbose::Message().

00618 { 
00619 #ifdef G4VERBOSE
00620   if ( fpVerboseL4 )
00621     fpVerboseL4->Message("add", "ntuple row", "");
00622 #endif
00623 
00624   if ( ! fNtuple ) {
00625     G4ExceptionDescription description;
00626     description << "      " << "ntuple does not exist. ";
00627     G4Exception("G4CsvAnalysisManager::AddNtupleRow()",
00628                 "Analysis_W008", JustWarning, description);
00629     return false;
00630   }  
00631   
00632   fNtuple->add_row();
00633 #ifdef G4VERBOSE
00634   if ( fpVerboseL4 )
00635     fpVerboseL4->Message("add", "ntuple row", "");
00636 #endif
00637 
00638   return true;
00639 }

G4bool G4CsvAnalysisManager::CloseFile (  )  [virtual]

Implements G4VAnalysisManager.

Definition at line 266 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fLockFileName, G4VAnalysisManager::fpVerboseL1, G4VAnalysisManager::fpVerboseL4, G4Exception(), G4VAnalysisManager::GetFullFileName(), JustWarning, and G4AnalysisVerbose::Message().

00267 {
00268   G4bool result = true;
00269 
00270 #ifdef G4VERBOSE
00271   if ( fpVerboseL4 ) 
00272     fpVerboseL4->Message("close", "file", GetFullFileName());
00273 #endif
00274 
00275   // reset data
00276   result = Reset();
00277   if ( ! result ) {
00278       G4ExceptionDescription description;
00279       description << "      " << "Resetting data failed";
00280       G4Exception("G4CsvAnalysisManager::CloseFile()",
00281                 "Analysis_W002", JustWarning, description);
00282       result = false;       
00283   } 
00284 
00285   // close file
00286   fFile->close(); 
00287   fLockFileName = false;
00288 
00289 #ifdef G4VERBOSE
00290   if ( fpVerboseL1 ) 
00291     fpVerboseL1->Message("close", "file", GetFullFileName());
00292 #endif
00293 
00294   return true; 
00295 } 

G4int G4CsvAnalysisManager::CreateH1 ( const G4String name,
const G4String title,
G4int  nbins,
G4double  xmin,
G4double  xmax,
const G4String unitName = "none",
const G4String fcnName = "none" 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 298 of file G4CsvAnalysisManager.cc.

00304 {
00305   ExceptionForHistograms("CreateH1");
00306   return 0;
00307 }                                         

G4int G4CsvAnalysisManager::CreateH2 ( const G4String name,
const G4String title,
G4int  nxbins,
G4double  xmin,
G4double  xmax,
G4int  nybins,
G4double  ymin,
G4double  ymax,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none" 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 310 of file G4CsvAnalysisManager.cc.

00320 {
00321   ExceptionForHistograms("CreateH2");
00322   return 0;
00323 }                                         

void G4CsvAnalysisManager::CreateNtuple ( const G4String name,
const G4String title 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 366 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fpVerboseL2, G4VAnalysisManager::fpVerboseL4, G4Exception(), JustWarning, and G4AnalysisVerbose::Message().

00368 {
00369   if ( fNtupleBooking ) {
00370     G4ExceptionDescription description;
00371     description << "      " 
00372                 << "Ntuple already exists. "
00373                 << "(Only one ntuple is currently supported.)";
00374     G4Exception("G4CsvAnalysisManager::CreateNtuple()",
00375                 "Analysis_W006", JustWarning, description);
00376     return;       
00377   }
00378 
00379 #ifdef G4VERBOSE
00380   if ( fpVerboseL4 ) 
00381     fpVerboseL4->Message("create", "ntuple", name);
00382 #endif
00383 
00384   // Create ntuple booking
00385   fNtupleBooking = new tools::ntuple_booking();
00386   fNtupleBooking->m_name = name;
00387   fNtupleBooking->m_title = title;
00388            // ntuple booking object is deleted in destructor
00389 
00390   // Create ntuple if the file is open
00391   if ( fFile ) {
00392     fNtuple = new tools::wcsv::ntuple(*fFile);
00393            // ntuple object is deleted when closing a file
00394   }  
00395 
00396 #ifdef G4VERBOSE
00397   if ( fpVerboseL2 ) 
00398     fpVerboseL2->Message("create", "ntuple", name);
00399 #endif
00400 }                                         

G4int G4CsvAnalysisManager::CreateNtupleDColumn ( const G4String name  )  [virtual]

Implements G4VAnalysisManager.

Definition at line 479 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fFirstNtupleColumnId, G4VAnalysisManager::fLockFirstNtupleColumnId, G4VAnalysisManager::fpVerboseL2, G4VAnalysisManager::fpVerboseL4, G4Exception(), JustWarning, and G4AnalysisVerbose::Message().

00480 {
00481 #ifdef G4VERBOSE
00482   if ( fpVerboseL4 ) 
00483     fpVerboseL4->Message("create", "ntuple D column", name);
00484 #endif
00485 
00486   if ( ! fNtupleBooking ) {
00487     G4ExceptionDescription description;
00488     description << "      " 
00489                 << "Ntuple has to be created first. ";
00490     G4Exception("G4CsvAnalysisManager::CreateNtupleDColumn()",
00491                 "Analysis_W005", JustWarning, description);
00492     return -1;       
00493   }
00494 
00495   // Save column info in booking
00496   G4int index = fNtupleBooking->m_columns.size();
00497   fNtupleBooking->add_column<double>(name);  
00498  
00499   // Create column if ntuple already exists
00500   if ( fNtuple ) {
00501     tools::wcsv::ntuple::column<double>* column 
00502       = fNtuple->create_column<double>(name);  
00503     fNtupleDColumnMap[index] = column;
00504   }
00505     
00506   fLockFirstNtupleColumnId = true;
00507 
00508 #ifdef G4VERBOSE
00509   if ( fpVerboseL2 ) 
00510     fpVerboseL2->Message("create", "ntuple D column", name);
00511 #endif
00512 
00513   return index + fFirstNtupleColumnId;       
00514 }                                         

G4int G4CsvAnalysisManager::CreateNtupleFColumn ( const G4String name  )  [virtual]

Implements G4VAnalysisManager.

Definition at line 441 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fFirstNtupleColumnId, G4VAnalysisManager::fLockFirstNtupleColumnId, G4VAnalysisManager::fpVerboseL2, G4VAnalysisManager::fpVerboseL4, G4Exception(), JustWarning, and G4AnalysisVerbose::Message().

00442 {
00443 #ifdef G4VERBOSE
00444   if ( fpVerboseL4 ) 
00445     fpVerboseL4->Message("create", "ntuple F column", name);
00446 #endif
00447 
00448   if ( ! fNtupleBooking )  {
00449     G4ExceptionDescription description;
00450     description << "      " 
00451                 << "Ntuple has to be created first. ";
00452     G4Exception("G4CsvAnalysisManager::CreateNtupleFColumn()",
00453                 "Analysis_W005", JustWarning, description);
00454     return -1;       
00455   }
00456 
00457   // Save column info in booking
00458   G4int index = fNtupleBooking->m_columns.size();
00459   fNtupleBooking->add_column<float>(name);  
00460  
00461   // Create column if ntuple already exists
00462   if ( fNtuple ) {
00463     tools::wcsv::ntuple::column<float>* column 
00464       = fNtuple->create_column<float>(name);  
00465     fNtupleFColumnMap[index] = column;
00466   }  
00467 
00468   fLockFirstNtupleColumnId = true;
00469 
00470 #ifdef G4VERBOSE
00471   if ( fpVerboseL2 ) 
00472     fpVerboseL2->Message("create", "ntuple F column", name);
00473 #endif
00474 
00475   return index + fFirstNtupleColumnId;       
00476 }                                         

G4int G4CsvAnalysisManager::CreateNtupleIColumn ( const G4String name  )  [virtual]

Implements G4VAnalysisManager.

Definition at line 403 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fFirstNtupleColumnId, G4VAnalysisManager::fLockFirstNtupleColumnId, G4VAnalysisManager::fpVerboseL2, G4VAnalysisManager::fpVerboseL4, G4Exception(), JustWarning, and G4AnalysisVerbose::Message().

00404 {
00405 #ifdef G4VERBOSE
00406   if ( fpVerboseL4 ) 
00407     fpVerboseL4->Message("create", "ntuple I column", name);
00408 #endif
00409 
00410   if ( ! fNtupleBooking ) {
00411     G4ExceptionDescription description;
00412     description << "      " 
00413                 << "Ntuple has to be created first. ";
00414     G4Exception("G4CsvAnalysisManager::CreateNtupleIColumn()",
00415                 "Analysis_W005", JustWarning, description);
00416     return -1;       
00417   }
00418 
00419   // Save column info in booking
00420   G4int index = fNtupleBooking->m_columns.size();
00421   fNtupleBooking->add_column<int>(name);  
00422  
00423   // Create column if ntuple already exists
00424   if ( fNtuple ) {
00425     tools::wcsv::ntuple::column<int>* column 
00426       = fNtuple->create_column<int>(name);  
00427     fNtupleIColumnMap[index] = column;
00428   }  
00429 
00430   fLockFirstNtupleColumnId = true;
00431 
00432 #ifdef G4VERBOSE
00433   if ( fpVerboseL2 ) 
00434     fpVerboseL2->Message("create", "ntuple I column", name);
00435 #endif
00436 
00437   return index + fFirstNtupleColumnId;       
00438 }                                         

G4bool G4CsvAnalysisManager::FillH1 ( G4int  id,
G4double  value,
G4double  weight = 1.0 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 524 of file G4CsvAnalysisManager.cc.

References G4Exception(), and JustWarning.

00526 {
00527   G4ExceptionDescription description;
00528   description << "      " 
00529               << "Histograms are not supported." ;
00530   G4Exception("G4CsvAnalysisManager::FillH1()",
00531             "Analysis_W007", JustWarning, description);
00532   return false;
00533 }

G4bool G4CsvAnalysisManager::FillH2 ( G4int  id,
G4double  xvalue,
G4double  yvalue,
G4double  weight = 1.0 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 536 of file G4CsvAnalysisManager.cc.

References G4Exception(), and JustWarning.

00539 {
00540   G4ExceptionDescription description;
00541   description << "      " 
00542               << "Histograms are not supported." ;
00543   G4Exception("G4CsvAnalysisManager::FillH2()",
00544             "Analysis_W007", JustWarning, description);
00545   return false;
00546 }

G4bool G4CsvAnalysisManager::FillNtupleDColumn ( G4int  id,
G4double  value 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 594 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fpVerboseL4, G4Exception(), JustWarning, and G4AnalysisVerbose::Message().

00595 {
00596    tools::wcsv::ntuple::column<double>* column = GetNtupleDColumn(id);
00597   if ( ! column ) {
00598     G4ExceptionDescription description;
00599     description << "      " << "column " << id << " does not exist.";
00600     G4Exception("G4CsvAnalysisManager::FillNtupleDColumn()",
00601                 "Analysis_W009", JustWarning, description);
00602     return false;
00603   }  
00604   
00605   column->fill(value);
00606 #ifdef G4VERBOSE
00607   if ( fpVerboseL4 ) {
00608     G4ExceptionDescription description;
00609     description << " id " << id << " value " << value;
00610     fpVerboseL4->Message("fill", "ntuple D column", description);
00611   }  
00612 #endif
00613   return true;       
00614 }                                         

G4bool G4CsvAnalysisManager::FillNtupleFColumn ( G4int  id,
G4float  value 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 571 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fpVerboseL4, G4Exception(), JustWarning, and G4AnalysisVerbose::Message().

00572 {
00573   tools::wcsv::ntuple::column<float>* column = GetNtupleFColumn(id);
00574   if ( ! column ) {
00575     G4ExceptionDescription description;
00576     description << "      " << "column " << id << " does not exist.";
00577     G4Exception("G4CsvAnalysisManager::FillNtupleFColumn()",
00578                 "Analysis_W009", JustWarning, description);
00579     return false;
00580   }  
00581   
00582   column->fill(value);
00583 #ifdef G4VERBOSE
00584   if ( fpVerboseL4 ) {
00585     G4ExceptionDescription description;
00586     description << " id " << id << " value " << value;
00587     fpVerboseL4->Message("fill", "ntuple F column", description);
00588   }  
00589 #endif
00590   return true;       
00591 }                                         

G4bool G4CsvAnalysisManager::FillNtupleIColumn ( G4int  id,
G4int  value 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 549 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::fpVerboseL4, G4Exception(), JustWarning, and G4AnalysisVerbose::Message().

00550 {
00551   tools::wcsv::ntuple::column<int>* column = GetNtupleIColumn(id);
00552   if ( ! column ) {
00553     G4ExceptionDescription description;
00554     description << "      " << "column " << id << " does not exist.";
00555     G4Exception("G4CsvAnalysisManager::FillNtupleIColumn()",
00556                 "Analysis_W009", JustWarning, description);
00557     return false;
00558   }  
00559   
00560   column->fill(value);
00561 #ifdef G4VERBOSE
00562   if ( fpVerboseL4 ) {
00563     G4ExceptionDescription description;
00564     description << " id " << id << " value " << value;
00565     fpVerboseL4->Message("fill", "ntuple I column", description);
00566   }  
00567 #endif
00568   return true;       
00569 }                                         

void G4CsvAnalysisManager::FinishNtuple (  )  [virtual]

Implements G4VAnalysisManager.

Definition at line 517 of file G4CsvAnalysisManager.cc.

00518 { 
00519   // nothing to be done here
00520 }

G4int G4CsvAnalysisManager::GetH1Nbins ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 649 of file G4CsvAnalysisManager.cc.

00650 {
00651   ExceptionForHistograms("GetH1Nbins");
00652   return 0;
00653 }

G4String G4CsvAnalysisManager::GetH1Title ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 796 of file G4CsvAnalysisManager.cc.

00797 {
00798   ExceptionForHistograms("GetH1Title");
00799   return "";
00800 }

G4double G4CsvAnalysisManager::GetH1Width ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 670 of file G4CsvAnalysisManager.cc.

00671 {
00672   ExceptionForHistograms("GetH1Xwidth");
00673   return 0;
00674 }

G4String G4CsvAnalysisManager::GetH1XAxisTitle ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 789 of file G4CsvAnalysisManager.cc.

00790 {
00791   ExceptionForHistograms("GetH1XAxisTitle");
00792   return "";
00793 }

G4double G4CsvAnalysisManager::GetH1Xmax ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 663 of file G4CsvAnalysisManager.cc.

00664 {
00665   ExceptionForHistograms("GetH1Xmax");
00666   return 0;
00667 }

G4double G4CsvAnalysisManager::GetH1Xmin ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 656 of file G4CsvAnalysisManager.cc.

00657 {
00658   ExceptionForHistograms("GetH1Xmin");
00659   return 0;
00660 }

G4String G4CsvAnalysisManager::GetH1YAxisTitle ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 803 of file G4CsvAnalysisManager.cc.

00804 {
00805   ExceptionForHistograms("GetH1YAxisTitle");
00806   return "";
00807 }

G4int G4CsvAnalysisManager::GetH2Nxbins ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 677 of file G4CsvAnalysisManager.cc.

00678 {
00679   ExceptionForHistograms("GetH2NXbins");
00680   return 0;
00681 }

G4int G4CsvAnalysisManager::GetH2Nybins ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 705 of file G4CsvAnalysisManager.cc.

00706 {
00707   ExceptionForHistograms("GetH2NYbins");
00708   return 0;
00709 }

G4String G4CsvAnalysisManager::GetH2Title ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 811 of file G4CsvAnalysisManager.cc.

00812 {
00813   ExceptionForHistograms("GetH2Title");
00814   return "";
00815 }

G4String G4CsvAnalysisManager::GetH2XAxisTitle ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 818 of file G4CsvAnalysisManager.cc.

00819 {
00820   ExceptionForHistograms("GetH2XAxisTitle");
00821   return "";
00822 }

G4double G4CsvAnalysisManager::GetH2Xmax ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 691 of file G4CsvAnalysisManager.cc.

00692 {
00693   ExceptionForHistograms("GetH2Xmin");
00694   return 0;
00695 }

G4double G4CsvAnalysisManager::GetH2Xmin ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 684 of file G4CsvAnalysisManager.cc.

00685 {
00686   ExceptionForHistograms("GetH2Xmin");
00687   return 0;
00688 }

G4double G4CsvAnalysisManager::GetH2XWidth ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 698 of file G4CsvAnalysisManager.cc.

00699 {
00700   ExceptionForHistograms("GetH2XWidth");
00701   return 0;
00702 }

G4String G4CsvAnalysisManager::GetH2YAxisTitle ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 825 of file G4CsvAnalysisManager.cc.

00826 {
00827   ExceptionForHistograms("GetH2YAxisTitle");
00828   return "";
00829 }

G4double G4CsvAnalysisManager::GetH2Ymax ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 719 of file G4CsvAnalysisManager.cc.

00720 {
00721   ExceptionForHistograms("GetH2Ymax");
00722   return 0;
00723 }

G4double G4CsvAnalysisManager::GetH2Ymin ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 712 of file G4CsvAnalysisManager.cc.

00713 {
00714   ExceptionForHistograms("GetH2Ymin");
00715   return 0;
00716 }

G4double G4CsvAnalysisManager::GetH2YWidth ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 726 of file G4CsvAnalysisManager.cc.

00727 {
00728   ExceptionForHistograms("GetH2YWidth");
00729   return 0;
00730 }

G4String G4CsvAnalysisManager::GetH2ZAxisTitle ( G4int  id  )  const [virtual]

Implements G4VAnalysisManager.

Definition at line 832 of file G4CsvAnalysisManager.cc.

00833 {
00834   ExceptionForHistograms("GetH2ZAxisTitle");
00835   return "";
00836 }

tools::wcsv::ntuple * G4CsvAnalysisManager::GetNtuple (  )  const [virtual]

Definition at line 642 of file G4CsvAnalysisManager.cc.

00643 {
00644   return fNtuple;
00645 }  

G4CsvAnalysisManager * G4CsvAnalysisManager::Instance (  )  [static]

Definition at line 41 of file G4CsvAnalysisManager.cc.

References G4CsvAnalysisManager().

00042 {
00043   if ( fgInstance == 0 ) {
00044     fgInstance = new G4CsvAnalysisManager();
00045   }
00046   
00047   return fgInstance;
00048 }    

G4bool G4CsvAnalysisManager::OpenFile ( const G4String fileName  )  [virtual]

Implements G4VAnalysisManager.

Definition at line 177 of file G4CsvAnalysisManager.cc.

References G4String::append(), G4VAnalysisManager::fFileName, G4VAnalysisManager::fLockFileName, G4VAnalysisManager::fpVerboseL1, G4VAnalysisManager::fpVerboseL4, G4cerr, G4cout, G4endl, G4Exception(), G4VAnalysisManager::GetFileType(), JustWarning, and G4AnalysisVerbose::Message().

00178 {
00179   // Keep file name
00180   fFileName =  fileName;
00181 
00182   // Add file extension .csv if no extension is given
00183   G4String name(fileName);
00184   if ( name.find(".") == std::string::npos ) { 
00185     name.append(".");
00186     name.append(GetFileType());
00187   }  
00188 
00189 #ifdef G4VERBOSE
00190   if ( fpVerboseL4 ) 
00191     fpVerboseL4->Message("open", "analysis file", name);
00192 #endif
00193   
00194   // delete a previous file if it exists
00195   if ( fFile ) delete fFile; 
00196   
00197   fFile = new std::ofstream(name);
00198   if ( fFile->fail() ) {
00199     G4ExceptionDescription description;
00200     description << "      " << "Cannot open file " << fileName;
00201     G4Exception("G4CsvAnalysisManager::OpenFile()",
00202                 "Analysis_W001", JustWarning, description);
00203     return false;
00204   }
00205 
00206   // Create ntuple if it was already booked
00207   if ( fNtupleBooking && ( ! fNtuple ) ) {
00208 #ifdef G4VERBOSE
00209     if ( fpVerboseL4 ) 
00210       fpVerboseL4->Message("create from booking", "ntuple", name);
00211 #endif
00212     fNtuple = new tools::wcsv::ntuple(*fFile, G4cerr, *fNtupleBooking);
00213     if ( fNtupleBooking->m_columns.size() ) {
00214       // store ntuple columns in local maps
00215       const std::vector<tools::ntuple_booking::col_t>& columns 
00216         = fNtupleBooking->m_columns;
00217       std::vector<tools::ntuple_booking::col_t>::const_iterator it;
00218       G4int index = 0;
00219       for ( it = columns.begin(); it!=columns.end(); ++it) {
00220         if ( (*it).second == tools::_cid(int(0) ) ) {
00221           G4cout << "adding int " << fNtuple->find_column<int>((*it).first) << G4endl;
00222           fNtupleIColumnMap[index++] = fNtuple->find_column<int>((*it).first);
00223         }
00224         else if( (*it).second == tools::_cid(float(0) ) ) {
00225           fNtupleFColumnMap[index++] = fNtuple->find_column<float>((*it).first);
00226         } 
00227         else if((*it).second== tools::_cid(double(0))) {
00228           fNtupleDColumnMap[index++] = fNtuple->find_column<double>((*it).first);
00229         }
00230         else {
00231           G4ExceptionDescription description;
00232           description << "      " 
00233                       << "Unsupported column type " << (*it).first;
00234           G4Exception("G4CsvAnalysisManager::OpenFile()",
00235                       "Analysis_W004", JustWarning, description);
00236         }
00237       }
00238     }
00239   }   
00240 
00241   fLockFileName = true;
00242   
00243 #ifdef G4VERBOSE
00244   if ( fpVerboseL1 ) 
00245     fpVerboseL1->Message("open", "analysis file", name);
00246 #endif
00247   
00248   return true;
00249 }  

G4bool G4CsvAnalysisManager::ScaleH1 ( G4int  id,
G4double  factor 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 352 of file G4CsvAnalysisManager.cc.

00353 {
00354   ExceptionForHistograms("ScaleH1");
00355   return false;
00356 }

G4bool G4CsvAnalysisManager::ScaleH2 ( G4int  id,
G4double  factor 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 359 of file G4CsvAnalysisManager.cc.

00360 {
00361   ExceptionForHistograms("ScaleH2");
00362   return false;
00363 }

G4bool G4CsvAnalysisManager::SetH1 ( G4int  id,
G4int  nbins,
G4double  xmin,
G4double  xmax,
const G4String unitName = "none",
const G4String fcnName = "none" 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 326 of file G4CsvAnalysisManager.cc.

00331 {                                
00332   ExceptionForHistograms("SetH1");
00333   return false;
00334 }

G4bool G4CsvAnalysisManager::SetH1Title ( G4int  id,
const G4String title 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 733 of file G4CsvAnalysisManager.cc.

00735 {
00736   ExceptionForHistograms("SetH1Title");
00737   return false;
00738 }

G4bool G4CsvAnalysisManager::SetH1XAxisTitle ( G4int  id,
const G4String title 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 741 of file G4CsvAnalysisManager.cc.

00743 {
00744   ExceptionForHistograms("SetH1XAxisTitle");
00745   return false;
00746 }

G4bool G4CsvAnalysisManager::SetH1YAxisTitle ( G4int  id,
const G4String title 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 749 of file G4CsvAnalysisManager.cc.

00751 {
00752   ExceptionForHistograms("SetH1YAxisTitle");
00753   return false;
00754 }

G4bool G4CsvAnalysisManager::SetH2 ( G4int  id,
G4int  nxbins,
G4double  xmin,
G4double  xmax,
G4int  nybins,
G4double  ymin,
G4double  ymax,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none" 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 337 of file G4CsvAnalysisManager.cc.

00346 {                                
00347   ExceptionForHistograms("SetH2");
00348   return false;
00349 }

G4bool G4CsvAnalysisManager::SetH2Title ( G4int  id,
const G4String title 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 757 of file G4CsvAnalysisManager.cc.

00759 {
00760   ExceptionForHistograms("SetH2Title");
00761   return false;
00762 }

G4bool G4CsvAnalysisManager::SetH2XAxisTitle ( G4int  id,
const G4String title 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 765 of file G4CsvAnalysisManager.cc.

00767 {
00768   ExceptionForHistograms("SetH2XAxisTitle");
00769   return false;
00770 }

G4bool G4CsvAnalysisManager::SetH2YAxisTitle ( G4int  id,
const G4String title 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 773 of file G4CsvAnalysisManager.cc.

00775 {
00776   ExceptionForHistograms("SetH2YAxisTitle");
00777   return false;
00778 }

G4bool G4CsvAnalysisManager::SetH2ZAxisTitle ( G4int  id,
const G4String title 
) [virtual]

Implements G4VAnalysisManager.

Definition at line 781 of file G4CsvAnalysisManager.cc.

00783 {
00784   ExceptionForHistograms("SetH2ZAxisTitle");
00785   return false;
00786 }

G4bool G4CsvAnalysisManager::Write (  )  [virtual]

Implements G4VAnalysisManager.

Definition at line 252 of file G4CsvAnalysisManager.cc.

References G4VAnalysisManager::IsAscii(), and G4VAnalysisManager::WriteAscii().

00253 {
00254   // nothing to be done for Csv file
00255   G4bool result = true;
00256   
00257   // Write ASCII if activated
00258   if ( IsAscii() ) {
00259     result = WriteAscii();
00260   }   
00261 
00262   return result;
00263 }

G4bool G4CsvAnalysisManager::WriteOnAscii ( std::ofstream &  output  )  [protected, virtual]

Implements G4VAnalysisManager.

Definition at line 164 of file G4CsvAnalysisManager.cc.

00165 {
00166 // Write selected objects on ASCII file
00167 // To be added: ntuple
00168 
00169   return true;
00170 }  


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:43 2013 for Geant4 by  doxygen 1.4.7