| # Gaudi Framework, version v23r0 |

Home |  | Generated: Mon Jan 30 2012

Public Member Functions | Protected Attributes

# 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 339 of file HepRndmGenerators.cpp.

## Constructor & Destructor Documentation

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

Standard Constructor.

Definition at line 345 of file HepRndmGenerators.cpp.

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

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

Standard Destructor.

Definition at line 349 of file HepRndmGenerators.cpp.

                             {
        }

## Member Function Documentation

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

Finalize the generator.

Reimplemented from RndmGen.

Definition at line 376 of file HepRndmGenerators.cpp.

                                        {
          if ( m_generator ) delete m_generator;
          m_generator = 0;
          return RndmGen::finalize();
        }

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

Initialize the generator.

Reimplemented from RndmGen.

Definition at line 352 of file HepRndmGenerators.cpp.

                                                                  {
          StatusCode status = RndmGen::initialize(par);
          if ( status.isSuccess() )   {
            try   {
              Rndm::DefinedPdf* specs = dynamic_cast<Rndm::DefinedPdf*>(m_params);
              if ( 0 != specs )  {
                m_generator = new RandGeneral( &specs->pdf()[0],
                                               specs->pdf().size(),
                                               specs->interpolation());
                BaseEngine* engine = dynamic_cast<BaseEngine*>(m_engine);
                if ( 0 != engine )    {
                  m_hepEngine = engine->hepEngine();
                  if ( 0 != m_hepEngine )   {
                    return StatusCode::SUCCESS;
                  }
                }
              }
            }
            catch (...)   {
            }
          }
          return StatusCode::FAILURE;
        }

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

Single shot.

Reimplemented from RndmGen.

Definition at line 382 of file HepRndmGenerators.cpp.

                                        {
          return m_generator->shoot(m_hepEngine);
        }

## Member Data Documentation

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

Definition at line 341 of file HepRndmGenerators.cpp.

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

Definition at line 342 of file HepRndmGenerators.cpp.

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

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines