Geant4 Cross Reference |
1 // -*- C++ -*- 2 // 3 // ----------------------------------------------------------------------- 4 // HEP Random 5 // --- RandBit --- 6 // class implementation file 7 // ----------------------------------------------------------------------- 8 // This file is part of Geant4 (simulation toolkit for HEP). 9 10 // ======================================================================= 11 // M Fischler - Created from RandFlat.cc, deleting almost all the content 12 // since inheritance takes care of it. 2/15/00 13 // M Fischler - put and get to/from streams 12/10/04 14 // ======================================================================= 15 16 #include "CLHEP/Random/RandBit.h" 17 #include <iostream> 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 50