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