BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
TMVA::GeneticPopulation Class Reference

Description

Definition at line 49 of file GeneticPopulation.h.

Collaboration diagram for TMVA::GeneticPopulation:
[legend]

Public Member Functions

 GeneticPopulation (const std::vector< TMVA::Interval * > &ranges, Int_t size, UInt_t seed=0)
 
virtual ~GeneticPopulation ()
 
void AddPopulation (GeneticPopulation &strangers)
 
void AddPopulation (GeneticPopulation *strangers)
 
Double_t GetFitness () const
 
std::vector< TMVA::GeneticGenes > & GetGenePool ()
 
const std::vector< TMVA::GeneticGenes > & GetGenePool () const
 
GeneticGenesGetGenes (Int_t index)
 
Int_t GetPopulationSize () const
 
std::vector< TMVA::GeneticRange * > & GetRanges ()
 
const std::vector< TMVA::GeneticRange * > & GetRanges () const
 
void GiveHint (std::vector< Double_t > &hint, Double_t fitness=0)
 
void MakeChildren ()
 
void MakeCopies (int number)
 
void Mutate (Double_t probability=20, Int_t startIndex=0, Bool_t near=kFALSE, Double_t spread=0.1, Bool_t mirror=kFALSE)
 
void NextGeneration ()
 
void Print (Int_t untilIndex=-1)
 
void Print (std::ostream &out, Int_t utilIndex=-1)
 
void SetRandomSeed (UInt_t seed=0)
 
void Sort ()
 
void TrimPopulation ()
 
std::vector< Double_tVariableDistribution (Int_t varNumber)
 

Private Member Functions

 ClassDef (GeneticPopulation, 0)
 
MsgLoggerLog () const
 
GeneticGenes MakeSex (GeneticGenes male, GeneticGenes female)
 

Private Attributes

std::vector< TMVA::GeneticGenesfGenePool
 
MsgLoggerfLogger
 
Int_t fPopulationSizeLimit
 
TRandom3fRandomGenerator
 
std::vector< TMVA::GeneticRange * > fRanges
 

Constructor & Destructor Documentation

◆ GeneticPopulation()

TMVA::GeneticPopulation::GeneticPopulation ( const std::vector< TMVA::Interval * > &  ranges,
Int_t  size,
UInt_t  seed = 0 
)

◆ ~GeneticPopulation()

virtual TMVA::GeneticPopulation::~GeneticPopulation ( )
virtual

Member Function Documentation

◆ AddPopulation() [1/2]

void TMVA::GeneticPopulation::AddPopulation ( GeneticPopulation strangers)

◆ AddPopulation() [2/2]

void TMVA::GeneticPopulation::AddPopulation ( GeneticPopulation strangers)

◆ ClassDef()

TMVA::GeneticPopulation::ClassDef ( GeneticPopulation  ,
 
)
private

◆ GetFitness()

Double_t TMVA::GeneticPopulation::GetFitness ( ) const
inline

Definition at line 64 of file GeneticPopulation.h.

64 { return fGenePool.size()>0? fGenePool[0].GetFitness() : 0; }
std::vector< TMVA::GeneticGenes > fGenePool

References fGenePool.

◆ GetGenePool() [1/2]

std::vector<TMVA::GeneticGenes>& TMVA::GeneticPopulation::GetGenePool ( )
inline

Definition at line 69 of file GeneticPopulation.h.

69 { return fGenePool; }

References fGenePool.

◆ GetGenePool() [2/2]

const std::vector<TMVA::GeneticGenes>& TMVA::GeneticPopulation::GetGenePool ( ) const
inline

Definition at line 66 of file GeneticPopulation.h.

66 { return fGenePool; }

References fGenePool.

◆ GetGenes()

GeneticGenes* TMVA::GeneticPopulation::GetGenes ( Int_t  index)

◆ GetPopulationSize()

Int_t TMVA::GeneticPopulation::GetPopulationSize ( ) const
inline

Definition at line 63 of file GeneticPopulation.h.

63 { return fGenePool.size(); }

References fGenePool.

◆ GetRanges() [1/2]

std::vector<TMVA::GeneticRange*>& TMVA::GeneticPopulation::GetRanges ( )
inline

Definition at line 70 of file GeneticPopulation.h.

70 { return fRanges; }
std::vector< TMVA::GeneticRange * > fRanges

References fRanges.

◆ GetRanges() [2/2]

const std::vector<TMVA::GeneticRange*>& TMVA::GeneticPopulation::GetRanges ( ) const
inline

Definition at line 67 of file GeneticPopulation.h.

67 { return fRanges; }

References fRanges.

◆ GiveHint()

void TMVA::GeneticPopulation::GiveHint ( std::vector< Double_t > &  hint,
Double_t  fitness = 0 
)

◆ Log()

MsgLogger& TMVA::GeneticPopulation::Log ( ) const
inlineprivate

Definition at line 101 of file GeneticPopulation.h.

101 { return *fLogger; }

References fLogger.

◆ MakeChildren()

void TMVA::GeneticPopulation::MakeChildren ( )

◆ MakeCopies()

void TMVA::GeneticPopulation::MakeCopies ( int  number)

◆ MakeSex()

GeneticGenes TMVA::GeneticPopulation::MakeSex ( GeneticGenes  male,
GeneticGenes  female 
)
private

◆ Mutate()

void TMVA::GeneticPopulation::Mutate ( Double_t  probability = 20,
Int_t  startIndex = 0,
Bool_t  near = kFALSE,
Double_t  spread = 0.1,
Bool_t  mirror = kFALSE 
)

◆ NextGeneration()

void TMVA::GeneticPopulation::NextGeneration ( )
inline

Definition at line 83 of file GeneticPopulation.h.

83 {}

◆ Print() [1/2]

void TMVA::GeneticPopulation::Print ( Int_t  untilIndex = -1)

◆ Print() [2/2]

void TMVA::GeneticPopulation::Print ( std::ostream &  out,
Int_t  utilIndex = -1 
)

◆ SetRandomSeed()

void TMVA::GeneticPopulation::SetRandomSeed ( UInt_t  seed = 0)

◆ Sort()

void TMVA::GeneticPopulation::Sort ( )

◆ TrimPopulation()

void TMVA::GeneticPopulation::TrimPopulation ( )

◆ VariableDistribution()

std::vector< Double_t > TMVA::GeneticPopulation::VariableDistribution ( Int_t  varNumber)

Member Data Documentation

◆ fGenePool

std::vector<TMVA::GeneticGenes> TMVA::GeneticPopulation::fGenePool
private

Definition at line 95 of file GeneticPopulation.h.

Referenced by GetFitness(), GetGenePool(), and GetPopulationSize().

◆ fLogger

MsgLogger* TMVA::GeneticPopulation::fLogger
mutableprivate

Definition at line 100 of file GeneticPopulation.h.

Referenced by Log().

◆ fPopulationSizeLimit

Int_t TMVA::GeneticPopulation::fPopulationSizeLimit
private

Definition at line 103 of file GeneticPopulation.h.

◆ fRandomGenerator

TRandom3* TMVA::GeneticPopulation::fRandomGenerator
private

Definition at line 98 of file GeneticPopulation.h.

◆ fRanges

std::vector<TMVA::GeneticRange*> TMVA::GeneticPopulation::fRanges
private

Definition at line 96 of file GeneticPopulation.h.

Referenced by GetRanges().


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