Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals

MultipliedRandom Class Reference

#include <newran.h>

Inheritance diagram for MultipliedRandom:

Inheritance graph
[legend]
Collaboration diagram for MultipliedRandom:

Collaboration graph
[legend]

Public Member Functions

Real Next ()
ExtReal Mean () const
ExtReal Variance () const

Protected Member Functions

void tDelete ()
 MultipliedRandom (Random &rv1x, Random &rv2x)

Protected Attributes

Randomrv1
Randomrv2

Friends

MultipliedRandomoperator * (Random &, Random &)

Constructor & Destructor Documentation

MultipliedRandom::MultipliedRandom Random rv1x,
Random rv2x
[inline, protected]
 

Definition at line 483 of file newran.h.

00483 : rv1(&rv1x), rv2(&rv2x) {}


Member Function Documentation

ExtReal MultipliedRandom::Mean  )  const [virtual]
 

Reimplemented from Random.

Reimplemented in AddedRandom, OredRandom, SubtractedRandom, and DividedRandom.

Definition at line 782 of file newran.cpp.

References Random::Mean(), rv1, and rv2.

00782 { return rv1->Mean() * rv2->Mean() ; }

Real MultipliedRandom::Next  )  [virtual]
 

Reimplemented from Random.

Reimplemented in AddedRandom, OredRandom, SubtractedRandom, and DividedRandom.

Definition at line 779 of file newran.cpp.

References Random::Next(), Real, rv1, and rv2.

00780 { return rv1->Next() * rv2->Next() ; }

void MultipliedRandom::tDelete  )  [inline, protected, virtual]
 

Reimplemented from Random.

Definition at line 476 of file newran.h.

References tron.

00477    { 
00478    #ifdef MONITOR
00479       tron << "destructing MultipliedRandom\n";
00480    #endif
00481            rv1->tDelete(); rv2->tDelete(); delete this; 
00482    }

ExtReal MultipliedRandom::Variance  )  const [virtual]
 

Reimplemented from Random.

Reimplemented in AddedRandom, OredRandom, SubtractedRandom, and DividedRandom.

Definition at line 784 of file newran.cpp.

References Random::Mean(), rv1, rv2, square(), and Random::Variance().

00785 {
00786    ExtReal e1 = square(rv1->Mean()); ExtReal e2 = square(rv2->Mean());
00787    ExtReal v1 = rv1->Variance(); ExtReal v2 = rv2->Variance();
00788    ExtReal r=v1*v2+v1*e2+e1*v2;
00789    return r;
00790 }


Friends And Related Function Documentation

MultipliedRandom& operator * Random rv1,
Random rv2
[friend]
 

Definition at line 733 of file newran.cpp.

00734 {
00735    MultipliedRandom* r = new MultipliedRandom(rv1, rv2);
00736    if (!r) ErrorNoSpace(); return *r;
00737 }


Field Documentation

Random* MultipliedRandom::rv1 [protected]
 

Definition at line 475 of file newran.h.

Referenced by Mean(), SubtractedRandom::Mean(), OredRandom::Mean(), AddedRandom::Mean(), DividedRandom::Next(), Next(), SubtractedRandom::Next(), OredRandom::Next(), AddedRandom::Next(), Variance(), SubtractedRandom::Variance(), OredRandom::Variance(), and AddedRandom::Variance().

Random* MultipliedRandom::rv2 [protected]
 

Definition at line 475 of file newran.h.

Referenced by Mean(), SubtractedRandom::Mean(), OredRandom::Mean(), AddedRandom::Mean(), DividedRandom::Next(), Next(), SubtractedRandom::Next(), OredRandom::Next(), AddedRandom::Next(), Variance(), SubtractedRandom::Variance(), OredRandom::Variance(), and AddedRandom::Variance().


The documentation for this class was generated from the following files:
Generated on Fri Dec 5 04:06:27 2003 for Borqueror by doxygen 1.3.3