Gaudi Framework, version v21r11

Home   Generated: 30 Sep 2010

HepRndm::Generator< Rndm::DefinedPdf > Class Template Reference

Inheritance diagram for HepRndm::Generator< Rndm::DefinedPdf >:
[legend]
Collaboration diagram for HepRndm::Generator< Rndm::DefinedPdf >:
[legend]

List of all members.

Public Member Functions

 Generator (IInterface *engine)
 Standard Constructor.
virtual ~Generator ()
 Standard Destructor.
virtual StatusCode initialize (const IRndmGen::Param &par)
 Initialize the generator.
virtual StatusCode finalize ()
 Finalize the generator.
virtual double shoot () const
 Single shot.

Protected Attributes

RandGeneral * m_generator
HepRandomEngine * m_hepEngine


Detailed Description

template<>
class HepRndm::Generator< Rndm::DefinedPdf >

Definition at line 335 of file HepRndmGenerators.cpp.


Constructor & Destructor Documentation

HepRndm::Generator< Rndm::DefinedPdf >::Generator ( IInterface engine  )  [inline]

Standard Constructor.

Definition at line 341 of file HepRndmGenerators.cpp.

00342     : RndmGen (engine), m_generator(0), m_hepEngine(0)    {
00343     }

virtual HepRndm::Generator< Rndm::DefinedPdf >::~Generator (  )  [inline, virtual]

Standard Destructor.

Definition at line 345 of file HepRndmGenerators.cpp.

00345                          {
00346     }


Member Function Documentation

virtual StatusCode HepRndm::Generator< Rndm::DefinedPdf >::initialize ( const IRndmGen::Param par  )  [inline, virtual]

Initialize the generator.

Reimplemented from RndmGen.

Definition at line 348 of file HepRndmGenerators.cpp.

00348                                                               {
00349       StatusCode status = RndmGen::initialize(par);
00350       if ( status.isSuccess() )   {
00351         try   {
00352           Rndm::DefinedPdf* specs = dynamic_cast<Rndm::DefinedPdf*>(m_params);
00353           if ( 0 != specs )  {
00354             m_generator = new RandGeneral( &specs->pdf()[0],
00355                                            specs->pdf().size(), 
00356                                            specs->interpolation());
00357             BaseEngine* engine = dynamic_cast<BaseEngine*>(m_engine);
00358             if ( 0 != engine )    {
00359               m_hepEngine = engine->hepEngine();
00360               if ( 0 != m_hepEngine )   {
00361                 return StatusCode::SUCCESS;
00362               }
00363             }
00364           }
00365         }
00366         catch (...)   {
00367         }
00368       }
00369       return StatusCode::FAILURE;
00370     }

virtual StatusCode HepRndm::Generator< Rndm::DefinedPdf >::finalize (  )  [inline, virtual]

Finalize the generator.

Reimplemented from RndmGen.

Definition at line 372 of file HepRndmGenerators.cpp.

00372                                     {
00373       if ( m_generator ) delete m_generator;
00374       m_generator = 0;
00375       return RndmGen::finalize();
00376     }

virtual double HepRndm::Generator< Rndm::DefinedPdf >::shoot (  )  const [inline, virtual]

Single shot.

Reimplemented from RndmGen.

Definition at line 378 of file HepRndmGenerators.cpp.

00378                                     {
00379       return m_generator->shoot(m_hepEngine);
00380     }


Member Data Documentation

RandGeneral* HepRndm::Generator< Rndm::DefinedPdf >::m_generator [protected]

Definition at line 337 of file HepRndmGenerators.cpp.

HepRandomEngine* HepRndm::Generator< Rndm::DefinedPdf >::m_hepEngine [protected]

Definition at line 338 of file HepRndmGenerators.cpp.


The documentation for this class was generated from the following file:

Generated at Thu Sep 30 09:59:05 2010 for Gaudi Framework, version v21r11 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004