/usr/include/root/TMVA/GeneticRange.h is in libroot-tmva-dev 5.34.14-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | // @(#)root/tmva $Id$
// Author: Peter Speckmayer
/**********************************************************************************
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA *
* Class : GeneticRange *
* Web : http://tmva.sourceforge.net *
* *
* Description: *
* Range definition for genetic algorithm *
* *
* Authors (alphabetical): *
* Peter Speckmayer <speckmay@mail.cern.ch> - CERN, Switzerland *
* *
* Copyright (c) 2005: *
* CERN, Switzerland *
* MPI-K Heidelberg, Germany *
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) *
**********************************************************************************/
#ifndef ROOT_TMVA_GeneticRange
#define ROOT_TMVA_GeneticRange
//////////////////////////////////////////////////////////////////////////
// //
// GeneticRange //
// //
// Range definition for genetic algorithm //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TMVA_Interval
#include "TMVA/Interval.h"
#endif
class TRandom3;
namespace TMVA {
class GeneticRange {
public:
GeneticRange( TRandom3* rnd, Interval *interval );
virtual ~GeneticRange();
Double_t Random( Bool_t near = kFALSE, Double_t value=0, Double_t spread=0.1, Bool_t mirror=kFALSE );
Double_t RandomDiscrete();
Double_t GetFrom() { return fFrom; }
Double_t GetTo() { return fTo; }
Double_t GetTotalLength() { return fTotalLength; }
private:
Double_t fFrom, fTo; // the constraints of the coefficient
Int_t fNbins;
Interval *fInterval; // holds the complete information of the interval
Double_t fTotalLength; // the distance between the lower and upper constraints
// maps the values thrown outside of the ]from,to] interval back to the interval
// the values which leave the range on the from-side, are mapped in to the to-side
Double_t ReMap( Double_t val );
// same as before, but the values leaving the allowed range, are mirrored into the range.
Double_t ReMapMirror( Double_t val );
TRandom3* fRandomGenerator; // the randomGenerator for calculating the new values
ClassDef(GeneticRange,0) // Range definition for genetic algorithm
};
} // namespace TMVA
#endif
|