| # Gaudi Framework, version v21r9 |

Home |  | Generated: 3 May 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 | ( | void |  | ) | `[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:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r9/GaudiSvc/src/RndmGenSvc/HepRndmGenerators.cpp