English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Reliability: TSorm.h Source File
Uranie / Reliability v4.9.0
/* @license-end */
TSorm.h
Go to the documentation of this file.
1
2// Copyright (C) 2013-2024 CEA/DES
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU Lesser General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or any
7// later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU Lesser General Public License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
18// $Id$
19// $Author$
20// $Date$
21// $Revision 1.2 $
22// $State$
24
32#ifndef __SORM__
33#define __SORM__
34
35//ROOT
36#include "Rtypes.h"
37#include "TNamed.h"
38
39// Uranie
40#include "Reliability.h"
41#include "TInformMaster.h"
42
43#include "TDataServer.h"
44#include "TFormEval.h"
45#include "TFitGetter.h"
46#include "TOptimFit.h"
47#include "ridder.h"
48
49namespace URANIE
50{
51namespace Reliability
52{
53
55{
56protected:
57 struct ridder *_solv;
58 double _xl, _fl, _xt, _ft;
59 double *_ref;
61
62public:
63 TDemiAxeSorm(Int_t size, Double_t *ref);
65
66 int next(double in, double *next);
67 double courbure();
68};
69
70class TSorm: public URANIE::Relauncher::TInformMaster
71{
72protected:
73 Int_t _size;
74 URANIE::Reoptimizer::TFitGetter *_lapse;
75
76 void create();
77 void build();
78 void fill(double id, vector<URANIE::DataServer::UEntry*> *in,
79 vector<URANIE::DataServer::UEntry*> *out,
80 vector<URANIE::DataServer::UEntry*> *all, double correct);
81
82 void getCurrentPattern(Int_t ipati, Double_t *res);
83
84public:
86 {
87 };
88
89 TSorm(URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run);
90 TSorm(URANIE::DataServer::TDataServer *tds, TFormEval *fun);
91 virtual ~TSorm();
92
93 void addLapse(URANIE::DataServer::TAttribute *att,
94 URANIE::Reoptimizer::TOptimFit *modif = NULL);
95
96 virtual void solverLoop();
97
98 ClassDef(URANIE::Reliability::TSorm, ID_RELIABILITY)
99
100};
101
102}
103} //namespace
104#endif
fonction pour un problème form
double _xl
Definition TSorm.h:58
double * _ref
Definition TSorm.h:59
double _fl
Definition TSorm.h:58
double _xt
Definition TSorm.h:58
int _state
Definition TSorm.h:60
double courbure()
Definition TSorm.cxx:115
int _size
Definition TSorm.h:60
~TDemiAxeSorm()
Definition TSorm.cxx:71
int next(double in, double *next)
Definition TSorm.cxx:78
double _ft
Definition TSorm.h:58
struct ridder * _solv
Definition TSorm.h:57
Definition TFormEval.h:49
Definition TSorm.h:71
void addLapse(URANIE::DataServer::TAttribute *att, URANIE::Reoptimizer::TOptimFit *modif=NULL)
Definition TSorm.cxx:148
void create()
Definition TSorm.cxx:140
virtual void solverLoop()
Definition TSorm.cxx:217
Int_t _size
Definition TSorm.h:73
URANIE::Reoptimizer::TFitGetter * _lapse
Definition TSorm.h:74
void getCurrentPattern(Int_t ipati, Double_t *res)
Definition TSorm.cxx:195
void build()
Definition TSorm.cxx:159
void fill(double id, vector< URANIE::DataServer::UEntry * > *in, vector< URANIE::DataServer::UEntry * > *out, vector< URANIE::DataServer::UEntry * > *all, double correct)
Definition TSorm.cxx:175
virtual ~TSorm()
Definition TSorm.cxx:134
Definition TFormEval.cxx:39