Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/RooLinearCombination.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Author: Rahul Balasubramanian, Nikhef 08 Apr 2021
0002 /*****************************************************************************
0003  * Project: RooFit                                                           *
0004  * Package: RooFitCore                                                       *
0005  *    File: $Id: RooAbsReal.h,v 1.75 2007/07/13 21:50:24 wouter Exp $
0006  * Authors:                                                                  *
0007  *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
0008  *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
0009  *                                                                           *
0010  * Copyright (c) 2000-2005, Regents of the University of California          *
0011  *                          and Stanford University. All rights reserved.    *
0012  *                                                                           *
0013  * Redistribution and use in source and binary forms,                        *
0014  * with or without modification, are permitted according to the terms        *
0015  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
0016  *****************************************************************************/
0017 #ifndef ROO_LINEAR_COMB
0018 #define ROO_LINEAR_COMB
0019 
0020 #include "RooFit/Floats.h"
0021 
0022 #include <list>
0023 #include <ostream>
0024 #include <vector>
0025 
0026 #include "RooAbsReal.h"
0027 #include "RooArgSet.h"
0028 #include "RooListProxy.h"
0029 
0030 class RooLinearCombination : public RooAbsReal {
0031   RooListProxy _actualVars;
0032   std::vector<RooFit::SuperFloat> _coefficients;
0033   mutable RooArgSet *_nset; //!
0034 
0035 public:
0036   RooLinearCombination();
0037   RooLinearCombination(const char *name);
0038   RooLinearCombination(const RooLinearCombination &other, const char *name);
0039   void printArgs(std::ostream &os) const override;
0040   ~RooLinearCombination() override;
0041   TObject *clone(const char *newname) const override;
0042   void add(RooFit::SuperFloat c, RooAbsReal *t);
0043   void setCoefficient(size_t idx, RooFit::SuperFloat c);
0044   RooFit::SuperFloat getCoefficient(size_t idx);
0045   double evaluate() const override;
0046   std::list<double> *binBoundaries(RooAbsRealLValue &obs,
0047                                              double xlo,
0048                                              double xhi) const override;
0049   std::list<double> *plotSamplingHint(RooAbsRealLValue &obs,
0050                                                 double xlo,
0051                                                 double xhi) const override;
0052 
0053   ClassDefOverride(RooLinearCombination, 1)
0054 };
0055 
0056 #endif