Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
CCalutils.cc File Reference
#include "CCalutils.hh"
#include "G4ios.hh"
#include "G4UnitsTable.hh"
#include <sstream>

Go to the source code of this file.

Functions

G4String operator+ (const G4String &str, const int i)
 
G4String operator+ (const G4String &str, const double i)
 
std::ifstream & readName (std::ifstream &is, G4String &name)
 
std::ifstream & findDO (std::ifstream &is, const G4String &str)
 
std::ostream & tab (std::ostream &os)
 
std::istream & jump (std::istream &is)
 
bool openGeomFile (std::ifstream &is, const G4String &pathname, const G4String &filename)
 

Function Documentation

std::ifstream& findDO ( std::ifstream &  is,
const G4String str 
)

Definition at line 72 of file CCalutils.cc.

Referenced by CCalMagneticField::CCalMagneticField(), CCalMaterialFactory::readElements(), CCalHall::readFile(), CCalEcal::readFile(), CCalHcal::readFile(), and CCalMaterialFactory::readMaterials().

72  {
73  // Loop until *DO str is found
74  G4String firstwd, dowhat;
75  dowhat = "";
76  while (dowhat != str && is) {
77  is >> firstwd;
78  while (firstwd != "*DO" && is) {
79  is.ignore(999,'\n');
80  is >> firstwd;
81  };
82  is >> dowhat;
83  };
84  is.ignore(999,'\n');
85  return is;
86 }
std::istream& jump ( std::istream &  is)

Definition at line 95 of file CCalutils.cc.

References python.hepunit::second.

Referenced by CCalMaterialFactory::readElements(), CCalHall::readFile(), CCalEcal::readFile(), CCalHcal::readFile(), CCalVisualisable::readFile(), and CCalMaterialFactory::readMaterials().

95  {
96  char first = ' ';
97  char second = ' ';
98  is.ignore(999,'\n');
99  do {
100  is.get(first);
101  second = is.peek();
102  if (first == '#' && second =='.') {
103  is.ignore(999,'\n');
104  }
105  else if (first == '\n'); //it was already picked
106  else {
107  is.putback(first);
108  return is;
109  }
110  }
111  while (is);
112  return is;
113 }
bool openGeomFile ( std::ifstream &  is,
const G4String pathname,
const G4String filename 
)

Definition at line 116 of file CCalutils.cc.

References G4cerr, and G4endl.

Referenced by CCalMagneticField::CCalMagneticField(), CCalMaterialFactory::readElements(), CCalHall::readFile(), CCalEcal::readFile(), CCalHcal::readFile(), CCalVisualisable::readFile(), and CCalMaterialFactory::readMaterials().

117  {
118  G4String fullname = pathname+"/"+filename;
119  is.open( fullname.c_str() );
120  if (!is) {
121  G4cerr << "ERROR: Could not open file " << filename << G4endl;
122  return false;
123  }
124  return true;
125 }
#define G4endl
Definition: G4ios.hh:61
G4GLOB_DLL std::ostream G4cerr
G4String operator+ ( const G4String str,
const int  i 
)

Definition at line 37 of file CCalutils.cc.

37  {
38  std::ostringstream os;
39  os << str << i <<'\0';
40  G4String back = os.str();
41  return back;
42 }
G4String operator+ ( const G4String str,
const double  i 
)

Definition at line 45 of file CCalutils.cc.

45  {
46  std::ostringstream os;
47  os << str << i <<'\0';
48  G4String back = os.str();
49  return back;
50 }
std::ifstream& readName ( std::ifstream &  is,
G4String name 
)

Definition at line 53 of file CCalutils.cc.

References G4String::both, and G4String::strip().

Referenced by CCalMaterialFactory::readElements(), CCalHall::readFile(), CCalEcal::readFile(), CCalHcal::readFile(), CCalVisualisable::readFile(), and CCalMaterialFactory::readMaterials().

53  {
54  is >> name;
55  if ( name != "*ENDDO" ) {
56  while ( name.find("#.") != G4String::npos ) { // It is a comment. Skip line.
57  is.ignore(999,'\n');
58  is >> name;
59  };
60  while ( name.rfind('\"') != name.length()-1 ) {
61  G4String other;
62  is >> other;
63  name += " ";
64  name += other;
65  };
66  name = name.strip(G4String::both, '\"');
67  }
68  return is;
69 }
G4String strip(G4int strip_Type=trailing, char c=' ')
const XML_Char * name
std::ostream& tab ( std::ostream &  os)