G4XXXFileViewer::FileWriter Class Reference

#include <G4XXXFileViewer.hh>


Public Member Functions

 FileWriter ()
G4bool IsOpen ()
void WriteItem (const G4String &item)
void Close ()
void Rewind ()


Detailed Description

Definition at line 52 of file G4XXXFileViewer.hh.


Constructor & Destructor Documentation

G4XXXFileViewer::FileWriter::FileWriter (  )  [inline]

Definition at line 54 of file G4XXXFileViewer.hh.

00054 : fOpen(false) {}


Member Function Documentation

void G4XXXFileViewer::FileWriter::Close (  ) 

Definition at line 40 of file G4XXXFileViewer.cc.

References G4cout, and G4endl.

Referenced by G4XXXFileViewer::ShowView(), and G4XXXFileViewer::~G4XXXFileViewer().

00041 {
00042   if (fOpen) {
00043     G4cout << "Closing file " << fFileName << G4endl;
00044     fFile.close();
00045     fOpen = false;
00046   }
00047 }

G4bool G4XXXFileViewer::FileWriter::IsOpen (  )  [inline]

Definition at line 55 of file G4XXXFileViewer.hh.

00055 {return fOpen;}

void G4XXXFileViewer::FileWriter::Rewind (  )  [inline]

Definition at line 59 of file G4XXXFileViewer.hh.

Referenced by G4XXXFileViewer::ClearView().

00059 {if (fOpen) {fFile.close(); fFile.open(fFileName.c_str());}}

void G4XXXFileViewer::FileWriter::WriteItem ( const G4String item  ) 

Definition at line 49 of file G4XXXFileViewer.cc.

References G4cout, and G4endl.

00050 {
00051   if (!fOpen)
00052     {
00053       std::ifstream ifs;
00054       std::ostringstream oss;
00055       G4int i = 0;
00056       do {
00057         oss.str("");
00058         oss << "g4_" << i << ".XXXFile";
00059         ifs.open(oss.str().c_str());
00060         if (!ifs) break;  // Doesn't exist, so can open a new file.
00061         else ifs.close();
00062         ++i;
00063       } while(true);
00064       fFileName = oss.str();
00065       G4cout << "Opening file " << fFileName << G4endl;
00066       fFile.open(fFileName.c_str());
00067       fOpen = true;
00068     }
00069   if (fFile.good()) fFile << item << std::endl;
00070   else G4cout << "G4XXXFileViewer::FileWriter::WriteItem: ERROR" << G4endl;
00071 }


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