1 #ifndef PhysicsTools_MVAComputer_VarProcessor_h 2 #define PhysicsTools_MVAComputer_VarProcessor_h 38 Calibration::VarProcessor,
39 const MVAComputer>::Factory {
53 mask(mask), origin(origin) {}
76 inline const_iterator
end()
const {
return configs.end(); }
101 inline unsigned int&
index() {
return index_;}
102 inline unsigned int&
offset() {
return offset_;}
103 inline unsigned int&
size() {
return size_;}
128 unsigned int out, std::vector<double> &
deriv)
const;
133 unsigned int nOutput,
135 unsigned int &nOffset)
const 160 {
config.push_back(config_);
return *
this; }
164 {
return *
this <<
Config(mask, 0); }
172 {
return config[cur()].mask; }
175 inline operator bool()
const {
return cur; }
182 {
ConfIterator orig = *
this; operator ++ ();
return orig; }
188 cur(cur), config(config) {}
203 inline unsigned int size()
const 204 {
return loop ? (conf[1] - conf[0]) : 1; }
225 { *output++ =
value;
return *
this; }
228 inline void operator () ()
231 if (*++outConf > pos)
232 output = start + *outConf;
238 inline void operator () (
double value)
239 { *
this <<
value; (*this)(); }
242 inline operator bool()
const {
return cur; }
251 unsigned int prev = *conf;
252 conf += cur() - orig;
254 if (loop && conf >= loop) {
270 int *conf,
double *output,
int *outConf,
271 int *loop,
LoopCtx& ctx,
unsigned int offset) :
272 cur(cur), ctx(ctx), offset(offset),
start(values + offset),
273 values(values), conf(conf), loop(loop),
274 output(output + offset), outConf(outConf)
277 this->values += *this->conf;
278 if (loop && this->conf >= loop) {
280 this->loop =
nullptr;
316 unsigned int n)
const 317 {
return std::vector<double>(); }
331 const char*,
const Calibration::VarProcessor*,
const MVAComputer*);
336 #endif // PhysicsTools_MVAComputer_VarProcessor_h
def create(alignables, pedeDump, additionalData, outputFile, config)
std::vector< Variable::Flags > flags
static std::string const input
Container::value_type value_type
T operator[](int i) const
MatrixMeschach operator*(const MatrixMeschach &mat1, const MatrixMeschach &mat2)