1// $Id: RandLandau.icc,v 1.3 2010/06/16 17:24:53 garren Exp $ 2// -*- C++ -*- 3// 4// ----------------------------------------------------------------------- 5// HEP Random 6// --- RandLandau --- 7// inlined functions implementation file 8// ----------------------------------------------------------------------- 9// This file is part of Geant4 (simulation toolkit for HEP). 10 11// ======================================================================= 12// Gabriele Cosmo - Created: 19th August 1998 13// M Fischler - Added some inline methods that had been in the .cc file, 14// which are shells for calls to transform(r): 30 Sep 1999 15// ======================================================================= 16 17// Constructors 18// ------------ 19 20namespace CLHEP { 21 22RandLandau::RandLandau(HepRandomEngine & anEngine ) 23: HepRandom(), localEngine(&anEngine, do_nothing_deleter()) 24{} 25 26RandLandau::RandLandau(HepRandomEngine * anEngine ) 27: HepRandom(), localEngine(anEngine) 28{} 29 30// Getting a Landau deviate - static methods 31// ------------------------------------------- 32 33double RandLandau::shoot() 34{ 35 HepRandomEngine* anEngine = HepRandom::getTheEngine(); 36 return transform (anEngine->flat()); 37} 38 39double RandLandau::shoot( HepRandomEngine* anotherEngine ) 40{ 41 return transform (anotherEngine->flat()); 42} 43 44// Getting a Landau deviate - instance methods 45// --------------------------------------------- 46 47double RandLandau::fire() { 48 return transform(localEngine->flat()); 49} 50 51double RandLandau::operator()() { 52 return transform(localEngine->flat()); 53} 54 55} // namespace CLHEP 56