Geant4  10.01.p03
RandBit.cc
Go to the documentation of this file.
1 // $Id:$
2 // -*- C++ -*-
3 //
4 // -----------------------------------------------------------------------
5 // HEP Random
6 // --- RandBit ---
7 // class implementation file
8 // -----------------------------------------------------------------------
9 // This file is part of Geant4 (simulation toolkit for HEP).
10 
11 // =======================================================================
12 // M Fischler - Created from RandFlat.cc, deleting almost all the content
13 // since inheritance takes care of it. 2/15/00
14 // M Fischler - put and get to/from streams 12/10/04
15 // =======================================================================
16 
17 #include "CLHEP/Random/RandBit.h"
18 #include <string>
19 
20 namespace CLHEP {
21 
22 std::string RandBit::name() const {return "RandBit";}
23 
24 RandBit::~RandBit() {
25 }
26 
27 std::ostream & RandBit::put ( std::ostream & os ) const {
28  os << " " << name() << "\n";
29  RandFlat::put(os);
30  return os;
31 }
32 
33 std::istream & RandBit::get ( std::istream & is ) {
34  std::string inName;
35  is >> inName;
36  if (inName != name()) {
37  is.clear(std::ios::badbit | is.rdstate());
38  std::cerr << "Mismatch when expecting to read state of a "
39  << name() << " distribution\n"
40  << "Name found was " << inName
41  << "\nistream is left in the badbit state\n";
42  return is;
43  }
44  RandFlat::get(is);
45  return is;
46 }
47 
48 } // namespace CLHEP
49 
G4String name
Definition: TRTMaterials.hh:40