| FlexibleInterpVar.h | | FlexibleInterpVar.h | |
| | | | |
| skipping to change at line 17 | | skipping to change at line 17 | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| #ifndef ROOSTATS_FLEXIBLEINTERPVAR | | #ifndef ROOSTATS_FLEXIBLEINTERPVAR | |
| #define ROOSTATS_FLEXIBLEINTERPVAR | | #define ROOSTATS_FLEXIBLEINTERPVAR | |
| | | | |
| #include "RooAbsPdf.h" | | #include "RooAbsPdf.h" | |
| #include "RooRealProxy.h" | | #include "RooRealProxy.h" | |
| #include "RooListProxy.h" | | #include "RooListProxy.h" | |
|
| | | #include <vector> | |
| | | | |
| class RooRealVar; | | class RooRealVar; | |
| class RooArgList ; | | class RooArgList ; | |
| | | | |
| namespace RooStats{ | | namespace RooStats{ | |
| namespace HistFactory{ | | namespace HistFactory{ | |
| | | | |
| class FlexibleInterpVar : public RooAbsReal { | | class FlexibleInterpVar : public RooAbsReal { | |
| public: | | public: | |
| | | | |
| | | | |
| skipping to change at line 59 | | skipping to change at line 60 | |
| | | | |
| RooListProxy _paramList ; | | RooListProxy _paramList ; | |
| Double_t _nominal; | | Double_t _nominal; | |
| std::vector<double> _low; | | std::vector<double> _low; | |
| std::vector<double> _high; | | std::vector<double> _high; | |
| std::vector<int> _interpCode; | | std::vector<int> _interpCode; | |
| Double_t _interpBoundary; | | Double_t _interpBoundary; | |
| | | | |
| TIterator* _paramIter ; //! do not persist | | TIterator* _paramIter ; //! do not persist | |
| | | | |
|
| | | mutable Bool_t _logInit ; //! | |
| | | mutable std::vector<double> _logLo ; //! cached logs | |
| | | mutable std::vector<double> _logHi ; //! cached logs | |
| | | mutable std::vector<double> _powLo ; //! cached powers | |
| | | mutable std::vector<double> _powHi ; //! cached powers | |
| | | | |
| Double_t evaluate() const; | | Double_t evaluate() const; | |
| | | | |
| ClassDef(RooStats::HistFactory::FlexibleInterpVar,2) // flexible interp
olation | | ClassDef(RooStats::HistFactory::FlexibleInterpVar,2) // flexible interp
olation | |
| }; | | }; | |
| } | | } | |
| } | | } | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 7 lines changed or added | |
|
| HistoToWorkspaceFactoryFast.h | | HistoToWorkspaceFactoryFast.h | |
| | | | |
| skipping to change at line 51 | | skipping to change at line 51 | |
| HistoToWorkspaceFactoryFast( std::string, std::string , std::vector<st
d::string> , double =200, double =20, int =0, int =6, TFile* =NULL, param_m
ap = param_map() ); | | HistoToWorkspaceFactoryFast( std::string, std::string , std::vector<st
d::string> , double =200, double =20, int =0, int =6, TFile* =NULL, param_m
ap = param_map() ); | |
| HistoToWorkspaceFactoryFast( RooStats::HistFactory::Measurement& Meas
); | | HistoToWorkspaceFactoryFast( RooStats::HistFactory::Measurement& Meas
); | |
| static void ConfigureWorkspaceForMeasurement( const std::string& ModelN
ame, RooWorkspace* ws_single, Measurement& measurement ); | | static void ConfigureWorkspaceForMeasurement( const std::string& ModelN
ame, RooWorkspace* ws_single, Measurement& measurement ); | |
| | | | |
| HistoToWorkspaceFactoryFast(); | | HistoToWorkspaceFactoryFast(); | |
| virtual ~HistoToWorkspaceFactoryFast(); | | virtual ~HistoToWorkspaceFactoryFast(); | |
| | | | |
| RooWorkspace* MakeSingleChannelModel( Measurement& measurement, Channel
& channel ); | | RooWorkspace* MakeSingleChannelModel( Measurement& measurement, Channel
& channel ); | |
| static RooWorkspace* MakeCombinedModel( Measurement& measurement ); | | static RooWorkspace* MakeCombinedModel( Measurement& measurement ); | |
| | | | |
|
| void SetFunctionsToPreprocess(std::vector<std::string> lines){ fPreproc
essFunctions = lines;} | | void SetFunctionsToPreprocess(std::vector<std::string> lines){ fPreproc
essFunctions = lines; } | |
| | | | |
|
| | | //ES// | |
| | | /* | |
| void AddEfficiencyTerms(RooWorkspace* proto, std::string prefix, std::s
tring interpName, | | void AddEfficiencyTerms(RooWorkspace* proto, std::string prefix, std::s
tring interpName, | |
| std::map<std::string,std::pair<double,double> >
systMap, | | std::map<std::string,std::pair<double,double> >
systMap, | |
| std::vector<std::string>& likelihoodTermNames, s
td::vector<std::string>& totSystTermNames); | | std::vector<std::string>& likelihoodTermNames, s
td::vector<std::string>& totSystTermNames); | |
|
| | | */ | |
| | | void AddEfficiencyTerms(RooWorkspace* proto, std::string prefix, std::s | |
| | | tring interpName, | |
| | | std::vector<OverallSys>& systList, | |
| | | std::vector<std::string>& likelihoodTermNames, s | |
| | | td::vector<std::string>& totSystTermNames); | |
| | | | |
|
| std::string AddNormFactor(RooWorkspace *, std::string & , std::string & | | //ES// std::string AddNormFactor(RooWorkspace *, std::string & , std::s | |
| , EstimateSummary & , bool ); | | tring & , EstimateSummary & , bool ); | |
| | | std::string AddNormFactor(RooWorkspace* proto, std::string& channel, st | |
| | | d::string& sigmaEpsilon, Sample& sample, bool doRatio); | |
| | | | |
| void AddMultiVarGaussConstraint(RooWorkspace* proto, std::string prefix
,int lowBin, int highBin, std::vector<std::string>& likelihoodTermNames); | | void AddMultiVarGaussConstraint(RooWorkspace* proto, std::string prefix
,int lowBin, int highBin, std::vector<std::string>& likelihoodTermNames); | |
| | | | |
| void AddPoissonTerms(RooWorkspace* proto, std::string prefix, std::stri
ng obsPrefix, std::string expPrefix, int lowBin, int highBin, | | void AddPoissonTerms(RooWorkspace* proto, std::string prefix, std::stri
ng obsPrefix, std::string expPrefix, int lowBin, int highBin, | |
| std::vector<std::string>& likelihoodTermNames); | | std::vector<std::string>& likelihoodTermNames); | |
| | | | |
| //void Combine_old(); | | //void Combine_old(); | |
| | | | |
| RooWorkspace * MakeCombinedModel(std::vector<std::string>, std::vector
<RooWorkspace*>); | | RooWorkspace * MakeCombinedModel(std::vector<std::string>, std::vector
<RooWorkspace*>); | |
| | | | |
| //void Combine_ratio(std::vector<std::string> , std::vector<RooWorkspac
e*>); | | //void Combine_ratio(std::vector<std::string> , std::vector<RooWorkspac
e*>); | |
| | | | |
| void Customize(RooWorkspace* proto, const char* pdfNameChar, std::map<s
td::string,std::string> renameMap); | | void Customize(RooWorkspace* proto, const char* pdfNameChar, std::map<s
td::string,std::string> renameMap); | |
| | | | |
| static void EditSyst(RooWorkspace* proto, const char* pdfNameChar, | | static void EditSyst(RooWorkspace* proto, const char* pdfNameChar, | |
| std::map<std::string,double> gammaSyst, std::map<st
d::string,double> uniformSyst, std::map<std::string,double> logNormSyst, st
d::map<std::string,double> noSyst); | | std::map<std::string,double> gammaSyst, std::map<st
d::string,double> uniformSyst, std::map<std::string,double> logNormSyst, st
d::map<std::string,double> noSyst); | |
| | | | |
| //void FormatFrameForLikelihood(RooPlot* frame, std::string XTitle=std:
:string("#sigma / #sigma_{SM}"), std::string YTitle=std::string("-log likel
ihood")); | | //void FormatFrameForLikelihood(RooPlot* frame, std::string XTitle=std:
:string("#sigma / #sigma_{SM}"), std::string YTitle=std::string("-log likel
ihood")); | |
| | | | |
|
| void LinInterpWithConstraint(RooWorkspace* proto, TH1* nominal, std::ve | | //ES// void LinInterpWithConstraint(RooWorkspace* proto, TH1* nominal, | |
| ctor<TH1*> lowHist, std::vector<TH1*> highHist, | | std::vector<TH1*> lowHist, std::vector<TH1*> highHist, | |
| std::vector<std::string> sourceName, std::s | | //ES// std::vector<std::string> sourceName | |
| tring prefix, std::string productPrefix, std::string systTerm, | | , std::string prefix, std::string productPrefix, std::string systTerm, | |
| int lowBin, int highBin, std::vector<std::s | | //ES// int lowBin, int highBin, std::vecto | |
| tring>& likelihoodTermNames); | | r<std::string>& likelihoodTermNames); | |
| | | void LinInterpWithConstraint(RooWorkspace* proto, TH1* nominal, std::ve | |
| | | ctor<HistoSys>, std::string prefix, std::string productPrefix, std::string | |
| | | systTerm, | |
| | | int lowBin, int highBin, std::vector<std::s | |
| | | tring>& likelihoodTermNames); | |
| | | | |
| TDirectory* Makedirs( TDirectory* file, std::vector<std::string> names
); | | TDirectory* Makedirs( TDirectory* file, std::vector<std::string> names
); | |
| | | | |
|
| RooWorkspace* MakeSingleChannelModel(std::vector<RooStats::HistFactory: | | //ES// RooWorkspace* MakeSingleChannelModel(std::vector<RooStats::HistF | |
| :EstimateSummary> summary, std::vector<std::string> systToFix, bool doRatio | | actory::EstimateSummary> summary, std::vector<std::string> systToFix, bool | |
| =false); | | doRatio=false); | |
| | | // GHL: Renaming to "MakeSingleChannelWorkspace" | |
| | | RooWorkspace* MakeSingleChannelWorkspace(Measurement& measurement, Chan | |
| | | nel& channel); | |
| | | | |
| void MakeTotalExpected(RooWorkspace* proto, std::string totName, std::
string /**/, std::string /**/, | | void MakeTotalExpected(RooWorkspace* proto, std::string totName, std::
string /**/, std::string /**/, | |
| int lowBin, int highBin, std::vector<std::string
>& syst_x_expectedPrefixNames, | | int lowBin, int highBin, std::vector<std::string
>& syst_x_expectedPrefixNames, | |
| std::vector<std::string>& normByNames); | | std::vector<std::string>& normByNames); | |
| | | | |
| TDirectory* Mkdir( TDirectory * file, std::string name ); | | TDirectory* Mkdir( TDirectory * file, std::string name ); | |
| | | | |
| static void PrintCovarianceMatrix(RooFitResult* result, RooArgSet* para
ms, std::string filename); | | static void PrintCovarianceMatrix(RooFitResult* result, RooArgSet* para
ms, std::string filename); | |
| void ProcessExpectedHisto(TH1* hist,RooWorkspace* proto, std::string pr
efix, std::string productPrefix, std::string systTerm, double low, double h
igh, int lowBin, int highBin); | | void ProcessExpectedHisto(TH1* hist,RooWorkspace* proto, std::string pr
efix, std::string productPrefix, std::string systTerm, double low, double h
igh, int lowBin, int highBin); | |
| void SetObsToExpected(RooWorkspace* proto, std::string obsPrefix, std::
string expPrefix, int lowBin, int highBin); | | void SetObsToExpected(RooWorkspace* proto, std::string obsPrefix, std::
string expPrefix, int lowBin, int highBin); | |
| | | | |
End of changes. 6 change blocks. |
| 12 lines changed or deleted | | 30 lines changed or added | |
|
| Measurement.h | | Measurement.h | |
| | | | |
| skipping to change at line 32 | | skipping to change at line 32 | |
| | | | |
| Measurement(); | | Measurement(); | |
| // Measurement( const Measurement& other ); // Copy | | // Measurement( const Measurement& other ); // Copy | |
| Measurement(const char* Name, const char* Title=""); | | Measurement(const char* Name, const char* Title=""); | |
| | | | |
| // std::string Name; | | // std::string Name; | |
| | | | |
| void SetOutputFilePrefix( const std::string& prefix ) { fOutputFilePrefix
= prefix; } | | void SetOutputFilePrefix( const std::string& prefix ) { fOutputFilePrefix
= prefix; } | |
| std::string GetOutputFilePrefix() { return fOutputFilePrefix; } | | std::string GetOutputFilePrefix() { return fOutputFilePrefix; } | |
| | | | |
|
| void SetPOI( const std::string& POI ) { fPOI = POI; } | | void SetPOI( const std::string& POI ) { fPOI.insert( fPOI.begin(), POI ); | |
| std::string GetPOI() { return fPOI; } | | } | |
| | | void AddPOI( const std::string& POI ) { fPOI.push_back(POI); } | |
| | | std::string GetPOI(unsigned int i=0) { return fPOI.at(i); } | |
| | | std::vector<std::string>& GetPOIList() { return fPOI; } | |
| | | | |
| // Add a parameter to be set as constant | | // Add a parameter to be set as constant | |
| // (Similar to ParamSetting method below) | | // (Similar to ParamSetting method below) | |
| void AddConstantParam( const std::string& param ); | | void AddConstantParam( const std::string& param ); | |
| void ClearConstantParams() { fConstantParams.clear(); } | | void ClearConstantParams() { fConstantParams.clear(); } | |
| std::vector< std::string >& GetConstantParams() { return fConstantParams;
} | | std::vector< std::string >& GetConstantParams() { return fConstantParams;
} | |
| | | | |
| // Set a parameter to a specific value | | // Set a parameter to a specific value | |
| // (And optionally fix it) | | // (And optionally fix it) | |
| void SetParamValue( const std::string& param, double value); | | void SetParamValue( const std::string& param, double value); | |
| | | | |
| skipping to change at line 104 | | skipping to change at line 106 | |
| | | | |
| std::map< std::string, double >& GetGammaSyst() { return fGammaSyst; } | | std::map< std::string, double >& GetGammaSyst() { return fGammaSyst; } | |
| std::map< std::string, double >& GetUniformSyst() { return fUniformSyst;
} | | std::map< std::string, double >& GetUniformSyst() { return fUniformSyst;
} | |
| std::map< std::string, double >& GetLogNormSyst() { return fLogNormSyst;
} | | std::map< std::string, double >& GetLogNormSyst() { return fLogNormSyst;
} | |
| std::map< std::string, double >& GetNoSyst() { return fNoSyst; } | | std::map< std::string, double >& GetNoSyst() { return fNoSyst; } | |
| | | | |
| private: | | private: | |
| | | | |
| // Configurables of this measurement | | // Configurables of this measurement | |
| std::string fOutputFilePrefix; | | std::string fOutputFilePrefix; | |
|
| std::string fPOI; | | std::vector<std::string> fPOI; | |
| double fLumi; | | double fLumi; | |
| double fLumiRelErr; | | double fLumiRelErr; | |
| int fBinLow; | | int fBinLow; | |
| int fBinHigh; | | int fBinHigh; | |
| bool fExportOnly; | | bool fExportOnly; | |
| std::string fInterpolationScheme; | | std::string fInterpolationScheme; | |
| | | | |
| // Channels that make up this measurement | | // Channels that make up this measurement | |
| std::vector< RooStats::HistFactory::Channel > fChannels; | | std::vector< RooStats::HistFactory::Channel > fChannels; | |
| | | | |
| | | | |
End of changes. 2 change blocks. |
| 3 lines changed or deleted | | 6 lines changed or added | |
|
| RooAbsCachedReal.h | | RooAbsCachedReal.h | |
| | | | |
| skipping to change at line 62 | | skipping to change at line 62 | |
| void disableCache(Bool_t flag) { | | void disableCache(Bool_t flag) { | |
| // Switch to disable caching mechanism | | // Switch to disable caching mechanism | |
| _disableCache = flag ; | | _disableCache = flag ; | |
| } | | } | |
| | | | |
| protected: | | protected: | |
| | | | |
| class FuncCacheElem : public RooAbsCacheElement { | | class FuncCacheElem : public RooAbsCacheElement { | |
| public: | | public: | |
| FuncCacheElem(const RooAbsCachedReal& self, const RooArgSet* nset) ; | | FuncCacheElem(const RooAbsCachedReal& self, const RooArgSet* nset) ; | |
|
| virtual ~FuncCacheElem() {} ; | | virtual ~FuncCacheElem() ; | |
| | | | |
| // Cache management functions | | // Cache management functions | |
| virtual RooArgList containedArgs(Action) ; | | virtual RooArgList containedArgs(Action) ; | |
| virtual void printCompactTreeHook(std::ostream&, const char *, Int_t, I
nt_t) ; | | virtual void printCompactTreeHook(std::ostream&, const char *, Int_t, I
nt_t) ; | |
| | | | |
| RooHistFunc* func() { return _func ; } | | RooHistFunc* func() { return _func ; } | |
| RooDataHist* hist() { return _hist ; } | | RooDataHist* hist() { return _hist ; } | |
| RooChangeTracker* paramTracker() { return _paramTracker ; } | | RooChangeTracker* paramTracker() { return _paramTracker ; } | |
| | | | |
|
| | | RooAbsReal* sourceClone() { return _sourceClone ; } | |
| | | void setSourceClone(RooAbsReal* newSource) { delete _sourceClone ; _sou | |
| | | rceClone = newSource ; } | |
| | | | |
| | | Bool_t cacheSource() { return _cacheSource ; } | |
| | | void setCacheSource(Bool_t flag) { _cacheSource = flag ; } | |
| | | | |
| private: | | private: | |
| // Payload | | // Payload | |
|
| RooHistFunc* _func ; | | RooHistFunc* _func ; | |
| RooChangeTracker* _paramTracker ; | | RooChangeTracker* _paramTracker ; | |
|
| RooDataHist* _hist ; | | RooDataHist* _hist ; | |
| | | RooAbsReal* _sourceClone ; | |
| | | Bool_t _cacheSource ; | |
| } ; | | } ; | |
| | | | |
| FuncCacheElem* getCache(const RooArgSet* nset) const ; | | FuncCacheElem* getCache(const RooArgSet* nset) const ; | |
| void clearCacheObject(FuncCacheElem& cache) const ; | | void clearCacheObject(FuncCacheElem& cache) const ; | |
| | | | |
| virtual const char* payloadUniqueSuffix() const { return 0 ; } | | virtual const char* payloadUniqueSuffix() const { return 0 ; } | |
| | | | |
| friend class FuncCacheElem ; | | friend class FuncCacheElem ; | |
| virtual const char* binningName() const { | | virtual const char* binningName() const { | |
| // Returns name of binning to be used for cache histogram creation | | // Returns name of binning to be used for cache histogram creation | |
| | | | |
End of changes. 4 change blocks. |
| 3 lines changed or deleted | | 12 lines changed or added | |
|
| RooAbsReal.h | | RooAbsReal.h | |
| | | | |
| skipping to change at line 65 | | skipping to change at line 65 | |
| // Constructors, assignment etc | | // Constructors, assignment etc | |
| RooAbsReal() ; | | RooAbsReal() ; | |
| RooAbsReal(const char *name, const char *title, const char *unit= "") ; | | RooAbsReal(const char *name, const char *title, const char *unit= "") ; | |
| RooAbsReal(const char *name, const char *title, Double_t minVal, Double_t
maxVal, | | RooAbsReal(const char *name, const char *title, Double_t minVal, Double_t
maxVal, | |
| const char *unit= "") ; | | const char *unit= "") ; | |
| RooAbsReal(const RooAbsReal& other, const char* name=0); | | RooAbsReal(const RooAbsReal& other, const char* name=0); | |
| virtual ~RooAbsReal(); | | virtual ~RooAbsReal(); | |
| | | | |
| // Return value and unit accessors | | // Return value and unit accessors | |
| inline Double_t getVal(const RooArgSet* set=0) const { | | inline Double_t getVal(const RooArgSet* set=0) const { | |
|
| /* if (_fast && !_inhibitDirty) std::cout << "RooAbsReal::getVal(" << Ge
tName() << ") CLEAN value = " << _value << std::endl ; */ | | /* if (_fast && !_inhibitDirty && std::string("RooHistFunc")==IsA()->Ge
tName()) std::cout << "RooAbsReal::getVal(" << GetName() << ") CLEAN value
= " << _value << std::endl ; */ | |
| #ifndef _WIN32 | | #ifndef _WIN32 | |
| return (_fast && !_inhibitDirty) ? _value : getValV(set) ; | | return (_fast && !_inhibitDirty) ? _value : getValV(set) ; | |
| #else | | #else | |
| return (_fast && !inhibitDirty()) ? _value : getValV(set) ; | | return (_fast && !inhibitDirty()) ? _value : getValV(set) ; | |
| #endif | | #endif | |
| } | | } | |
| inline Double_t getVal(const RooArgSet& set) const { return _fast ? _val
ue : getValV(&set) ; } | | inline Double_t getVal(const RooArgSet& set) const { return _fast ? _val
ue : getValV(&set) ; } | |
| | | | |
| virtual Double_t getValV(const RooArgSet* set=0) const ; | | virtual Double_t getValV(const RooArgSet* set=0) const ; | |
| | | | |
| | | | |
| skipping to change at line 365 | | skipping to change at line 365 | |
| // Hooks for RooDataSet interface | | // Hooks for RooDataSet interface | |
| friend class RooRealIntegral ; | | friend class RooRealIntegral ; | |
| friend class RooVectorDataStore ; | | friend class RooVectorDataStore ; | |
| virtual void syncCache(const RooArgSet* set=0) { getVal(set) ; } | | virtual void syncCache(const RooArgSet* set=0) { getVal(set) ; } | |
| virtual void copyCache(const RooAbsArg* source, Bool_t valueOnly=kFALSE,
Bool_t setValDirty=kTRUE) ; | | virtual void copyCache(const RooAbsArg* source, Bool_t valueOnly=kFALSE,
Bool_t setValDirty=kTRUE) ; | |
| virtual void attachToTree(TTree& t, Int_t bufSize=32000) ; | | virtual void attachToTree(TTree& t, Int_t bufSize=32000) ; | |
| virtual void attachToVStore(RooVectorDataStore& vstore) ; | | virtual void attachToVStore(RooVectorDataStore& vstore) ; | |
| virtual void setTreeBranchStatus(TTree& t, Bool_t active) ; | | virtual void setTreeBranchStatus(TTree& t, Bool_t active) ; | |
| virtual void fillTreeBranch(TTree& t) ; | | virtual void fillTreeBranch(TTree& t) ; | |
| | | | |
|
| | | friend class RooRealBinding ; | |
| Double_t _plotMin ; // Minimum of plot range | | Double_t _plotMin ; // Minimum of plot range | |
| Double_t _plotMax ; // Maximum of plot range | | Double_t _plotMax ; // Maximum of plot range | |
| Int_t _plotBins ; // Number of plot bins | | Int_t _plotBins ; // Number of plot bins | |
| mutable Double_t _value ; // Cache for current value of object | | mutable Double_t _value ; // Cache for current value of object | |
| TString _unit ; // Unit for objects value | | TString _unit ; // Unit for objects value | |
| TString _label ; // Plot label for objects value | | TString _label ; // Plot label for objects value | |
| Bool_t _forceNumInt ; // Force numerical integration if flag set | | Bool_t _forceNumInt ; // Force numerical integration if flag set | |
| | | | |
| mutable Float_t _floatValue ; //! Transient cache for floating point valu
es from tree branches | | mutable Float_t _floatValue ; //! Transient cache for floating point valu
es from tree branches | |
| mutable Int_t _intValue ; //! Transient cache for integer values from
tree branches | | mutable Int_t _intValue ; //! Transient cache for integer values from
tree branches | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 2 lines changed or added | |
|
| RooBinningCategory.h | | RooBinningCategory.h | |
| /**************************************************************************
*** | | /**************************************************************************
*** | |
| * Project: RooFit
* | | * Project: RooFit
* | |
| * Package: RooFitCore
* | | * Package: RooFitCore
* | |
|
| * File: $Id: RooBinningCategory.h 44982 2012-07-10 08:36:13Z moneta $ | | * File: $Id: RooBinningCategory.h 46575 2012-10-16 19:04:37Z wouter $ | |
| * Authors:
* | | * Authors:
* | |
| * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu
* | | * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu
* | |
| * DK, David Kirkby, UC Irvine, dkirkby@uci.edu
* | | * DK, David Kirkby, UC Irvine, dkirkby@uci.edu
* | |
| *
* | | *
* | |
| * Copyright (c) 2000-2005, Regents of the University of California
* | | * Copyright (c) 2000-2005, Regents of the University of California
* | |
| * and Stanford University. All rights reserved.
* | | * and Stanford University. All rights reserved.
* | |
| *
* | | *
* | |
| * Redistribution and use in source and binary forms,
* | | * Redistribution and use in source and binary forms,
* | |
| * with or without modification, are permitted according to the terms
* | | * with or without modification, are permitted according to the terms
* | |
| * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
* | | * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
* | |
| | | | |
| skipping to change at line 29 | | skipping to change at line 29 | |
| #include "TSortedList.h" | | #include "TSortedList.h" | |
| #include "RooAbsCategory.h" | | #include "RooAbsCategory.h" | |
| #include "RooRealProxy.h" | | #include "RooRealProxy.h" | |
| #include "RooCatType.h" | | #include "RooCatType.h" | |
| | | | |
| class RooBinningCategory : public RooAbsCategory { | | class RooBinningCategory : public RooAbsCategory { | |
| | | | |
| public: | | public: | |
| // Constructors etc. | | // Constructors etc. | |
| inline RooBinningCategory() { } | | inline RooBinningCategory() { } | |
|
| RooBinningCategory(const char *name, const char *title, RooAbsRealLValue&
inputVar, const char* binningName=0); | | RooBinningCategory(const char *name, const char *title, RooAbsRealLValue&
inputVar, const char* binningName=0, const char* catTypeName=0); | |
| RooBinningCategory(const RooBinningCategory& other, const char *name=0) ; | | RooBinningCategory(const RooBinningCategory& other, const char *name=0) ; | |
| virtual TObject* clone(const char* newname) const { return new RooBinning
Category(*this, newname); } | | virtual TObject* clone(const char* newname) const { return new RooBinning
Category(*this, newname); } | |
| virtual ~RooBinningCategory(); | | virtual ~RooBinningCategory(); | |
| | | | |
| // Printing interface (human readable) | | // Printing interface (human readable) | |
| virtual void printMultiline(std::ostream& os, Int_t content, Bool_t verbo
se=kFALSE, TString indent="") const ; | | virtual void printMultiline(std::ostream& os, Int_t content, Bool_t verbo
se=kFALSE, TString indent="") const ; | |
| | | | |
| protected: | | protected: | |
| | | | |
|
| void initialize() ; | | void initialize(const char* catTypeName=0) ; | |
| | | | |
| RooRealProxy _inputVar ; // Input variable that is mapped | | RooRealProxy _inputVar ; // Input variable that is mapped | |
| TString _bname ; // Name of the binning specification to be used
to perform the mapping | | TString _bname ; // Name of the binning specification to be used
to perform the mapping | |
| | | | |
| virtual RooCatType evaluate() const ; | | virtual RooCatType evaluate() const ; | |
| | | | |
| ClassDef(RooBinningCategory,1) // RealVar-to-Category function defined by
bin boundaries on input var | | ClassDef(RooBinningCategory,1) // RealVar-to-Category function defined by
bin boundaries on input var | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 3 lines changed or deleted | | 3 lines changed or added | |
|
| RooCachedReal.h | | RooCachedReal.h | |
| | | | |
| skipping to change at line 21 | | skipping to change at line 21 | |
| | | | |
| #ifndef ROOCACHEDREAL | | #ifndef ROOCACHEDREAL | |
| #define ROOCACHEDREAL | | #define ROOCACHEDREAL | |
| | | | |
| #include "RooAbsCachedReal.h" | | #include "RooAbsCachedReal.h" | |
| #include "RooRealProxy.h" | | #include "RooRealProxy.h" | |
| #include "RooAbsReal.h" | | #include "RooAbsReal.h" | |
| | | | |
| class RooCachedReal : public RooAbsCachedReal { | | class RooCachedReal : public RooAbsCachedReal { | |
| public: | | public: | |
|
| RooCachedReal() { | | RooCachedReal() : _cacheSource(kFALSE) { | |
| // coverity[UNINIT_CTOR] | | // coverity[UNINIT_CTOR] | |
| } | | } | |
| RooCachedReal(const char *name, const char *title, RooAbsReal& _func, con
st RooArgSet& cacheObs); | | RooCachedReal(const char *name, const char *title, RooAbsReal& _func, con
st RooArgSet& cacheObs); | |
| RooCachedReal(const char *name, const char *title, RooAbsReal& _func); | | RooCachedReal(const char *name, const char *title, RooAbsReal& _func); | |
| RooCachedReal(const RooCachedReal& other, const char* name=0) ; | | RooCachedReal(const RooCachedReal& other, const char* name=0) ; | |
| virtual TObject* clone(const char* newname) const { return new RooCachedR
eal(*this,newname); } | | virtual TObject* clone(const char* newname) const { return new RooCachedR
eal(*this,newname); } | |
| virtual ~RooCachedReal() ; | | virtual ~RooCachedReal() ; | |
| | | | |
| void setCdfBoundaries(Bool_t flag) { | | void setCdfBoundaries(Bool_t flag) { | |
| // If flag is true the RooHistFunc that represent the cache histogram | | // If flag is true the RooHistFunc that represent the cache histogram | |
| // will use special boundary conditions for use with cumulative distrib
ution | | // will use special boundary conditions for use with cumulative distrib
ution | |
| // functions: at the lower bound the function is forced to converge at
zero and the upper | | // functions: at the lower bound the function is forced to converge at
zero and the upper | |
| // bound is the function is forced to converge at 1.0 | | // bound is the function is forced to converge at 1.0 | |
| _useCdfBoundaries = flag ; | | _useCdfBoundaries = flag ; | |
| } | | } | |
| Bool_t getCdfBoundaries() const { | | Bool_t getCdfBoundaries() const { | |
| // If true the c.d.f boundary mode is active | | // If true the c.d.f boundary mode is active | |
| return _useCdfBoundaries ; | | return _useCdfBoundaries ; | |
| } | | } | |
| | | | |
|
| | | Bool_t cacheSource() const { return _cacheSource ; } | |
| | | void setCacheSource(Bool_t flag) { _cacheSource = flag ; } | |
| | | | |
| protected: | | protected: | |
| | | | |
| virtual const char* inputBaseName() const { | | virtual const char* inputBaseName() const { | |
| // Return base name for caches, i.e. the name of the cached function | | // Return base name for caches, i.e. the name of the cached function | |
| return func.arg().GetName() ; | | return func.arg().GetName() ; | |
| } ; | | } ; | |
| virtual RooArgSet* actualObservables(const RooArgSet& nset) const ; | | virtual RooArgSet* actualObservables(const RooArgSet& nset) const ; | |
| virtual RooArgSet* actualParameters(const RooArgSet& nset) const ; | | virtual RooArgSet* actualParameters(const RooArgSet& nset) const ; | |
| virtual void fillCacheObject(FuncCacheElem& cacheFunc) const ; | | virtual void fillCacheObject(FuncCacheElem& cacheFunc) const ; | |
| virtual Double_t evaluate() const { | | virtual Double_t evaluate() const { | |
| // Dummy evaluate, it is never called | | // Dummy evaluate, it is never called | |
| return func ; | | return func ; | |
| } | | } | |
| | | | |
| void operModeHook() ; | | void operModeHook() ; | |
| | | | |
|
| | | virtual FuncCacheElem* createCache(const RooArgSet* nset) const ; | |
| | | | |
| virtual const char* payloadUniqueSuffix() const { return func.arg().aggre
gateCacheUniqueSuffix() ; } | | virtual const char* payloadUniqueSuffix() const { return func.arg().aggre
gateCacheUniqueSuffix() ; } | |
| | | | |
| RooRealProxy func ; // Proxy to function being cached | | RooRealProxy func ; // Proxy to function being cached | |
| RooSetProxy _cacheObs ; // Variables to be cached | | RooSetProxy _cacheObs ; // Variables to be cached | |
| Bool_t _useCdfBoundaries ; // Are c.d.f boundary conditions used by th
e RooHistFuncs? | | Bool_t _useCdfBoundaries ; // Are c.d.f boundary conditions used by th
e RooHistFuncs? | |
|
| | | Bool_t _cacheSource ; // Keep an attached clone of the source in
the cache for fast operation | |
| | | | |
| private: | | private: | |
| | | | |
|
| ClassDef(RooCachedReal,1) // P.d.f class that wraps another p.d.f and cac
hes its output | | ClassDef(RooCachedReal,2) // P.d.f class that wraps another p.d.f and cac
hes its output | |
| | | | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 5 change blocks. |
| 2 lines changed or deleted | | 8 lines changed or added | |
|
| RooGlobalFunc.h | | RooGlobalFunc.h | |
| | | | |
| skipping to change at line 119 | | skipping to change at line 119 | |
| RooCmdArg Efficiency(const RooCategory& cat) ; | | RooCmdArg Efficiency(const RooCategory& cat) ; | |
| RooCmdArg Rescale(Double_t factor) ; | | RooCmdArg Rescale(Double_t factor) ; | |
| | | | |
| // RooDataHist::ctor arguments | | // RooDataHist::ctor arguments | |
| RooCmdArg Weight(Double_t wgt) ; | | RooCmdArg Weight(Double_t wgt) ; | |
| RooCmdArg Index(RooCategory& icat) ; | | RooCmdArg Index(RooCategory& icat) ; | |
| RooCmdArg Import(const char* state, TH1& histo) ; | | RooCmdArg Import(const char* state, TH1& histo) ; | |
| RooCmdArg Import(const std::map<std::string,TH1*>&) ; | | RooCmdArg Import(const std::map<std::string,TH1*>&) ; | |
| RooCmdArg Import(const char* state, RooDataHist& dhist) ; | | RooCmdArg Import(const char* state, RooDataHist& dhist) ; | |
| RooCmdArg Import(const std::map<std::string,RooDataHist*>&) ; | | RooCmdArg Import(const std::map<std::string,RooDataHist*>&) ; | |
|
| RooCmdArg Import(TH1& histo, Bool_t importDensity=kTRUE) ; | | RooCmdArg Import(TH1& histo, Bool_t importDensity=kFALSE) ; | |
| | | | |
| // RooDataSet::ctor arguments | | // RooDataSet::ctor arguments | |
|
| RooCmdArg WeightVar(const char* name) ; | | RooCmdArg WeightVar(const char* name, Bool_t reinterpretAsWeight=kFALSE) ; | |
| RooCmdArg WeightVar(const RooRealVar& arg) ; | | RooCmdArg WeightVar(const RooRealVar& arg, Bool_t reinterpretAsWeight=kFALS | |
| | | E) ; | |
| RooCmdArg Import(const char* state, RooDataSet& data) ; | | RooCmdArg Import(const char* state, RooDataSet& data) ; | |
| RooCmdArg Import(const std::map<std::string,RooDataSet*>& ) ; | | RooCmdArg Import(const std::map<std::string,RooDataSet*>& ) ; | |
| RooCmdArg Link(const char* state, RooAbsData& data) ; | | RooCmdArg Link(const char* state, RooAbsData& data) ; | |
| RooCmdArg Link(const std::map<std::string,RooAbsData*>&) ; | | RooCmdArg Link(const std::map<std::string,RooAbsData*>&) ; | |
| RooCmdArg Import(RooDataSet& data) ; | | RooCmdArg Import(RooDataSet& data) ; | |
| RooCmdArg Import(TTree& tree) ; | | RooCmdArg Import(TTree& tree) ; | |
| RooCmdArg ImportFromFile(const char* fname, const char* tname) ; | | RooCmdArg ImportFromFile(const char* fname, const char* tname) ; | |
| RooCmdArg StoreError(const RooArgSet& aset) ; | | RooCmdArg StoreError(const RooArgSet& aset) ; | |
| RooCmdArg StoreAsymError(const RooArgSet& aset) ; | | RooCmdArg StoreAsymError(const RooArgSet& aset) ; | |
| RooCmdArg OwnLinked() ; | | RooCmdArg OwnLinked() ; | |
| | | | |
End of changes. 2 change blocks. |
| 3 lines changed or deleted | | 4 lines changed or added | |
|
| RooPlot.h | | RooPlot.h | |
| | | | |
| skipping to change at line 174 | | skipping to change at line 174 | |
| | | | |
| Double_t chiSquare(int nFitParam=0) const { return chiSquare(0,0,nFitPara
m) ; } | | Double_t chiSquare(int nFitParam=0) const { return chiSquare(0,0,nFitPara
m) ; } | |
| Double_t chiSquare(const char* pdfname, const char* histname, int nFitPar
am=0) const ; | | Double_t chiSquare(const char* pdfname, const char* histname, int nFitPar
am=0) const ; | |
| | | | |
| RooHist* residHist(const char* histname=0, const char* pdfname=0,bool nor
malize=false, bool useAverage=kFALSE) const ; | | RooHist* residHist(const char* histname=0, const char* pdfname=0,bool nor
malize=false, bool useAverage=kFALSE) const ; | |
| RooHist* pullHist(const char* histname=0, const char* pdfname=0, bool use
Average=false) const | | RooHist* pullHist(const char* histname=0, const char* pdfname=0, bool use
Average=false) const | |
| { return residHist(histname,pdfname,true,useAverage); } | | { return residHist(histname,pdfname,true,useAverage); } | |
| | | | |
| void Browse(TBrowser *b) ; | | void Browse(TBrowser *b) ; | |
| | | | |
|
| | | static Bool_t addDirectoryStatus() ; | |
| | | static Bool_t setAddDirectoryStatus(Bool_t flag) ; | |
| | | | |
| protected: | | protected: | |
| | | | |
| RooPlot(const RooPlot& other); // cannot be copied | | RooPlot(const RooPlot& other); // cannot be copied | |
| | | | |
| class DrawOpt { | | class DrawOpt { | |
| public: | | public: | |
| | | | |
| DrawOpt(const char* _rawOpt=0) : invisible(kFALSE) { drawOptions[0] = 0
; initialize(_rawOpt) ; } | | DrawOpt(const char* _rawOpt=0) : invisible(kFALSE) { drawOptions[0] = 0
; initialize(_rawOpt) ; } | |
| void initialize(const char* _rawOpt) ; | | void initialize(const char* _rawOpt) ; | |
| const char* rawOpt() const ; | | const char* rawOpt() const ; | |
| | | | |
| skipping to change at line 215 | | skipping to change at line 218 | |
| Double_t _normNumEvts; // Number of events in histogram (for normaliz
ation) | | Double_t _normNumEvts; // Number of events in histogram (for normaliz
ation) | |
| Double_t _normBinWidth; // Histogram bin width (for normalization) | | Double_t _normBinWidth; // Histogram bin width (for normalization) | |
| | | | |
| TIterator *_iterator; //! non-persistent | | TIterator *_iterator; //! non-persistent | |
| | | | |
| Double_t _defYmin ; // Default minimum for Yaxis (as calculated fr
om contents) | | Double_t _defYmin ; // Default minimum for Yaxis (as calculated fr
om contents) | |
| Double_t _defYmax ; // Default maximum for Yaxis (as calculated fr
om contents) | | Double_t _defYmax ; // Default maximum for Yaxis (as calculated fr
om contents) | |
| | | | |
| TDirectory* _dir ; //! non-persistent | | TDirectory* _dir ; //! non-persistent | |
| | | | |
|
| | | static Bool_t _addDirStatus ; // static flag controlling AutoDirectoryAdd | |
| | | feature | |
| | | | |
| ClassDef(RooPlot,2) // Plot frame and container for graphics objec
ts | | ClassDef(RooPlot,2) // Plot frame and container for graphics objec
ts | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 6 lines changed or added | |
|
| RooProdPdf.h | | RooProdPdf.h | |
| | | | |
| skipping to change at line 96 | | skipping to change at line 96 | |
| virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for
ce=kFALSE) ; | | virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for
ce=kFALSE) ; | |
| void fixRefRange(const char* rangeName) ; | | void fixRefRange(const char* rangeName) ; | |
| | | | |
| void setSelfNormalized(Bool_t flag) { _selfNorm = flag ; } | | void setSelfNormalized(Bool_t flag) { _selfNorm = flag ; } | |
| void setDefNormSet(const RooArgSet& nset) { _defNormSet.removeAll() ; _de
fNormSet.addClone(nset) ; } | | void setDefNormSet(const RooArgSet& nset) { _defNormSet.removeAll() ; _de
fNormSet.addClone(nset) ; } | |
| | | | |
| Bool_t redirectServersHook(const RooAbsCollection& /*newServerList*/, Boo
l_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive*/) ; | | Bool_t redirectServersHook(const RooAbsCollection& /*newServerList*/, Boo
l_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive*/) ; | |
| | | | |
| RooArgSet* getConnectedParameters(const RooArgSet& observables) const ; | | RooArgSet* getConnectedParameters(const RooArgSet& observables) const ; | |
| | | | |
|
| | | RooArgSet* findPdfNSet(RooAbsPdf& pdf) const ; | |
| | | | |
| protected: | | protected: | |
| | | | |
| RooAbsReal* makeCondPdfRatioCorr(RooAbsReal& term, const RooArgSet& termN
set, const RooArgSet& termImpSet, const char* normRange, const char* refRan
ge) const ; | | RooAbsReal* makeCondPdfRatioCorr(RooAbsReal& term, const RooArgSet& termN
set, const RooArgSet& termImpSet, const char* normRange, const char* refRan
ge) const ; | |
| | | | |
| virtual void getParametersHook(const RooArgSet* /*nset*/, RooArgSet* /*li
st*/, Bool_t stripDisconnected) const ; | | virtual void getParametersHook(const RooArgSet* /*nset*/, RooArgSet* /*li
st*/, Bool_t stripDisconnected) const ; | |
| | | | |
| void initializeFromCmdArgList(const RooArgSet& fullPdfSet, const RooLinke
dList& l) ; | | void initializeFromCmdArgList(const RooArgSet& fullPdfSet, const RooLinke
dList& l) ; | |
| | | | |
| void factorizeProduct(const RooArgSet& normSet, const RooArgSet& intSet, | | void factorizeProduct(const RooArgSet& normSet, const RooArgSet& intSet, | |
| RooLinkedList& termList, RooLinkedList& normList, | | RooLinkedList& termList, RooLinkedList& normList, | |
| | | | |
| skipping to change at line 152 | | skipping to change at line 154 | |
| void rearrangeProduct(CacheElem&) const; | | void rearrangeProduct(CacheElem&) const; | |
| RooAbsReal* specializeIntegral(RooAbsReal& orig, const char* targetRangeN
ame) const ; | | RooAbsReal* specializeIntegral(RooAbsReal& orig, const char* targetRangeN
ame) const ; | |
| RooAbsReal* specializeRatio(RooFormulaVar& input, const char* targetRange
Name) const ; | | RooAbsReal* specializeRatio(RooFormulaVar& input, const char* targetRange
Name) const ; | |
| Double_t calculate(const RooProdPdf::CacheElem& cache, Bool_t verbose=kFA
LSE) const ; | | Double_t calculate(const RooProdPdf::CacheElem& cache, Bool_t verbose=kFA
LSE) const ; | |
| Double_t calculate(const RooArgList* partIntList, const RooLinkedList* no
rmSetList) const ; | | Double_t calculate(const RooArgList* partIntList, const RooLinkedList* no
rmSetList) const ; | |
| | | | |
| friend class RooProdGenContext ; | | friend class RooProdGenContext ; | |
| virtual RooAbsGenContext* genContext(const RooArgSet &vars, const RooData
Set *prototype=0, | | virtual RooAbsGenContext* genContext(const RooArgSet &vars, const RooData
Set *prototype=0, | |
| const RooArgSet *auxProto=0, Bool_t v
erbose= kFALSE) const ; | | const RooArgSet *auxProto=0, Bool_t v
erbose= kFALSE) const ; | |
| | | | |
|
| RooArgSet* findPdfNSet(RooAbsPdf& pdf) const ; | | | |
| | | | |
| mutable RooAICRegistry _genCode ; //! Registry of composite direct genera
tor codes | | mutable RooAICRegistry _genCode ; //! Registry of composite direct genera
tor codes | |
| | | | |
| mutable RooArgSet* _curNormSet ; //! | | mutable RooArgSet* _curNormSet ; //! | |
| Double_t _cutOff ; // Cutoff parameter for running product | | Double_t _cutOff ; // Cutoff parameter for running product | |
| RooListProxy _pdfList ; // List of PDF components | | RooListProxy _pdfList ; // List of PDF components | |
| RooLinkedList _pdfNSetList ; // List of PDF component normalization sets | | RooLinkedList _pdfNSetList ; // List of PDF component normalization sets | |
| TIterator* _pdfIter ; //! Iterator of PDF list | | TIterator* _pdfIter ; //! Iterator of PDF list | |
| Int_t _extendedIndex ; // Index of extended PDF (if any) | | Int_t _extendedIndex ; // Index of extended PDF (if any) | |
| | | | |
| void useDefaultGen(Bool_t flag=kTRUE) { _useDefaultGen = flag ; } | | void useDefaultGen(Bool_t flag=kTRUE) { _useDefaultGen = flag ; } | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 2 lines changed or added | |
|
| RooProduct.h | | RooProduct.h | |
| | | | |
| skipping to change at line 20 | | skipping to change at line 20 | |
| * and Stanford University. All rights reserved.
* | | * and Stanford University. All rights reserved.
* | |
| *
* | | *
* | |
| * Redistribution and use in source and binary forms,
* | | * Redistribution and use in source and binary forms,
* | |
| * with or without modification, are permitted according to the terms
* | | * with or without modification, are permitted according to the terms
* | |
| * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
* | | * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
* | |
| **************************************************************************
***/ | | **************************************************************************
***/ | |
| #ifndef ROO_PRODUCT | | #ifndef ROO_PRODUCT | |
| #define ROO_PRODUCT | | #define ROO_PRODUCT | |
| | | | |
| #include "RooAbsReal.h" | | #include "RooAbsReal.h" | |
|
| #include "RooSetProxy.h" | | #include "RooListProxy.h" | |
| #include "RooCacheManager.h" | | #include "RooCacheManager.h" | |
| #include "RooObjCacheManager.h" | | #include "RooObjCacheManager.h" | |
| | | | |
| #include <vector> | | #include <vector> | |
| #include <utility> | | #include <utility> | |
| | | | |
| class RooRealVar; | | class RooRealVar; | |
| class RooArgList ; | | class RooArgList ; | |
| | | | |
| class RooProduct : public RooAbsReal { | | class RooProduct : public RooAbsReal { | |
| public: | | public: | |
| | | | |
| RooProduct() ; | | RooProduct() ; | |
|
| RooProduct(const char *name, const char *title, const RooArgSet& _prodSet
) ; | | RooProduct(const char *name, const char *title, const RooArgList& _prodSe
t) ; | |
| | | | |
| RooProduct(const RooProduct& other, const char* name = 0); | | RooProduct(const RooProduct& other, const char* name = 0); | |
| virtual TObject* clone(const char* newname) const { return new RooProduct
(*this, newname); } | | virtual TObject* clone(const char* newname) const { return new RooProduct
(*this, newname); } | |
| virtual Bool_t forceAnalyticalInt(const RooAbsArg& dep) const ; | | virtual Bool_t forceAnalyticalInt(const RooAbsArg& dep) const ; | |
| virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& anal
Vars, | | virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& anal
Vars, | |
| const RooArgSet* normSet
, | | const RooArgSet* normSet
, | |
| const char* rangeName=0)
const ; | | const char* rangeName=0)
const ; | |
| virtual Double_t analyticalIntegral(Int_t code, const char* rangeName=0)
const; | | virtual Double_t analyticalIntegral(Int_t code, const char* rangeName=0)
const; | |
| | | | |
| RooArgSet components() { RooArgSet tmp(_compRSet) ; tmp.add(_compCSet) ;
return tmp ; } | | RooArgSet components() { RooArgSet tmp(_compRSet) ; tmp.add(_compCSet) ;
return tmp ; } | |
| | | | |
| skipping to change at line 58 | | skipping to change at line 58 | |
| class ProdMap ; | | class ProdMap ; | |
| | | | |
| void printMetaArgs(std::ostream& os) const ; | | void printMetaArgs(std::ostream& os) const ; | |
| | | | |
| virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& /*obs*/, Dou
ble_t /*xlo*/, Double_t /*xhi*/) const ; | | virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& /*obs*/, Dou
ble_t /*xlo*/, Double_t /*xhi*/) const ; | |
| virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& /*obs*/,
Double_t /*xlo*/, Double_t /*xhi*/) const ; | | virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& /*obs*/,
Double_t /*xlo*/, Double_t /*xhi*/) const ; | |
| virtual Bool_t isBinnedDistribution(const RooArgSet& obs) const ; | | virtual Bool_t isBinnedDistribution(const RooArgSet& obs) const ; | |
| | | | |
| protected: | | protected: | |
| | | | |
|
| RooSetProxy _compRSet ; | | RooListProxy _compRSet ; | |
| RooSetProxy _compCSet ; | | RooListProxy _compCSet ; | |
| TIterator* _compRIter ; //! do not persist | | TIterator* _compRIter ; //! do not persist | |
| TIterator* _compCIter ; //! do not persist | | TIterator* _compCIter ; //! do not persist | |
| | | | |
| class CacheElem : public RooAbsCacheElement { | | class CacheElem : public RooAbsCacheElement { | |
| public: | | public: | |
| virtual ~CacheElem(); | | virtual ~CacheElem(); | |
| // Payload | | // Payload | |
| RooArgList _prodList ; | | RooArgList _prodList ; | |
| RooArgList _ownedList ; | | RooArgList _ownedList ; | |
| virtual RooArgList containedArgs(Action) ; | | virtual RooArgList containedArgs(Action) ; | |
| }; | | }; | |
| mutable RooObjCacheManager _cacheMgr ; // The cache manager | | mutable RooObjCacheManager _cacheMgr ; // The cache manager | |
| | | | |
| Double_t calculate(const RooArgList& partIntList) const; | | Double_t calculate(const RooArgList& partIntList) const; | |
| Double_t evaluate() const; | | Double_t evaluate() const; | |
| const char* makeFPName(const char *pfx,const RooArgSet& terms) const ; | | const char* makeFPName(const char *pfx,const RooArgSet& terms) const ; | |
| ProdMap* groupProductTerms(const RooArgSet&) const; | | ProdMap* groupProductTerms(const RooArgSet&) const; | |
| Int_t getPartIntList(const RooArgSet* iset, const char *rangeName=0) cons
t; | | Int_t getPartIntList(const RooArgSet* iset, const char *rangeName=0) cons
t; | |
| | | | |
|
| ClassDef(RooProduct,1) // Product of RooAbsReal and/or RooAbsCategory ter
ms | | ClassDef(RooProduct,2) // Product of RooAbsReal and/or RooAbsCategory ter
ms | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 4 change blocks. |
| 5 lines changed or deleted | | 5 lines changed or added | |
|
| RooRealBinding.h | | RooRealBinding.h | |
| | | | |
| skipping to change at line 20 | | skipping to change at line 20 | |
| * and Stanford University. All rights reserved.
* | | * and Stanford University. All rights reserved.
* | |
| *
* | | *
* | |
| * Redistribution and use in source and binary forms,
* | | * Redistribution and use in source and binary forms,
* | |
| * with or without modification, are permitted according to the terms
* | | * with or without modification, are permitted according to the terms
* | |
| * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
* | | * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
* | |
| **************************************************************************
***/ | | **************************************************************************
***/ | |
| #ifndef ROO_REAL_BINDING | | #ifndef ROO_REAL_BINDING | |
| #define ROO_REAL_BINDING | | #define ROO_REAL_BINDING | |
| | | | |
| #include "RooAbsFunc.h" | | #include "RooAbsFunc.h" | |
|
| | | #include <list> | |
| | | | |
| class RooAbsRealLValue; | | class RooAbsRealLValue; | |
| class RooAbsReal; | | class RooAbsReal; | |
| class RooArgSet; | | class RooArgSet; | |
| | | | |
| class RooRealBinding : public RooAbsFunc { | | class RooRealBinding : public RooAbsFunc { | |
| public: | | public: | |
| RooRealBinding(const RooAbsReal& func, const RooArgSet &vars, const RooAr
gSet* nset=0, Bool_t clipInvalid=kFALSE, const TNamed* rangeName=0); | | RooRealBinding(const RooAbsReal& func, const RooArgSet &vars, const RooAr
gSet* nset=0, Bool_t clipInvalid=kFALSE, const TNamed* rangeName=0); | |
| RooRealBinding(const RooRealBinding& other, const RooArgSet* nset=0) ; | | RooRealBinding(const RooRealBinding& other, const RooArgSet* nset=0) ; | |
| virtual ~RooRealBinding(); | | virtual ~RooRealBinding(); | |
| | | | |
| skipping to change at line 54 | | skipping to change at line 55 | |
| | | | |
| void loadValues(const Double_t xvector[]) const; | | void loadValues(const Double_t xvector[]) const; | |
| const RooAbsReal *_func; | | const RooAbsReal *_func; | |
| RooAbsRealLValue **_vars; | | RooAbsRealLValue **_vars; | |
| const RooArgSet *_nset; | | const RooArgSet *_nset; | |
| mutable Bool_t _xvecValid; | | mutable Bool_t _xvecValid; | |
| Bool_t _clipInvalid ; | | Bool_t _clipInvalid ; | |
| mutable Double_t* _xsave ; | | mutable Double_t* _xsave ; | |
| const TNamed* _rangeName ; //! | | const TNamed* _rangeName ; //! | |
| | | | |
|
| | | mutable std::list<RooAbsReal*> _compList ; //! | |
| | | mutable std::list<Double_t> _compSave ; //! | |
| | | mutable Double_t _funcSave ; //! | |
| | | | |
| ClassDef(RooRealBinding,0) // Function binding to RooAbsReal object | | ClassDef(RooRealBinding,0) // Function binding to RooAbsReal object | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 5 lines changed or added | |
|
| RooRealSumPdf.h | | RooRealSumPdf.h | |
| | | | |
| skipping to change at line 61 | | skipping to change at line 61 | |
| // which is the sum of all coefficients | | // which is the sum of all coefficients | |
| return expectedEvents(&nset) ; | | return expectedEvents(&nset) ; | |
| } | | } | |
| | | | |
| void printMetaArgs(std::ostream& os) const ; | | void printMetaArgs(std::ostream& os) const ; | |
| | | | |
| virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& /*obs*/, Dou
ble_t /*xlo*/, Double_t /*xhi*/) const ; | | virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& /*obs*/, Dou
ble_t /*xlo*/, Double_t /*xhi*/) const ; | |
| virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& /*obs*/,
Double_t /*xlo*/, Double_t /*xhi*/) const ; | | virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& /*obs*/,
Double_t /*xlo*/, Double_t /*xhi*/) const ; | |
| Bool_t isBinnedDistribution(const RooArgSet& obs) const ; | | Bool_t isBinnedDistribution(const RooArgSet& obs) const ; | |
| | | | |
|
| | | void setFloor(Bool_t flag) { _doFloor = flag ; } | |
| | | Bool_t getFloor() const { return _doFloor ; } | |
| | | static void setFloorGlobal(Bool_t flag) { _doFloorGlobal = flag ; } | |
| | | static Bool_t getFloorGlobal() { return _doFloorGlobal ; } | |
| | | | |
| protected: | | protected: | |
| | | | |
| class CacheElem : public RooAbsCacheElement { | | class CacheElem : public RooAbsCacheElement { | |
| public: | | public: | |
| CacheElem() {} ; | | CacheElem() {} ; | |
| virtual ~CacheElem() {} ; | | virtual ~CacheElem() {} ; | |
| virtual RooArgList containedArgs(Action) { RooArgList ret(_funcIntList)
; ret.add(_funcNormList) ; return ret ; } | | virtual RooArgList containedArgs(Action) { RooArgList ret(_funcIntList)
; ret.add(_funcNormList) ; return ret ; } | |
| RooArgList _funcIntList ; | | RooArgList _funcIntList ; | |
| RooArgList _funcNormList ; | | RooArgList _funcNormList ; | |
| } ; | | } ; | |
| mutable RooObjCacheManager _normIntMgr ; // The integration cache manager | | mutable RooObjCacheManager _normIntMgr ; // The integration cache manager | |
| | | | |
| Bool_t _haveLastCoef ; | | Bool_t _haveLastCoef ; | |
| | | | |
| RooListProxy _funcList ; // List of component FUNCs | | RooListProxy _funcList ; // List of component FUNCs | |
| RooListProxy _coefList ; // List of coefficients | | RooListProxy _coefList ; // List of coefficients | |
| TIterator* _funcIter ; //! Iterator over FUNC list | | TIterator* _funcIter ; //! Iterator over FUNC list | |
| TIterator* _coefIter ; //! Iterator over coefficient list | | TIterator* _coefIter ; //! Iterator over coefficient list | |
| Bool_t _extended ; // Allow use as extended p.d.f. | | Bool_t _extended ; // Allow use as extended p.d.f. | |
| | | | |
|
| | | Bool_t _doFloor ; // Introduce floor at zero in pdf | |
| | | static Bool_t _doFloorGlobal ; // Global flag for introducing floor at ze | |
| | | ro in pdf | |
| | | | |
| private: | | private: | |
| | | | |
|
| ClassDef(RooRealSumPdf,2) // PDF constructed from a sum of (non-pdf) func
tions | | ClassDef(RooRealSumPdf,3) // PDF constructed from a sum of (non-pdf) func
tions | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 10 lines changed or added | |
|
| RooStatsUtils.h | | RooStatsUtils.h | |
|
| // @(#)root/roostats:$Id: RooStatsUtils.h 44157 2012-05-07 16:41:44Z moneta
$ | | // @(#)root/roostats:$Id: RooStatsUtils.h 46661 2012-10-18 19:48:16Z moneta
$ | |
| // Author: Kyle Cranmer 28/07/2008 | | // Author: Kyle Cranmer 28/07/2008 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 61 | | skipping to change at line 61 | |
| inline void RemoveConstantParameters(RooArgSet* set){ | | inline void RemoveConstantParameters(RooArgSet* set){ | |
| RooArgSet constSet; | | RooArgSet constSet; | |
| RooLinkedListIter it = set->iterator(); | | RooLinkedListIter it = set->iterator(); | |
| RooRealVar *myarg; | | RooRealVar *myarg; | |
| while ((myarg = (RooRealVar *)it.Next())) { | | while ((myarg = (RooRealVar *)it.Next())) { | |
| if(myarg->isConstant()) constSet.add(*myarg); | | if(myarg->isConstant()) constSet.add(*myarg); | |
| } | | } | |
| set->remove(constSet); | | set->remove(constSet); | |
| } | | } | |
| | | | |
|
| inline bool SetAllConstant(const RooAbsCollection &coll, bool constant = | | inline void RemoveConstantParameters(RooArgList& set){ | |
| true) { | | RooArgSet constSet; | |
| | | RooLinkedListIter it = set.iterator(); | |
| | | RooRealVar *myarg; | |
| | | while ((myarg = (RooRealVar *)it.Next())) { | |
| | | if(myarg->isConstant()) constSet.add(*myarg); | |
| | | } | |
| | | set.remove(constSet); | |
| | | } | |
| | | | |
| | | inline bool SetAllConstant(const RooAbsCollection &coll, bool constant = | |
| | | true) { | |
| // utility function to set all variable constant in a collection | | // utility function to set all variable constant in a collection | |
| // (from G. Petrucciani) | | // (from G. Petrucciani) | |
| bool changed = false; | | bool changed = false; | |
| RooLinkedListIter iter = coll.iterator(); | | RooLinkedListIter iter = coll.iterator(); | |
| for (RooAbsArg *a = (RooAbsArg *) iter.Next(); a != 0; a = (RooAbsAr
g *) iter.Next()) { | | for (RooAbsArg *a = (RooAbsArg *) iter.Next(); a != 0; a = (RooAbsAr
g *) iter.Next()) { | |
| RooRealVar *v = dynamic_cast<RooRealVar *>(a); | | RooRealVar *v = dynamic_cast<RooRealVar *>(a); | |
| if (v && (v->isConstant() != constant)) { | | if (v && (v->isConstant() != constant)) { | |
| changed = true; | | changed = true; | |
| v->setConstant(constant); | | v->setConstant(constant); | |
| } | | } | |
| | | | |
End of changes. 2 change blocks. |
| 3 lines changed or deleted | | 13 lines changed or added | |
|
| RooVectorDataStore.h | | RooVectorDataStore.h | |
| /**************************************************************************
*** | | /**************************************************************************
*** | |
| * Project: RooFit
* | | * Project: RooFit
* | |
| * Package: RooFitCore
* | | * Package: RooFitCore
* | |
|
| * File: $Id: RooVectorDataStore.h 44982 2012-07-10 08:36:13Z moneta $ | | * File: $Id: RooVectorDataStore.h 46567 2012-10-16 15:19:24Z wouter $ | |
| * Authors:
* | | * Authors:
* | |
| * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu
* | | * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu
* | |
| * DK, David Kirkby, UC Irvine, dkirkby@uci.edu
* | | * DK, David Kirkby, UC Irvine, dkirkby@uci.edu
* | |
| *
* | | *
* | |
| * Copyright (c) 2000-2005, Regents of the University of California
* | | * Copyright (c) 2000-2005, Regents of the University of California
* | |
| * and Stanford University. All rights reserved.
* | | * and Stanford University. All rights reserved.
* | |
| *
* | | *
* | |
| * Redistribution and use in source and binary forms,
* | | * Redistribution and use in source and binary forms,
* | |
| * with or without modification, are permitted according to the terms
* | | * with or without modification, are permitted according to the terms
* | |
| * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
* | | * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
* | |
| | | | |
| skipping to change at line 130 | | skipping to change at line 130 | |
| } | | } | |
| } | | } | |
| | | | |
| //virtual void checkInit() const; | | //virtual void checkInit() const; | |
| | | | |
| const RooArgSet& row() { return _varsww ; } | | const RooArgSet& row() { return _varsww ; } | |
| | | | |
| class RealVector { | | class RealVector { | |
| public: | | public: | |
| RealVector(UInt_t initialCapacity=100) : | | RealVector(UInt_t initialCapacity=100) : | |
|
| _nativeReal(0), _real(0), _buf(0), _nativeBuf(0), _vec0(0), _tracker(
0) { | | _nativeReal(0), _real(0), _buf(0), _nativeBuf(0), _vec0(0), _tracker(
0), _nset(0) { | |
| _vec.reserve(initialCapacity) ; | | _vec.reserve(initialCapacity) ; | |
| } | | } | |
| | | | |
| RealVector(RooAbsReal* arg, UInt_t initialCapacity=100) : | | RealVector(RooAbsReal* arg, UInt_t initialCapacity=100) : | |
|
| _nativeReal(arg), _real(0), _buf(0), _nativeBuf(0), _vec0(0), _tracke
r(0) { | | _nativeReal(arg), _real(0), _buf(0), _nativeBuf(0), _vec0(0), _tracke
r(0), _nset(0) { | |
| _vec.reserve(initialCapacity) ; | | _vec.reserve(initialCapacity) ; | |
| } | | } | |
| | | | |
| virtual ~RealVector() { | | virtual ~RealVector() { | |
| if (_tracker) delete _tracker ; | | if (_tracker) delete _tracker ; | |
| } | | } | |
| | | | |
| RealVector(const RealVector& other, RooAbsReal* real=0) : | | RealVector(const RealVector& other, RooAbsReal* real=0) : | |
| _vec(other._vec), _nativeReal(real?real:other._nativeReal), _real(rea
l?real:other._real), _buf(other._buf), _nativeBuf(other._nativeBuf) { | | _vec(other._vec), _nativeReal(real?real:other._nativeReal), _real(rea
l?real:other._real), _buf(other._buf), _nativeBuf(other._nativeBuf) { | |
| _vec0 = _vec.size()>0 ? &_vec.front() : 0 ; | | _vec0 = _vec.size()>0 ? &_vec.front() : 0 ; | |
| | | | |
| skipping to change at line 164 | | skipping to change at line 164 | |
| if (&other==this) return *this ; | | if (&other==this) return *this ; | |
| _nativeReal = other._nativeReal ; | | _nativeReal = other._nativeReal ; | |
| _real = other._real ; | | _real = other._real ; | |
| _buf = other._buf ; | | _buf = other._buf ; | |
| _nativeBuf = other._nativeBuf ; | | _nativeBuf = other._nativeBuf ; | |
| _vec = other._vec ; | | _vec = other._vec ; | |
| _vec0 = _vec.size()>0 ? &_vec.front() : 0 ; | | _vec0 = _vec.size()>0 ? &_vec.front() : 0 ; | |
| return *this ; | | return *this ; | |
| } | | } | |
| | | | |
|
| | | void setNset(RooArgSet* newNset) { _nset = newNset ; } | |
| | | RooArgSet* nset() const { return _nset ; } | |
| | | | |
| void setBufArg(RooAbsReal* arg) { _nativeReal = arg ; } | | void setBufArg(RooAbsReal* arg) { _nativeReal = arg ; } | |
| const RooAbsReal* bufArg() const { return _nativeReal ; } | | const RooAbsReal* bufArg() const { return _nativeReal ; } | |
| | | | |
| void setBuffer(RooAbsReal* real, Double_t* newBuf) { | | void setBuffer(RooAbsReal* real, Double_t* newBuf) { | |
| _real = real ; | | _real = real ; | |
| _buf = newBuf ; | | _buf = newBuf ; | |
| if (_nativeBuf==0) { | | if (_nativeBuf==0) { | |
| _nativeBuf=newBuf ; | | _nativeBuf=newBuf ; | |
| } | | } | |
| } | | } | |
| | | | |
| skipping to change at line 197 | | skipping to change at line 200 | |
| if (!_tracker) return kFALSE ; | | if (!_tracker) return kFALSE ; | |
| return _tracker->hasChanged(kTRUE) ; | | return _tracker->hasChanged(kTRUE) ; | |
| } | | } | |
| | | | |
| void fill() { | | void fill() { | |
| _vec.push_back(*_buf) ; | | _vec.push_back(*_buf) ; | |
| _vec0 = &_vec.front() ; | | _vec0 = &_vec.front() ; | |
| } ; | | } ; | |
| | | | |
| void write(Int_t i) { | | void write(Int_t i) { | |
|
| /* std::cout << "write(" << this << ") [" << i << "] nativeReal = " <
< _nativeReal << " = " << _nativeReal->GetName() << " real = " << _real <<
" buf = " << _buf << " value = " << *_buf << " native getVal() = " << _nati
veReal->getVal() << " getVal() = " << _real->getVal() << std::endl ; */ | | /* std::cout << "write(" << this << ") [" << i << "] nativeReal = "
<< _nativeReal << " = " << _nativeReal->GetName() << " real = " << _real <
< " buf = " << _buf << " value = " << *_buf << " native getVal() = " << _na
tiveReal->getVal() << " getVal() = " << _real->getVal() << std::endl ; */ | |
| _vec[i] = *_buf ; | | _vec[i] = *_buf ; | |
| } | | } | |
| | | | |
| void reset() { | | void reset() { | |
| _vec.clear() ; | | _vec.clear() ; | |
| _vec0 = &_vec.front() ; | | _vec0 = &_vec.front() ; | |
| } | | } | |
| | | | |
| inline void get(Int_t idx) const { | | inline void get(Int_t idx) const { | |
| *_buf = *(_vec0+idx) ; | | *_buf = *(_vec0+idx) ; | |
| | | | |
| skipping to change at line 232 | | skipping to change at line 235 | |
| std::vector<Double_t> _vec ; | | std::vector<Double_t> _vec ; | |
| | | | |
| private: | | private: | |
| friend class RooVectorDataStore ; | | friend class RooVectorDataStore ; | |
| RooAbsReal* _nativeReal ; | | RooAbsReal* _nativeReal ; | |
| RooAbsReal* _real ; | | RooAbsReal* _real ; | |
| Double_t* _buf ; //! | | Double_t* _buf ; //! | |
| Double_t* _nativeBuf ; //! | | Double_t* _nativeBuf ; //! | |
| Double_t* _vec0 ; //! | | Double_t* _vec0 ; //! | |
| RooChangeTracker* _tracker ; // | | RooChangeTracker* _tracker ; // | |
|
| | | RooArgSet* _nset ; //! | |
| ClassDef(RealVector,1) // STL-vector-based Data Storage class | | ClassDef(RealVector,1) // STL-vector-based Data Storage class | |
| } ; | | } ; | |
| | | | |
| class RealFullVector : public RealVector { | | class RealFullVector : public RealVector { | |
| public: | | public: | |
| RealFullVector(UInt_t initialCapacity=100) : RealVector(initialCapacity
), | | RealFullVector(UInt_t initialCapacity=100) : RealVector(initialCapacity
), | |
| _bufE(0), _bufEL(0), _bufEH(0), | | _bufE(0), _bufEL(0), _bufEH(0), | |
| _nativeBufE(0), _nativeBufEL(0), _nativeBufEH(0), | | _nativeBufE(0), _nativeBufEL(0), _nativeBufEH(0), | |
| _vecE(0), _vecEL(0), _vecEH(0) { | | _vecE(0), _vecEL(0), _vecEH(0) { | |
| } | | } | |
| | | | |
End of changes. 6 change blocks. |
| 4 lines changed or deleted | | 8 lines changed or added | |
|
| RootFinder.h | | RootFinder.h | |
|
| // @(#)root/tmva $Id: RootFinder.h 40005 2011-06-27 15:29:10Z stelzer $ | | // @(#)root/mathmore:$Id: RootFinder.h 33942 2010-06-16 13:12:17Z moneta $ | |
| // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss | | // Authors: L. Moneta, A. Zsenei 08/2005 | |
| | | | |
|
| /************************************************************************** | | /********************************************************************** | |
| ******** | | * * | |
| * Project: TMVA - a Root-integrated toolkit for multivariate data analysis | | * Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT * | |
| * | | * * | |
| * Package: TMVA | | * This library is free software; you can redistribute it and/or * | |
| * | | * modify it under the terms of the GNU General Public License * | |
| * Class : RootFinder | | * as published by the Free Software Foundation; either version 2 * | |
| * | | * of the License, or (at your option) any later version. * | |
| * Web : http://tmva.sourceforge.net | | * * | |
| * | | * This library is distributed in the hope that it will be useful, * | |
| * | | * but WITHOUT ANY WARRANTY; without even the implied warranty of * | |
| * | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * | |
| * Description: | | * General Public License for more details. * | |
| * | | * * | |
| * Root finding using Brents algorithm | | * You should have received a copy of the GNU General Public License * | |
| * | | * along with this library (see file COPYING); if not, write * | |
| * (translated from CERNLIB function RZERO) | | * to the Free Software Foundation, Inc., 59 Temple Place, Suite * | |
| * | | * 330, Boston, MA 02111-1307 USA, or contact the author. * | |
| * | | * * | |
| * | | **********************************************************************/ | |
| * Authors (alphabetical): | | | |
| * | | // Header file for class RootFinder | |
| * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland | | // | |
| * | | // Created by: moneta at Sun Nov 14 16:59:55 2004 | |
| * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German | | // | |
| y * | | // Last update: Sun Nov 14 16:59:55 2004 | |
| * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada | | // | |
| * | | #ifndef ROOT_Math_RootFinder | |
| * | | #define ROOT_Math_RootFinder | |
| * | | | |
| * Copyright (c) 2005: | | | |
| * | | | |
| * CERN, Switzerland | | | |
| * | | | |
| * U. of Victoria, Canada | | | |
| * | | | |
| * 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_RootFinder | | | |
| #define ROOT_TMVA_RootFinder | | | |
| | | | |
| ////////////////////////////////////////////////////////////////////////// | | | |
| // // | | | |
| // RootFinder // | | | |
| // // | | | |
| // Root finding using Brents algorithm // | | | |
| // (translated from CERNLIB function RZERO) // | | | |
| // // | | | |
| ////////////////////////////////////////////////////////////////////////// | | | |
| | | | |
|
| #ifndef ROOT_TObject | | #ifndef ROOT_Math_IFunctionfwd | |
| #include "TObject.h" | | #include "Math/IFunctionfwd.h" | |
| #endif | | #endif | |
| | | | |
|
| namespace TMVA { | | #ifndef ROOT_Math_IRootFinderMethod | |
| | | #include "Math/IRootFinderMethod.h" | |
| class MsgLogger; | | #endif | |
| | | | |
| class RootFinder : public TObject { | | | |
| | | | |
| public: | | | |
| | | | |
| RootFinder( Double_t (*rootVal)( Double_t ), | | | |
| Double_t rootMin, Double_t rootMax, | | | |
| Int_t maxIterations = 100, | | | |
| Double_t absTolerance = 0.0 ); | | | |
| virtual ~RootFinder( void ); | | | |
| | | | |
| // returns the root of the function | | | |
| Double_t Root( Double_t refValue ); | | | |
| | | | |
|
| private: | | /** | |
| | | @defgroup RootFinders One-dimensional Root-Finding algorithms | |
| | | Various implementation esists in MathCore and MathMore | |
| | | The user interacts with a proxy class ROOT::Math::RootFinder which creat | |
| | | es behing | |
| | | the choosen algorithms which are implemented using the ROOT::Math::IRoot | |
| | | FinderMethod interface | |
| | | | |
| | | @ingroup NumAlgo | |
| | | */ | |
| | | | |
| | | namespace ROOT { | |
| | | namespace Math { | |
| | | | |
| | | //_________________________________________________________________________ | |
| | | ____________ | |
| | | /** | |
| | | User Class to find the Root of one dimensional functions. | |
| | | The GSL Methods are implemented in MathMore and they are loaded au | |
| | | tomatically | |
| | | via the plug-in manager | |
| | | | |
| | | The possible types of Root-finding algorithms are: | |
| | | <ul> | |
| | | <li>Root Bracketing Algorithms which do not require function deriv | |
| | | atives | |
| | | <ol> | |
| | | <li>RootFinder::kBRENT (default method implemented in MathCore) | |
| | | <li>RootFinder::kGSL_BISECTION | |
| | | <li>RootFinder::kGSL_FALSE_POS | |
| | | <li>RootFinder::kGSL_BRENT | |
| | | </ol> | |
| | | <li>Root Finding Algorithms using Derivatives | |
| | | <ol> | |
| | | <li>RootFinder::kGSL_NEWTON | |
| | | <li>RootFinder::kGSL_SECANT | |
| | | <li>RootFinder::kGSL_STEFFENSON | |
| | | </ol> | |
| | | </ul> | |
| | | | |
| | | This class does not cupport copying | |
| | | | |
| | | @ingroup RootFinders | |
| | | | |
| | | */ | |
| | | | |
| | | class RootFinder { | |
| | | | |
| | | public: | |
| | | | |
| | | enum EType { kBRENT, // Methods | |
| | | from MathCore | |
| | | kGSL_BISECTION, kGSL_FALSE_POS, kGSL_BRENT, // GSL Nor | |
| | | mal | |
| | | kGSL_NEWTON, kGSL_SECANT, kGSL_STEFFENSON // GSL Der | |
| | | ivatives | |
| | | }; | |
| | | | |
| | | /** | |
| | | Construct a Root-Finder algorithm | |
| | | */ | |
| | | RootFinder(RootFinder::EType type = RootFinder::kBRENT); | |
| | | virtual ~RootFinder(); | |
| | | | |
| | | private: | |
| | | // usually copying is non trivial, so we make this unaccessible | |
| | | RootFinder(const RootFinder & ) {} | |
| | | RootFinder & operator = (const RootFinder & rhs) | |
| | | { | |
| | | if (this == &rhs) return *this; // time saving self-test | |
| | | return *this; | |
| | | } | |
| | | | |
| | | public: | |
| | | | |
| | | bool SetMethod(RootFinder::EType type = RootFinder::kBRENT); | |
| | | | |
| | | /** | |
| | | Provide to the solver the function and the initial search inter | |
| | | val [xlow, xup] | |
| | | for algorithms not using derivatives (bracketing algorithms) | |
| | | The templated function f must be of a type implementing the \a | |
| | | operator() method, | |
| | | <em> double operator() ( double x ) </em> | |
| | | Returns non zero if interval is not valid (i.e. does not contai | |
| | | ns a root) | |
| | | */ | |
| | | | |
| | | bool SetFunction( const IGenFunction & f, double xlow, double xup) | |
| | | { | |
| | | return fSolver->SetFunction( f, xlow, xup); | |
| | | } | |
| | | | |
| | | /** | |
| | | Provide to the solver the function and an initial estimate of t | |
| | | he root, | |
| | | for algorithms using derivatives. | |
| | | The templated function f must be of a type implementing the \a | |
| | | operator() | |
| | | and the \a Gradient() methods. | |
| | | <em> double operator() ( double x ) </em> | |
| | | Returns non zero if starting point is not valid | |
| | | */ | |
| | | | |
| | | bool SetFunction( const IGradFunction & f, double xstart) { | |
| | | return fSolver->SetFunction( f, xstart); | |
| | | } | |
| | | | |
| | | template<class Function, class Derivative> | |
| | | bool Solve(Function &f, Derivative &d, double start, | |
| | | int maxIter = 100, double absTol = 1E-8, double relTol = | |
| | | 1E-10); | |
| | | | |
| | | template<class Function> | |
| | | bool Solve(Function &f, double min, double max, | |
| | | int maxIter = 100, double absTol = 1E-8, double relTol = | |
| | | 1E-10); | |
| | | | |
| | | /** | |
| | | Compute the roots iterating until the estimate of the Root is | |
| | | within the required tolerance returning | |
| | | the iteration Status | |
| | | */ | |
| | | bool Solve( int maxIter = 100, double absTol = 1E-8, double relTol | |
| | | = 1E-10) { | |
| | | return fSolver->Solve( maxIter, absTol, relTol ); | |
| | | } | |
| | | | |
| | | /** | |
| | | Return the number of iteration performed to find the Root. | |
| | | */ | |
| | | int Iterations() const { | |
| | | return fSolver->Iterations(); | |
| | | } | |
| | | | |
| | | /** | |
| | | Perform a single iteration and return the Status | |
| | | */ | |
| | | int Iterate() { | |
| | | return fSolver->Iterate(); | |
| | | } | |
| | | | |
| | | /** | |
| | | Return the current and latest estimate of the Root | |
| | | */ | |
| | | double Root() const { | |
| | | return fSolver->Root(); | |
| | | } | |
| | | | |
| | | /** | |
| | | Return the status of the last estimate of the Root | |
| | | = 0 OK, not zero failure | |
| | | */ | |
| | | int Status() const { | |
| | | return fSolver->Status(); | |
| | | } | |
| | | | |
| | | /** | |
| | | Return the current and latest estimate of the lower value of th | |
| | | e Root-finding interval (for bracketing algorithms) | |
| | | */ | |
| | | /* double XLower() const { */ | |
| | | /* return fSolver->XLower(); */ | |
| | | /* } */ | |
| | | | |
| | | /** | |
| | | Return the current and latest estimate of the upper value of th | |
| | | e Root-finding interval (for bracketing algorithms) | |
| | | */ | |
| | | /* double XUpper() const { */ | |
| | | /* return fSolver->XUpper(); */ | |
| | | /* } */ | |
| | | | |
| | | /** | |
| | | Get Name of the Root-finding solver algorithm | |
| | | */ | |
| | | const char * Name() const { | |
| | | return fSolver->Name(); | |
| | | } | |
| | | | |
| | | protected: | |
| | | | |
| | | private: | |
| | | | |
| | | IRootFinderMethod* fSolver; // type of algorithm to be used | |
| | | | |
|
| Double_t fRootMin; // minimum root value | | }; | |
| Double_t fRootMax; // maximum root value | | | |
| Int_t fMaxIter; // maximum number of iterations | | | |
| Double_t fAbsTol; // absolute tolerance deviation | | | |
| | | | |
|
| // function pointer | | } // namespace Math | |
| Double_t (*fGetRootVal)( Double_t ); | | } // namespace ROOT | |
| | | | |
|
| mutable MsgLogger* fLogger; //! message logger | | #ifndef ROOT_Math_WrappedFunction | |
| MsgLogger& Log() const { return *fLogger; } | | #include "Math/WrappedFunction.h" | |
| | | #endif | |
| | | | |
|
| ClassDef(RootFinder,0) // Root finding using Brents algorithm | | #ifndef ROOT_Math_Functor | |
| }; | | #include "Math/Functor.h" | |
| | | #endif | |
| | | | |
|
| } // namespace TMVA | | template<class Function, class Derivative> | |
| | | bool ROOT::Math::RootFinder::Solve(Function &f, Derivative &d, double start | |
| | | , | |
| | | int maxIter, double absTol, double relTol | |
| | | ) | |
| | | { | |
| | | if (!fSolver) return false; | |
| | | ROOT::Math::GradFunctor1D wf(f, d); | |
| | | bool ret = fSolver->SetFunction(wf, start); | |
| | | if (!ret) return false; | |
| | | return Solve(maxIter, absTol, relTol); | |
| | | } | |
| | | | |
| | | template<class Function> | |
| | | bool ROOT::Math::RootFinder::Solve(Function &f, double min, double max, | |
| | | int maxIter, double absTol, double relTol | |
| | | ) | |
| | | { | |
| | | if (!fSolver) return false; | |
| | | ROOT::Math::WrappedFunction<Function &> wf(f); | |
| | | bool ret = fSolver->SetFunction(wf, min, max); | |
| | | if (!ret) return false; | |
| | | return Solve(maxIter, absTol, relTol); | |
| | | } | |
| | | | |
|
| #endif | | #endif /* ROOT_Math_RootFinder */ | |
| | | | |
End of changes. 11 change blocks. |
| 92 lines changed or deleted | | 254 lines changed or added | |
|
| Sample.h | | Sample.h | |
| | | | |
| skipping to change at line 43 | | skipping to change at line 43 | |
| TH1* GetHisto(); | | TH1* GetHisto(); | |
| void SetHisto( TH1* histo ) { fhNominal = histo; fHistoName=histo->GetNam
e(); } | | void SetHisto( TH1* histo ) { fhNominal = histo; fHistoName=histo->GetNam
e(); } | |
| void SetValue( Double_t Val ); | | void SetValue( Double_t Val ); | |
| | | | |
| // Some helper functions | | // Some helper functions | |
| | | | |
| void ActivateStatError(); | | void ActivateStatError(); | |
| void ActivateStatError( std::string HistoName, std::string InputFile, std
::string HistoPath="" ); | | void ActivateStatError( std::string HistoName, std::string InputFile, std
::string HistoPath="" ); | |
| | | | |
| void AddOverallSys( std::string Name, Double_t Low, Double_t High ); | | void AddOverallSys( std::string Name, Double_t Low, Double_t High ); | |
|
| | | void AddOverallSys( const OverallSys& Sys ); | |
| | | | |
| void AddNormFactor( std::string Name, Double_t Val, Double_t Low, Double_
t High, bool Const=false ); | | void AddNormFactor( std::string Name, Double_t Val, Double_t Low, Double_
t High, bool Const=false ); | |
|
| | | void AddNormFactor( const NormFactor& Factor ); | |
| | | | |
| void AddHistoSys( std::string Name, std::string HistoNameLow, std::st
ring HistoFileLow, std::string HistoPathLow, | | void AddHistoSys( std::string Name, std::string HistoNameLow, std::st
ring HistoFileLow, std::string HistoPathLow, | |
| std::string HistoNameHigh, std::str
ing HistoFileHigh, std::string HistoPathHigh ); | | std::string HistoNameHigh, std::str
ing HistoFileHigh, std::string HistoPathHigh ); | |
|
| | | void AddHistoSys( const HistoSys& Sys ); | |
| | | | |
| void AddHistoFactor( std::string Name, std::string HistoNameLow, std::st
ring HistoFileLow, std::string HistoPathLow, | | void AddHistoFactor( std::string Name, std::string HistoNameLow, std::st
ring HistoFileLow, std::string HistoPathLow, | |
|
| std::string HistoNameHigh, std::str | | std::string HistoNameHigh, std::string HistoFileHigh, | |
| ing HistoFileHigh, std::string HistoPathHigh ); | | std::string HistoPathHigh ); | |
| | | void AddHistoFactor( const HistoFactor& Factor ); | |
| | | | |
| void AddShapeFactor( std::string Name ); | | void AddShapeFactor( std::string Name ); | |
|
| | | void AddShapeFactor( const ShapeFactor& Factor ); | |
| | | | |
| void AddShapeSys( std::string Name, Constraint::Type ConstraintType, s
td::string HistoName, std::string HistoFile, std::string HistoPath="" ); | | void AddShapeSys( std::string Name, Constraint::Type ConstraintType, s
td::string HistoName, std::string HistoFile, std::string HistoPath="" ); | |
|
| | | void AddShapeSys( const ShapeSys& Sys ); | |
| | | | |
| void SetNormalizeByTheory( bool norm ) { fNormalizeByTheory = norm; } | | void SetNormalizeByTheory( bool norm ) { fNormalizeByTheory = norm; } | |
| bool GetNormalizeByTheory() { return fNormalizeByTheory; } | | bool GetNormalizeByTheory() { return fNormalizeByTheory; } | |
| | | | |
| std::string GetName() { return fName; } | | std::string GetName() { return fName; } | |
| void SetName(const std::string& Name) { fName = Name; } | | void SetName(const std::string& Name) { fName = Name; } | |
| | | | |
| std::string GetInputFile() { return fInputFile; } | | std::string GetInputFile() { return fInputFile; } | |
| void SetInputFile(const std::string& InputFile) { fInputFile = InputFile;
} | | void SetInputFile(const std::string& InputFile) { fInputFile = InputFile;
} | |
| | | | |
| | | | |
End of changes. 6 change blocks. |
| 2 lines changed or deleted | | 11 lines changed or added | |
|
| TChain.h | | TChain.h | |
|
| // @(#)root/tree:$Id: TChain.h 46070 2012-09-19 20:00:06Z pcanal $ | | // @(#)root/tree:$Id: TChain.h 46369 2012-10-06 01:11:07Z pcanal $ | |
| // Author: Rene Brun 03/02/97 | | // Author: Rene Brun 03/02/97 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 143 | | skipping to change at line 143 | |
| virtual Long64_t Process(TSelector* selector, Option_t* option = "", Lo
ng64_t nentries = kBigNumber, Long64_t firstentry = 0); | | virtual Long64_t Process(TSelector* selector, Option_t* option = "", Lo
ng64_t nentries = kBigNumber, Long64_t firstentry = 0); | |
| #endif | | #endif | |
| virtual void RecursiveRemove(TObject *obj); | | virtual void RecursiveRemove(TObject *obj); | |
| virtual void RemoveFriend(TTree*); | | virtual void RemoveFriend(TTree*); | |
| virtual void Reset(Option_t *option=""); | | virtual void Reset(Option_t *option=""); | |
| virtual void ResetAfterMerge(TFileMergeInfo *); | | virtual void ResetAfterMerge(TFileMergeInfo *); | |
| virtual void ResetBranchAddress(TBranch *); | | virtual void ResetBranchAddress(TBranch *); | |
| virtual void ResetBranchAddresses(); | | virtual void ResetBranchAddresses(); | |
| virtual Long64_t Scan(const char *varexp="", const char *selection="",
Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0);
// *MENU* | | virtual Long64_t Scan(const char *varexp="", const char *selection="",
Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0);
// *MENU* | |
| virtual void SetAutoDelete(Bool_t autodel=kTRUE); | | virtual void SetAutoDelete(Bool_t autodel=kTRUE); | |
|
| | | #if !defined(__CINT__) | |
| virtual Int_t SetBranchAddress(const char *bname,void *add, TBranch
**ptr = 0); | | virtual Int_t SetBranchAddress(const char *bname,void *add, TBranch
**ptr = 0); | |
|
| | | #endif | |
| virtual Int_t SetBranchAddress(const char *bname,void *add, TBranch
**ptr, TClass *realClass, EDataType datatype, Bool_t isptr); | | virtual Int_t SetBranchAddress(const char *bname,void *add, TBranch
**ptr, TClass *realClass, EDataType datatype, Bool_t isptr); | |
| virtual Int_t SetBranchAddress(const char *bname,void *add, TClass *
realClass, EDataType datatype, Bool_t isptr); | | virtual Int_t SetBranchAddress(const char *bname,void *add, TClass *
realClass, EDataType datatype, Bool_t isptr); | |
|
| | | template <class T> Int_t SetBranchAddress(const char *bname, T **add, TB | |
| | | ranch **ptr = 0) { | |
| | | return TTree::SetBranchAddress<T>(bname, add, ptr); | |
| | | } | |
| | | #ifndef R__NO_CLASS_TEMPLATE_SPECIALIZATION | |
| | | // This can only be used when the template overload resolution can distr | |
| | | inguish between | |
| | | // T* and T** | |
| | | template <class T> Int_t SetBranchAddress(const char *bname, T *add, TBr | |
| | | anch **ptr = 0) { | |
| | | return TTree::SetBranchAddress<T>(bname, add, ptr); | |
| | | } | |
| | | #endif | |
| | | | |
| virtual void SetBranchStatus(const char *bname, Bool_t status=1, UI
nt_t *found=0); | | virtual void SetBranchStatus(const char *bname, Bool_t status=1, UI
nt_t *found=0); | |
| virtual void SetCacheSize(Long64_t cacheSize); | | virtual void SetCacheSize(Long64_t cacheSize); | |
| virtual void SetDirectory(TDirectory *dir); | | virtual void SetDirectory(TDirectory *dir); | |
| virtual void SetEntryList(TEntryList *elist, Option_t *opt=""); | | virtual void SetEntryList(TEntryList *elist, Option_t *opt=""); | |
| virtual void SetEntryListFile(const char *filename="", Option_t *op
t=""); | | virtual void SetEntryListFile(const char *filename="", Option_t *op
t=""); | |
| virtual void SetEventList(TEventList *evlist); | | virtual void SetEventList(TEventList *evlist); | |
| virtual void SetMakeClass(Int_t make) { TTree::SetMakeClass(make);
if (fTree) fTree->SetMakeClass(make);} | | virtual void SetMakeClass(Int_t make) { TTree::SetMakeClass(make);
if (fTree) fTree->SetMakeClass(make);} | |
| virtual void SetPacketSize(Int_t size = 100); | | virtual void SetPacketSize(Int_t size = 100); | |
| virtual void SetProof(Bool_t on = kTRUE, Bool_t refresh = kFALSE, B
ool_t gettreeheader = kFALSE); | | virtual void SetProof(Bool_t on = kTRUE, Bool_t refresh = kFALSE, B
ool_t gettreeheader = kFALSE); | |
| | | | |
End of changes. 4 change blocks. |
| 1 lines changed or deleted | | 16 lines changed or added | |
|
| TEveBrowser.h | | TEveBrowser.h | |
|
| // @(#)root/eve:$Id: TEveBrowser.h 36955 2010-11-25 21:23:09Z matevz $ | | // @(#)root/eve:$Id: TEveBrowser.h 46555 2012-10-15 17:40:43Z matevz $ | |
| // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 | | // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 144 | | skipping to change at line 144 | |
| | | | |
| TGFileBrowser *fFileBrowser; | | TGFileBrowser *fFileBrowser; | |
| TGPopupMenu *fEvePopup; | | TGPopupMenu *fEvePopup; | |
| TGPopupMenu *fSelPopup; | | TGPopupMenu *fSelPopup; | |
| TGPopupMenu *fHilPopup; | | TGPopupMenu *fHilPopup; | |
| | | | |
| public: | | public: | |
| TEveBrowser(UInt_t w, UInt_t h); | | TEveBrowser(UInt_t w, UInt_t h); | |
| virtual ~TEveBrowser() {} | | virtual ~TEveBrowser() {} | |
| | | | |
|
| void ReallyDelete(); | | virtual void ReallyDelete(); | |
| | | virtual void CloseTab(Int_t id); | |
| | | virtual void CloseWindow(); | |
| | | | |
| void InitPlugins(Option_t *opt="FI"); | | void InitPlugins(Option_t *opt="FI"); | |
| | | | |
| TGFileBrowser* MakeFileBrowser(); | | TGFileBrowser* MakeFileBrowser(); | |
| TGFileBrowser* GetFileBrowser() const { return fFileBrowser; } | | TGFileBrowser* GetFileBrowser() const { return fFileBrowser; } | |
| | | | |
| void EveMenu(Int_t id); | | void EveMenu(Int_t id); | |
| | | | |
| // Some getters missing in TRootBrowser | | // Some getters missing in TRootBrowser | |
| TGMenuBar* GetMenuBar() const { return fMenuBar; } | | TGMenuBar* GetMenuBar() const { return fMenuBar; } | |
| TGHorizontalFrame* GetTopMenuFrame() const { return fTopMenuFrame; } | | TGHorizontalFrame* GetTopMenuFrame() const { return fTopMenuFrame; } | |
| | | | |
| void HideBottomTab(); | | void HideBottomTab(); | |
| | | | |
|
| | | void SanitizeTabCounts(); | |
| | | | |
| ClassDef(TEveBrowser, 0); // Specialization of TRootBrowser for Eve. | | ClassDef(TEveBrowser, 0); // Specialization of TRootBrowser for Eve. | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 6 lines changed or added | |
|
| TEveGeoShape.h | | TEveGeoShape.h | |
|
| // @(#)root/eve:$Id: TEveGeoShape.h 37192 2010-12-02 15:54:26Z matevz $ | | // @(#)root/eve:$Id: TEveGeoShape.h 46208 2012-09-26 19:28:58Z matevz $ | |
| // Author: Matevz Tadel 2007 | | // Author: Matevz Tadel 2007 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| #ifndef ROOT_TEveGeoShape | | #ifndef ROOT_TEveGeoShape | |
| #define ROOT_TEveGeoShape | | #define ROOT_TEveGeoShape | |
| | | | |
| #include "TEveShape.h" | | #include "TEveShape.h" | |
| | | | |
| class TGeoShape; | | class TGeoShape; | |
|
| | | class TGeoHMatrix; | |
| class TGeoCompositeShape; | | class TGeoCompositeShape; | |
| class TEveGeoShapeExtract; | | class TEveGeoShapeExtract; | |
| class TBuffer3D; | | class TBuffer3D; | |
| | | | |
| class TEveGeoShape : public TEveShape | | class TEveGeoShape : public TEveShape | |
| { | | { | |
| private: | | private: | |
| TEveGeoShape(const TEveGeoShape&); // Not implemented | | TEveGeoShape(const TEveGeoShape&); // Not implemented | |
| TEveGeoShape& operator=(const TEveGeoShape&); // Not implemented | | TEveGeoShape& operator=(const TEveGeoShape&); // Not implemented | |
| | | | |
| | | | |
| skipping to change at line 66 | | skipping to change at line 67 | |
| void SaveExtract(const char* file, const char* name); | | void SaveExtract(const char* file, const char* name); | |
| void WriteExtract(const char* name); | | void WriteExtract(const char* name); | |
| | | | |
| static TEveGeoShape* ImportShapeExtract(TEveGeoShapeExtract* gse, TEveEl
ement* parent=0); | | static TEveGeoShape* ImportShapeExtract(TEveGeoShapeExtract* gse, TEveEl
ement* parent=0); | |
| | | | |
| // GeoProjectable | | // GeoProjectable | |
| virtual TBuffer3D* MakeBuffer3D(); | | virtual TBuffer3D* MakeBuffer3D(); | |
| virtual TClass* ProjectedClass(const TEveProjection* p) const; | | virtual TClass* ProjectedClass(const TEveProjection* p) const; | |
| | | | |
| static TGeoManager* GetGeoMangeur(); | | static TGeoManager* GetGeoMangeur(); | |
|
| | | static TGeoHMatrix* GetGeoHMatrixIdentity(); | |
| | | | |
| ClassDef(TEveGeoShape, 2); // Wrapper for TGeoShape with absolute positi
oning and color attributes allowing display of extracted TGeoShape's (witho
ut an active TGeoManager) and simplified geometries (needed for NLT project
ions). | | ClassDef(TEveGeoShape, 2); // Wrapper for TGeoShape with absolute positi
oning and color attributes allowing display of extracted TGeoShape's (witho
ut an active TGeoManager) and simplified geometries (needed for NLT project
ions). | |
| }; | | }; | |
| | | | |
| //-------------------------------------------------------------------------
----- | | //-------------------------------------------------------------------------
----- | |
| | | | |
| class TEveGeoShapeProjected : public TEveShape, | | class TEveGeoShapeProjected : public TEveShape, | |
| public TEveProjected | | public TEveProjected | |
| { | | { | |
| private: | | private: | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 3 lines changed or added | |
|
| TEveWindow.h | | TEveWindow.h | |
|
| // @(#)root/eve:$Id: TEveWindow.h 32138 2010-01-28 15:16:30Z matevz $ | | // @(#)root/eve:$Id: TEveWindow.h 46703 2012-10-20 04:13:32Z matevz $ | |
| // Author: Matevz Tadel 2007 | | // Author: Matevz Tadel 2007 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| #ifndef ROOT_TEveWindow | | #ifndef ROOT_TEveWindow | |
| #define ROOT_TEveWindow | | #define ROOT_TEveWindow | |
| | | | |
| #include "TEveElement.h" | | #include "TEveElement.h" | |
| | | | |
| #include "TGFrame.h" | | #include "TGFrame.h" | |
|
| | | #include "TContextMenu.h" | |
| | | | |
| class TEveWindow; | | class TEveWindow; | |
| class TEveWindowSlot; | | class TEveWindowSlot; | |
| class TEveWindowFrame; | | class TEveWindowFrame; | |
| class TEveWindowMainFrame; | | class TEveWindowMainFrame; | |
| class TEveWindowPack; | | class TEveWindowPack; | |
| class TEveWindowTab; | | class TEveWindowTab; | |
|
| | | class TEveContextMenu; | |
| class TContextMenu; | | | |
| | | | |
| class TGButton; | | class TGButton; | |
| class TGSplitButton; | | class TGSplitButton; | |
| class TGTextButton; | | class TGTextButton; | |
| | | | |
| class TGPack; | | class TGPack; | |
| class TGTab; | | class TGTab; | |
| | | | |
| //=========================================================================
===== | | //=========================================================================
===== | |
| // TEveCompositeFrame | | // TEveCompositeFrame | |
| | | | |
| skipping to change at line 70 | | skipping to change at line 70 | |
| TGFrame *fIconBar; | | TGFrame *fIconBar; | |
| TGLayoutHints *fEveWindowLH; | | TGLayoutHints *fEveWindowLH; | |
| | | | |
| TGFrame *fMiniBar; | | TGFrame *fMiniBar; | |
| | | | |
| TEveElement *fEveParent; | | TEveElement *fEveParent; | |
| TEveWindow *fEveWindow; | | TEveWindow *fEveWindow; | |
| | | | |
| Bool_t fShowInSync; | | Bool_t fShowInSync; | |
| | | | |
|
| static TContextMenu *fgCtxMenu; | | static TEveContextMenu *fgCtxMenu; | |
| static const TString fgkEmptyFrameName; | | static const TString fgkEmptyFrameName; | |
| | | | |
|
| static TList *fgFrameList; | | static TList *fgFrameList; | |
| | | | |
| public: | | public: | |
| TEveCompositeFrame(TGCompositeFrame* gui_parent, TEveWindow* eve_parent)
; | | TEveCompositeFrame(TGCompositeFrame* gui_parent, TEveWindow* eve_parent)
; | |
| virtual ~TEveCompositeFrame(); | | virtual ~TEveCompositeFrame(); | |
| | | | |
| virtual void WindowNameChanged(const TString& name); | | virtual void WindowNameChanged(const TString& name); | |
| | | | |
| virtual void Destroy() = 0; | | virtual void Destroy() = 0; | |
| | | | |
| virtual void AcquireEveWindow(TEveWindow* ew); | | virtual void AcquireEveWindow(TEveWindow* ew); | |
| | | | |
| skipping to change at line 407 | | skipping to change at line 407 | |
| virtual TGFrame* GetGUIFrame(); | | virtual TGFrame* GetGUIFrame(); | |
| | | | |
| virtual Bool_t CanMakeNewSlots() const { return kTRUE; } | | virtual Bool_t CanMakeNewSlots() const { return kTRUE; } | |
| virtual TEveWindowSlot* NewSlot(); // *MENU* | | virtual TEveWindowSlot* NewSlot(); // *MENU* | |
| | | | |
| TGTab* GetTab() const { return fTab; } | | TGTab* GetTab() const { return fTab; } | |
| | | | |
| ClassDef(TEveWindowTab, 0); // Eve-window containing a TGTab. | | ClassDef(TEveWindowTab, 0); // Eve-window containing a TGTab. | |
| }; | | }; | |
| | | | |
|
| | | //========================================================================= | |
| | | ===== | |
| | | //========================================================================= | |
| | | ===== | |
| | | // Helper classes | |
| | | //========================================================================= | |
| | | ===== | |
| | | //========================================================================= | |
| | | ===== | |
| | | | |
| | | //========================================================================= | |
| | | ===== | |
| | | // TEveContextMenu | |
| | | //========================================================================= | |
| | | ===== | |
| | | | |
| | | class TEveContextMenu : public TContextMenu | |
| | | { | |
| | | public: | |
| | | TEveContextMenu(const char *name, const char *title = "Eve context menu" | |
| | | ); | |
| | | | |
| | | void SetupAndPopup(TGWindow* button, TObject* obj); | |
| | | | |
| | | ClassDef(TEveContextMenu, 0) // Specialization of TContextMenu for Eve. | |
| | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 6 change blocks. |
| 6 lines changed or deleted | | 33 lines changed or added | |
|
| TFPBlock.h | | TFPBlock.h | |
|
| // @(#)root/io:$Id: TFPBlock.h 44763 2012-06-27 14:05:39Z pcanal $ | | // @(#)root/io:$Id: TFPBlock.h 46422 2012-10-09 20:35:39Z pcanal $ | |
| // Author: Elvin Sindrilaru 19/05/2011 | | // Author: Elvin Sindrilaru 19/05/2011 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2011, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2011, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 36 | | skipping to change at line 36 | |
| | | | |
| #ifndef ROOT_TObject | | #ifndef ROOT_TObject | |
| #include "TObject.h" | | #include "TObject.h" | |
| #endif | | #endif | |
| | | | |
| class TFPBlock : public TObject{ | | class TFPBlock : public TObject{ | |
| | | | |
| private: | | private: | |
| char *fBuffer; // content of the block | | char *fBuffer; // content of the block | |
| Int_t fNblock; // number of segment in the block | | Int_t fNblock; // number of segment in the block | |
|
| Int_t fFullSize; // total size of segments that make up the bloc | | Long64_t fDataSize; // total size of useful data in the block | |
| k | | Long64_t fCapacity; // capacity of the buffer | |
| Int_t *fLen; // array of lengths of each segment | | Int_t *fLen; // array of lengths of each segment | |
| Long64_t *fPos; // array of positions of each segment | | Long64_t *fPos; // array of positions of each segment | |
| Long64_t *fRelOffset; // relative offset of piece in the buffer | | Long64_t *fRelOffset; // relative offset of piece in the buffer | |
| | | | |
| TFPBlock(const TFPBlock&); // Not implemented. | | TFPBlock(const TFPBlock&); // Not implemented. | |
| TFPBlock &operator=(const TFPBlock&); // Not implemented. | | TFPBlock &operator=(const TFPBlock&); // Not implemented. | |
| | | | |
| public: | | public: | |
|
| | | | |
| TFPBlock(Long64_t*, Int_t*, Int_t); | | TFPBlock(Long64_t*, Int_t*, Int_t); | |
| virtual ~TFPBlock(); | | virtual ~TFPBlock(); | |
| | | | |
| Long64_t GetPos(Int_t) const; | | Long64_t GetPos(Int_t) const; | |
| Int_t GetLen(Int_t) const; | | Int_t GetLen(Int_t) const; | |
| | | | |
| Long64_t *GetPos() const; | | Long64_t *GetPos() const; | |
| Int_t *GetLen() const; | | Int_t *GetLen() const; | |
|
| Int_t GetFullSize() const; | | Long64_t GetDataSize() const; | |
| | | Long64_t GetCapacity() const; | |
| Int_t GetNoElem() const; | | Int_t GetNoElem() const; | |
| char *GetBuffer() const; | | char *GetBuffer() const; | |
| char *GetPtrToPiece(Int_t index) const; | | char *GetPtrToPiece(Int_t index) const; | |
| | | | |
| void SetBuffer(char*); | | void SetBuffer(char*); | |
| void SetPos(Int_t, Long64_t); | | void SetPos(Int_t, Long64_t); | |
| void ReallocBlock(Long64_t*, Int_t*, Int_t); | | void ReallocBlock(Long64_t*, Int_t*, Int_t); | |
| | | | |
| ClassDef(TFPBlock, 0); // File prefetch block | | ClassDef(TFPBlock, 0); // File prefetch block | |
| }; | | }; | |
| | | | |
| skipping to change at line 82 | | skipping to change at line 85 | |
| | | | |
| //__________________________________________________________________ | | //__________________________________________________________________ | |
| inline Int_t* TFPBlock::GetLen() const | | inline Int_t* TFPBlock::GetLen() const | |
| { | | { | |
| // Get pointer to the array of lengths. | | // Get pointer to the array of lengths. | |
| | | | |
| return fLen; | | return fLen; | |
| } | | } | |
| | | | |
| //__________________________________________________________________ | | //__________________________________________________________________ | |
|
| inline Int_t TFPBlock::GetFullSize() const | | inline Long64_t TFPBlock::GetDataSize() const | |
| | | { | |
| | | // Return size of the data in the block. | |
| | | | |
| | | return fDataSize; | |
| | | } | |
| | | | |
| | | //__________________________________________________________________ | |
| | | inline Long64_t TFPBlock::GetCapacity() const | |
| { | | { | |
|
| // Return size of the block. | | // Return capacity of the block. | |
| | | | |
|
| return fFullSize; | | return fCapacity; | |
| } | | } | |
| | | | |
| //__________________________________________________________________ | | //__________________________________________________________________ | |
| inline Int_t TFPBlock::GetNoElem() const | | inline Int_t TFPBlock::GetNoElem() const | |
| { | | { | |
| // Return number of elements in the block. | | // Return number of elements in the block. | |
| | | | |
| return fNblock; | | return fNblock; | |
| } | | } | |
| | | | |
| | | | |
End of changes. 7 change blocks. |
| 7 lines changed or deleted | | 17 lines changed or added | |
|
| TGLBoundingBox.h | | TGLBoundingBox.h | |
|
| // @(#)root/gl:$Id: TGLBoundingBox.h 37397 2010-12-08 13:54:23Z matevz $ | | // @(#)root/gl:$Id: TGLBoundingBox.h 46586 2012-10-16 20:43:26Z matevz $ | |
| // Author: Richard Maunder 25/05/2005 | | // Author: Richard Maunder 25/05/2005 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 127 | | skipping to change at line 127 | |
| TGLVertex3 Center() const; | | TGLVertex3 Center() const; | |
| TGLVector3 Extents() const; | | TGLVector3 Extents() const; | |
| const TGLVector3 & Axis(UInt_t i, Bool_t normalised = kTRUE) const; | | const TGLVector3 & Axis(UInt_t i, Bool_t normalised = kTRUE) const; | |
| Bool_t IsEmpty() const; | | Bool_t IsEmpty() const; | |
| Double_t Volume() const { return fVolume; } | | Double_t Volume() const { return fVolume; } | |
| Double_t Diagonal() const { return fDiagonal; } | | Double_t Diagonal() const { return fDiagonal; } | |
| void PlaneSet(TGLPlaneSet_t & planeSet) const; | | void PlaneSet(TGLPlaneSet_t & planeSet) const; | |
| TGLPlane GetNearPlane() const; | | TGLPlane GetNearPlane() const; | |
| | | | |
| // Overlap testing | | // Overlap testing | |
|
| EOverlap Overlap(const TGLPlane & plane) const; | | Rgl::EOverlap Overlap(const TGLPlane & plane) const; | |
| EOverlap Overlap(const TGLBoundingBox & box) const; | | Rgl::EOverlap Overlap(const TGLBoundingBox & box) const; | |
| | | | |
| void Draw(Bool_t solid = kFALSE) const; | | void Draw(Bool_t solid = kFALSE) const; | |
| void Dump() const; | | void Dump() const; | |
| | | | |
| ClassDef(TGLBoundingBox,0); // a 3D orientated bounding box | | ClassDef(TGLBoundingBox,0); // a 3D orientated bounding box | |
| }; | | }; | |
| | | | |
| //_________________________________________________________________________
_____ | | //_________________________________________________________________________
_____ | |
| inline TGLBoundingBox & TGLBoundingBox::operator =(const TGLBoundingBox & o
ther) | | inline TGLBoundingBox & TGLBoundingBox::operator =(const TGLBoundingBox & o
ther) | |
| { | | { | |
| | | | |
End of changes. 2 change blocks. |
| 3 lines changed or deleted | | 3 lines changed or added | |
|
| TGLCamera.h | | TGLCamera.h | |
|
| // @(#)root/gl:$Id: TGLCamera.h 44784 2012-06-27 19:57:47Z matevz $ | | // @(#)root/gl:$Id: TGLCamera.h 46586 2012-10-16 20:43:26Z matevz $ | |
| // Author: Richard Maunder 25/05/2005 | | // Author: Richard Maunder 25/05/2005 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 183 | | skipping to change at line 183 | |
| TGLMatrix& RefLastNoPickProjM() const { return fLastNoPickProjM; } | | TGLMatrix& RefLastNoPickProjM() const { return fLastNoPickProjM; } | |
| | | | |
| // Current orientation and frustum | | // Current orientation and frustum | |
| TGLVertex3 EyePoint() const; | | TGLVertex3 EyePoint() const; | |
| TGLVector3 EyeDirection() const; | | TGLVector3 EyeDirection() const; | |
| TGLVertex3 FrustumCenter() const; | | TGLVertex3 FrustumCenter() const; | |
| const TGLPlane & FrustumPlane(EFrustumPlane plane) const; | | const TGLPlane & FrustumPlane(EFrustumPlane plane) const; | |
| | | | |
| // Overlap / projection / intersection tests | | // Overlap / projection / intersection tests | |
| // Viewport is GL coorinate system - origin bottom/left | | // Viewport is GL coorinate system - origin bottom/left | |
|
| EOverlap FrustumOverlap (const TGLBoundingBox & box) const; // box/fru | | Rgl::EOverlap FrustumOverlap (const TGLBoundingBox & box) const; // box/ | |
| stum overlap test | | frustum overlap test | |
| EOverlap ViewportOverlap(const TGLBoundingBox & box) const; // box/vie | | Rgl::EOverlap ViewportOverlap(const TGLBoundingBox & box) const; // box/ | |
| wport overlap test | | viewport overlap test | |
| TGLRect ViewportRect (const TGLBoundingBox & box, TGLBoundingBox::E
Face face) const; | | TGLRect ViewportRect (const TGLBoundingBox & box, TGLBoundingBox::E
Face face) const; | |
| TGLRect ViewportRect (const TGLBoundingBox & box, const TGLBounding
Box::EFace * face = 0) const; | | TGLRect ViewportRect (const TGLBoundingBox & box, const TGLBounding
Box::EFace * face = 0) const; | |
| TGLVertex3 WorldToViewport(const TGLVertex3 & worldVertex, TGLMatrix* mo
dviewMat=0) const; | | TGLVertex3 WorldToViewport(const TGLVertex3 & worldVertex, TGLMatrix* mo
dviewMat=0) const; | |
| TGLVector3 WorldDeltaToViewport(const TGLVertex3 & worldRef, const TGLVe
ctor3 & worldDelta) const; | | TGLVector3 WorldDeltaToViewport(const TGLVertex3 & worldRef, const TGLVe
ctor3 & worldDelta) const; | |
| TGLVertex3 ViewportToWorld(const TGLVertex3 & viewportVertex, TGLMatrix*
modviewMat=0) const; | | TGLVertex3 ViewportToWorld(const TGLVertex3 & viewportVertex, TGLMatrix*
modviewMat=0) const; | |
| TGLLine3 ViewportToWorld(Double_t viewportX, Double_t viewportY) const
; | | TGLLine3 ViewportToWorld(Double_t viewportX, Double_t viewportY) const
; | |
| TGLLine3 ViewportToWorld(const TPoint & viewport) const; | | TGLLine3 ViewportToWorld(const TPoint & viewport) const; | |
| TGLVector3 ViewportDeltaToWorld(const TGLVertex3 & worldRef, Double_t vi
ewportXDelta, Double_t viewportYDelta, TGLMatrix* modviewMat=0) const; | | TGLVector3 ViewportDeltaToWorld(const TGLVertex3 & worldRef, Double_t vi
ewportXDelta, Double_t viewportYDelta, TGLMatrix* modviewMat=0) const; | |
| std::pair<Bool_t, TGLVertex3> ViewportPlaneIntersection(Double_t viewpor
tX, Double_t viewportY, const TGLPlane & worldPlane) const; | | std::pair<Bool_t, TGLVertex3> ViewportPlaneIntersection(Double_t viewpor
tX, Double_t viewportY, const TGLPlane & worldPlane) const; | |
| std::pair<Bool_t, TGLVertex3> ViewportPlaneIntersection(const TPoint & v
iewport, const TGLPlane & worldPlane) const; | | std::pair<Bool_t, TGLVertex3> ViewportPlaneIntersection(const TPoint & v
iewport, const TGLPlane & worldPlane) const; | |
| | | | |
End of changes. 2 change blocks. |
| 5 lines changed or deleted | | 5 lines changed or added | |
|
| TGLClip.h | | TGLClip.h | |
|
| // @(#)root/gl:$Id: TGLClip.h 32465 2010-03-04 20:29:52Z matevz $ | | // @(#)root/gl:$Id: TGLClip.h 46586 2012-10-16 20:43:26Z matevz $ | |
| // Author: Richard Maunder 16/09/2005 | | // Author: Richard Maunder 16/09/2005 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 34 | | skipping to change at line 34 | |
| // // | | // // | |
| // Abstract clipping shape - derives from TGLPhysicalShape // | | // Abstract clipping shape - derives from TGLPhysicalShape // | |
| // Adds clip mode (inside/outside) and pure virtual method to // | | // Adds clip mode (inside/outside) and pure virtual method to // | |
| // approximate shape as set of planes. This plane set is used to perform// | | // approximate shape as set of planes. This plane set is used to perform// | |
| // interactive clipping using OpenGL clip planes. // | | // interactive clipping using OpenGL clip planes. // | |
| ////////////////////////////////////////////////////////////////////////// | | ////////////////////////////////////////////////////////////////////////// | |
| | | | |
| class TGLClip : public TGLPhysicalShape | | class TGLClip : public TGLPhysicalShape | |
| { | | { | |
| public: | | public: | |
|
| enum EMode { kOutside, // Clip away what's outside | | enum EMode | |
| kInside // Clip away what's inside | | { | |
| | | kOutside, // Clip away what's outside | |
| | | kInside // Clip away what's inside | |
| | | }; | |
| | | enum EType | |
| | | { | |
| | | kClipNone = 0, | |
| | | kClipPlane, | |
| | | kClipBox | |
| }; | | }; | |
| | | | |
| protected: | | protected: | |
| EMode fMode; | | EMode fMode; | |
| UInt_t fTimeStamp; | | UInt_t fTimeStamp; | |
| Bool_t fValid; | | Bool_t fValid; | |
| | | | |
| public: | | public: | |
| TGLClip(const TGLLogicalShape & logical, const TGLMatrix & transform, co
nst float color[4]); | | TGLClip(const TGLLogicalShape & logical, const TGLMatrix & transform, co
nst float color[4]); | |
| virtual ~TGLClip(); | | virtual ~TGLClip(); | |
| | | | |
| skipping to change at line 173 | | skipping to change at line 181 | |
| void FillPlaneSet(TGLPlaneSet_t& set) const; | | void FillPlaneSet(TGLPlaneSet_t& set) const; | |
| | | | |
| // Clipping | | // Clipping | |
| void SetupClips(const TGLBoundingBox& sceneBBox); | | void SetupClips(const TGLBoundingBox& sceneBBox); | |
| void SetupCurrentClip(const TGLBoundingBox& sceneBBox); | | void SetupCurrentClip(const TGLBoundingBox& sceneBBox); | |
| void SetupCurrentClipIfInvalid(const TGLBoundingBox& sceneBBox); | | void SetupCurrentClipIfInvalid(const TGLBoundingBox& sceneBBox); | |
| | | | |
| void InvalidateClips(); | | void InvalidateClips(); | |
| void InvalidateCurrentClip(); | | void InvalidateCurrentClip(); | |
| | | | |
|
| void GetClipState(EClipType type, Double_t data[6]) const; | | void GetClipState(TGLClip::EType type, Double_t data[6]) const; | |
| void SetClipState(EClipType type, const Double_t data[6]); | | void SetClipState(TGLClip::EType type, const Double_t data[6]); | |
| | | | |
|
| EClipType GetClipType() const; | | TGLClip::EType GetClipType() const; | |
| void SetClipType(EClipType type); | | void SetClipType(TGLClip::EType type); | |
| | | | |
| // Clip control flags | | // Clip control flags | |
| Bool_t GetAutoUpdate() const { return fAutoUpdate; } | | Bool_t GetAutoUpdate() const { return fAutoUpdate; } | |
| void SetAutoUpdate(Bool_t aup) { fAutoUpdate = aup; } | | void SetAutoUpdate(Bool_t aup) { fAutoUpdate = aup; } | |
| Bool_t GetShowManip() const { return fShowManip; } | | Bool_t GetShowManip() const { return fShowManip; } | |
| void SetShowManip(Bool_t show) { fShowManip = show; } | | void SetShowManip(Bool_t show) { fShowManip = show; } | |
| Bool_t GetShowClip() const { return fShowClip; } | | Bool_t GetShowClip() const { return fShowClip; } | |
| void SetShowClip(Bool_t show) { fShowClip = show; } | | void SetShowClip(Bool_t show) { fShowClip = show; } | |
| | | | |
| ClassDef(TGLClipSet, 0); // A collection of supported clip-objects | | ClassDef(TGLClipSet, 0); // A collection of supported clip-objects | |
| | | | |
End of changes. 4 change blocks. |
| 7 lines changed or deleted | | 15 lines changed or added | |
|
| TGLClipSetEditor.h | | TGLClipSetEditor.h | |
|
| // @(#)root/gl:$Id: TGLClipSetEditor.h 32338 2010-02-12 17:11:34Z matevz $ | | // @(#)root/gl:$Id: TGLClipSetEditor.h 46586 2012-10-16 20:43:26Z matevz $ | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| #ifndef ROOT_TGLClipSetEditor | | #ifndef ROOT_TGLClipSetEditor | |
| #define ROOT_TGLClipSetEditor | | #define ROOT_TGLClipSetEditor | |
| | | | |
| #ifndef ROOT_TGedFrame | | #ifndef ROOT_TGedFrame | |
| #include "TGedFrame.h" | | #include "TGedFrame.h" | |
| #endif | | #endif | |
| #ifndef ROOT_TGLUtil | | #ifndef ROOT_TGLUtil | |
| #include "TGLUtil.h" | | #include "TGLUtil.h" | |
| #endif | | #endif | |
| | | | |
|
| | | #include "TGLClip.h" | |
| | | | |
| class TGButton; | | class TGButton; | |
| class TGCheckButton; | | class TGCheckButton; | |
| class TGNumberEntry; | | class TGNumberEntry; | |
| class TGButtonGroup; | | class TGButtonGroup; | |
|
| class TGLClipSet; | | | |
| | | | |
| class TGLClipSetSubEditor : public TGVerticalFrame { | | | |
| | | | |
|
| | | class TGLClipSetSubEditor : public TGVerticalFrame | |
| | | { | |
| private: | | private: | |
| TGLClipSetSubEditor(const TGLClipSetSubEditor&); // Not imple
mented | | TGLClipSetSubEditor(const TGLClipSetSubEditor&); // Not imple
mented | |
| TGLClipSetSubEditor& operator=(const TGLClipSetSubEditor&); // Not imple
mented | | TGLClipSetSubEditor& operator=(const TGLClipSetSubEditor&); // Not imple
mented | |
| | | | |
| protected: | | protected: | |
| TGLClipSet *fM; | | TGLClipSet *fM; | |
| | | | |
|
| EClipType fCurrentClip; | | TGLClip::EType fCurrentClip; | |
| TGButtonGroup *fTypeButtons; | | TGButtonGroup *fTypeButtons; | |
| | | | |
| TGCompositeFrame *fPlanePropFrame; | | TGCompositeFrame *fPlanePropFrame; | |
| TGNumberEntry *fPlaneProp[4]; | | TGNumberEntry *fPlaneProp[4]; | |
| | | | |
| TGCompositeFrame *fBoxPropFrame; | | TGCompositeFrame *fBoxPropFrame; | |
| TGNumberEntry *fBoxProp[6]; | | TGNumberEntry *fBoxProp[6]; | |
| TGCheckButton *fClipInside; | | TGCheckButton *fClipInside; | |
| TGCheckButton *fAutoUpdate; | | TGCheckButton *fAutoUpdate; | |
| TGCheckButton *fClipEdit; | | TGCheckButton *fClipEdit; | |
| | | | |
End of changes. 5 change blocks. |
| 5 lines changed or deleted | | 6 lines changed or added | |
|
| TGLContextPrivate.h | | TGLContextPrivate.h | |
|
| // @(#)root/gl:$Id: TGLContextPrivate.h 29056 2009-06-17 14:36:59Z matevz $ | | // @(#)root/gl:$Id: TGLContextPrivate.h 46562 2012-10-16 11:20:32Z tpochep
$ | |
| #ifndef ROOT_TGLContextPrivate | | #ifndef ROOT_TGLContextPrivate | |
| #define ROOT_TGLContextPrivate | | #define ROOT_TGLContextPrivate | |
| | | | |
| #include <map> | | #include <map> | |
| | | | |
| #include "TGLIncludes.h" | | #include "TGLIncludes.h" | |
| #include "TGLWSIncludes.h" | | #include "TGLWSIncludes.h" | |
| #include "TGLContext.h" | | #include "TGLContext.h" | |
|
| | | //#include "RConfigure.h" | |
| | | #include "GuiTypes.h" | |
| | | | |
| #ifdef WIN32 | | #ifdef WIN32 | |
| | | | |
| class TGLContextPrivate { | | class TGLContextPrivate { | |
| public: | | public: | |
| HWND fHWND; | | HWND fHWND; | |
| HDC fHDC; | | HDC fHDC; | |
| HGLRC fGLContext; | | HGLRC fGLContext; | |
| | | | |
| TGLContextPrivate() | | TGLContextPrivate() | |
| | | | |
| skipping to change at line 36 | | skipping to change at line 38 | |
| static void RemoveContext(TGLContext *ctx); | | static void RemoveContext(TGLContext *ctx); | |
| static TGLContext *GetCurrentContext(); | | static TGLContext *GetCurrentContext(); | |
| | | | |
| private: | | private: | |
| TGLContextPrivate(const TGLContextPrivate &); | | TGLContextPrivate(const TGLContextPrivate &); | |
| TGLContextPrivate &operator = (const TGLContextPrivate &); | | TGLContextPrivate &operator = (const TGLContextPrivate &); | |
| | | | |
| static std::map<HGLRC, TGLContext *> fgContexts; | | static std::map<HGLRC, TGLContext *> fgContexts; | |
| }; | | }; | |
| | | | |
|
| | | #elif defined(R__HAS_COCOA) | |
| | | | |
| | | class TGLContextPrivate { | |
| | | public: | |
| | | Handle_t fWindowID; | |
| | | Handle_t fGLContext; | |
| | | | |
| | | TGLContextPrivate() | |
| | | : fGLContext(0) | |
| | | { | |
| | | } | |
| | | | |
| | | static void RegisterContext(TGLContext *ctx); | |
| | | static void RemoveContext(TGLContext *ctx); | |
| | | static TGLContext *GetCurrentContext(); | |
| | | | |
| | | private: | |
| | | TGLContextPrivate(const TGLContextPrivate &); | |
| | | TGLContextPrivate &operator = (const TGLContextPrivate &); | |
| | | | |
| | | static std::map<Handle_t, TGLContext *> fgContexts; | |
| | | }; | |
| | | | |
| #else | | #else | |
| | | | |
| class TGLContextPrivate { | | class TGLContextPrivate { | |
| public: | | public: | |
| Display *fDpy; | | Display *fDpy; | |
| XVisualInfo *fVisualInfo; | | XVisualInfo *fVisualInfo; | |
| GLXContext fGLContext; | | GLXContext fGLContext; | |
| Window fWindowID; | | Window fWindowID; | |
| //GLXPbuffer fPBDC; | | //GLXPbuffer fPBDC; | |
| | | | |
| | | | |
| skipping to change at line 66 | | skipping to change at line 91 | |
| static TGLContext *GetCurrentContext(); | | static TGLContext *GetCurrentContext(); | |
| | | | |
| private: | | private: | |
| TGLContextPrivate(const TGLContextPrivate &); | | TGLContextPrivate(const TGLContextPrivate &); | |
| TGLContextPrivate &operator = (const TGLContextPrivate &); | | TGLContextPrivate &operator = (const TGLContextPrivate &); | |
| | | | |
| static std::map<GLXContext, TGLContext *> fgContexts; | | static std::map<GLXContext, TGLContext *> fgContexts; | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
|
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 4 change blocks. |
| 2 lines changed or deleted | | 26 lines changed or added | |
|
| TGLLogicalShape.h | | TGLLogicalShape.h | |
|
| // @(#)root/gl:$Id: TGLLogicalShape.h 33124 2010-04-21 20:04:42Z matevz $ | | // @(#)root/gl:$Id: TGLLogicalShape.h 46418 2012-10-09 19:36:03Z matevz $ | |
| // Author: Richard Maunder 25/05/2005 | | // Author: Richard Maunder 25/05/2005 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 62 | | skipping to change at line 62 | |
| mutable TGLScene *fScene; //! scene where object is stored (can b
e zero!) | | mutable TGLScene *fScene; //! scene where object is stored (can b
e zero!) | |
| mutable UInt_t fDLBase; //! display-list id base | | mutable UInt_t fDLBase; //! display-list id base | |
| mutable Int_t fDLSize; //! display-list size for different LOD
s | | mutable Int_t fDLSize; //! display-list size for different LOD
s | |
| mutable UShort_t fDLValid; //! display-list validity bit-field | | mutable UShort_t fDLValid; //! display-list validity bit-field | |
| mutable Bool_t fDLCache; //! use display list caching | | mutable Bool_t fDLCache; //! use display list caching | |
| mutable Bool_t fRefStrong; //! Strong ref (delete on 0 ref); not i
n scene | | mutable Bool_t fRefStrong; //! Strong ref (delete on 0 ref); not i
n scene | |
| mutable Bool_t fOwnExtObj; //! External object is a fake | | mutable Bool_t fOwnExtObj; //! External object is a fake | |
| | | | |
| void PurgeDLRange(UInt_t base, Int_t size) const; | | void PurgeDLRange(UInt_t base, Int_t size) const; | |
| | | | |
|
| | | static Bool_t fgIgnoreSizeForCameraInterest; | |
| | | | |
| public: | | public: | |
| TGLLogicalShape(); | | TGLLogicalShape(); | |
| TGLLogicalShape(TObject* obj); | | TGLLogicalShape(TObject* obj); | |
| TGLLogicalShape(const TBuffer3D & buffer); | | TGLLogicalShape(const TBuffer3D & buffer); | |
| virtual ~TGLLogicalShape(); | | virtual ~TGLLogicalShape(); | |
| | | | |
| // Physical shape reference-counting, replica management | | // Physical shape reference-counting, replica management | |
| UInt_t Ref() const { return fRef; } | | UInt_t Ref() const { return fRef; } | |
| void AddRef(TGLPhysicalShape* phys) const; | | void AddRef(TGLPhysicalShape* phys) const; | |
| void SubRef(TGLPhysicalShape* phys) const; | | void SubRef(TGLPhysicalShape* phys) const; | |
| | | | |
| skipping to change at line 101 | | skipping to change at line 103 | |
| virtual void DLCacheDrop(); | | virtual void DLCacheDrop(); | |
| virtual void DLCachePurge(); | | virtual void DLCachePurge(); | |
| | | | |
| virtual ELODAxes SupportedLODAxes() const { return kLODAxesNone; } | | virtual ELODAxes SupportedLODAxes() const { return kLODAxesNone; } | |
| virtual Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) co
nst; | | virtual Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) co
nst; | |
| virtual void Draw(TGLRnrCtx& rnrCtx) const; | | virtual void Draw(TGLRnrCtx& rnrCtx) const; | |
| virtual void DirectDraw(TGLRnrCtx& rnrCtx) const = 0; // Actual draw
method (non DL cached) | | virtual void DirectDraw(TGLRnrCtx& rnrCtx) const = 0; // Actual draw
method (non DL cached) | |
| | | | |
| virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape
* pshp, Int_t lvl=-1) const; | | virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape
* pshp, Int_t lvl=-1) const; | |
| | | | |
|
| virtual Bool_t IgnoreSizeForOfInterest() const { return kFALSE; } | | virtual Bool_t IgnoreSizeForOfInterest() const; | |
| | | | |
| // Override in sub-classes that do direct object rendering (e.g. TGLObje
ct). | | // Override in sub-classes that do direct object rendering (e.g. TGLObje
ct). | |
| virtual Bool_t KeepDuringSmartRefresh() const { return kFALSE; } | | virtual Bool_t KeepDuringSmartRefresh() const { return kFALSE; } | |
| // Override in sub-classes that support secondary selection (e.g. TPoint
Set3DGL). | | // Override in sub-classes that support secondary selection (e.g. TPoint
Set3DGL). | |
| virtual Bool_t SupportsSecondarySelect() const { return kFALSE; } | | virtual Bool_t SupportsSecondarySelect() const { return kFALSE; } | |
| virtual Bool_t AlwaysSecondarySelect() const { return kFALSE; } | | virtual Bool_t AlwaysSecondarySelect() const { return kFALSE; } | |
| virtual void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec)
; | | virtual void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec)
; | |
| | | | |
| void InvokeContextMenu(TContextMenu & menu, UInt_t x, UInt_t y) const; | | void InvokeContextMenu(TContextMenu & menu, UInt_t x, UInt_t y) const; | |
| | | | |
|
| | | static Bool_t GetIgnoreSizeForCameraInterest(); | |
| | | static void SetIgnoreSizeForCameraInterest(Bool_t isfci); | |
| | | | |
| ClassDef(TGLLogicalShape,0) // a logical (non-placed, local frame) drawa
ble object | | ClassDef(TGLLogicalShape,0) // a logical (non-placed, local frame) drawa
ble object | |
| }; | | }; | |
| | | | |
| #endif // ROOT_TGLLogicalShape | | #endif // ROOT_TGLLogicalShape | |
| | | | |
End of changes. 4 change blocks. |
| 2 lines changed or deleted | | 7 lines changed or added | |
|
| TGLPerspectiveCamera.h | | TGLPerspectiveCamera.h | |
|
| // @(#)root/gl:$Id: TGLPerspectiveCamera.h 31821 2009-12-10 18:22:44Z matev
z $ | | // @(#)root/gl:$Id: TGLPerspectiveCamera.h 46586 2012-10-16 20:43:26Z matev
z $ | |
| // Author: Richard Maunder 25/05/2005 | | // Author: Richard Maunder 25/05/2005 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| #define ROOT_TGLPerspectiveCamera | | #define ROOT_TGLPerspectiveCamera | |
| | | | |
| #include "TGLCamera.h" | | #include "TGLCamera.h" | |
| | | | |
| ////////////////////////////////////////////////////////////////////////// | | ////////////////////////////////////////////////////////////////////////// | |
| // // | | // // | |
| // TGLPerspectiveCamera // | | // TGLPerspectiveCamera // | |
| // // | | // // | |
| // Perspective projection camera - with characteristic foreshortening. // | | // Perspective projection camera - with characteristic foreshortening. // | |
| // // | | // // | |
|
| // TODO: Currently constrains YOZ plane to be floor - this is never // | | | |
| // 'tipped'. While useful we really need to extend so can: // | | | |
| // i) Pick any one of the three natural planes of the world to be floor.// | | | |
| // ii) Can use a free arcball style camera with no contraint - integrate// | | | |
| // TArcBall. // | | | |
| ////////////////////////////////////////////////////////////////////////// | | ////////////////////////////////////////////////////////////////////////// | |
| | | | |
| class TGLPerspectiveCamera : public TGLCamera | | class TGLPerspectiveCamera : public TGLCamera | |
| { | | { | |
| private: | | private: | |
| // Fields | | // Fields | |
| Double_t fFOV; //! | | Double_t fFOV; //! | |
| | | | |
| static Double_t fgFOVMin, fgFOVDefault, fgFOVMax; | | static Double_t fgFOVMin, fgFOVDefault, fgFOVMax; | |
| static UInt_t fgFOVDeltaSens; | | static UInt_t fgFOVDeltaSens; | |
| | | | |
End of changes. 2 change blocks. |
| 6 lines changed or deleted | | 1 lines changed or added | |
|
| TGLPhysicalShape.h | | TGLPhysicalShape.h | |
|
| // @(#)root/gl:$Id: TGLPhysicalShape.h 32465 2010-03-04 20:29:52Z matevz $ | | // @(#)root/gl:$Id: TGLPhysicalShape.h 46418 2012-10-09 19:36:03Z matevz $ | |
| // Author: Richard Maunder 25/05/2005 | | // Author: Richard Maunder 25/05/2005 | |
| // Parts taken from original TGLSceneObject Timur Pocheptsov | | // Parts taken from original TGLSceneObject Timur Pocheptsov | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| skipping to change at line 66 | | skipping to change at line 66 | |
| private: | | private: | |
| // Fields | | // Fields | |
| const TGLLogicalShape * fLogicalShape; //! the associated logical shape | | const TGLLogicalShape * fLogicalShape; //! the associated logical shape | |
| TGLPhysicalShape* fNextPhysical; //! pointer to next replica | | TGLPhysicalShape* fNextPhysical; //! pointer to next replica | |
| TGLPShapeRef * fFirstPSRef; //! pointer to first reference | | TGLPShapeRef * fFirstPSRef; //! pointer to first reference | |
| | | | |
| UInt_t fID; //! unique physical ID within con
taining scene | | UInt_t fID; //! unique physical ID within con
taining scene | |
| TGLMatrix fTransform; //! transform (placement) of phys
ical instance | | TGLMatrix fTransform; //! transform (placement) of phys
ical instance | |
| TGLBoundingBox fBoundingBox; //! bounding box of the physical
(transformed) | | TGLBoundingBox fBoundingBox; //! bounding box of the physical
(transformed) | |
| Float_t fColor[17]; //! GL color array | | Float_t fColor[17]; //! GL color array | |
|
| | | EManip fManip; //! permitted manipulation bitfla
gs - see EManip | |
| UChar_t fSelected; //! selected state | | UChar_t fSelected; //! selected state | |
| Bool_t fInvertedWind; //! face winding TODO: can get di
rectly from fTransform? | | Bool_t fInvertedWind; //! face winding TODO: can get di
rectly from fTransform? | |
| Bool_t fModified; //! has been modified - retain ac
ross scene rebuilds | | Bool_t fModified; //! has been modified - retain ac
ross scene rebuilds | |
|
| EManip fManip; //! permitted manipulation bitfla
gs - see EManip | | Bool_t fIsScaleForRnr;//! cache | |
| | | | |
| // Methods | | // Methods | |
| void UpdateBoundingBox(); | | void UpdateBoundingBox(); | |
| void InitColor(const Float_t rgba[4]); | | void InitColor(const Float_t rgba[4]); | |
| | | | |
| public: | | public: | |
| TGLPhysicalShape(UInt_t ID, const TGLLogicalShape & logicalShape, | | TGLPhysicalShape(UInt_t ID, const TGLLogicalShape & logicalShape, | |
| const TGLMatrix & transform, Bool_t invertedWind, | | const TGLMatrix & transform, Bool_t invertedWind, | |
| const Float_t rgba[4]); | | const Float_t rgba[4]); | |
| TGLPhysicalShape(UInt_t ID, const TGLLogicalShape & logicalShape, | | TGLPhysicalShape(UInt_t ID, const TGLLogicalShape & logicalShape, | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 3 lines changed or added | |
|
| TGLRnrCtx.h | | TGLRnrCtx.h | |
|
| // @(#)root/gl:$Id: TGLRnrCtx.h 42979 2012-02-13 03:17:03Z matevz $ | | // @(#)root/gl:$Id: TGLRnrCtx.h 46562 2012-10-16 11:20:32Z tpochep $ | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| #ifndef ROOT_TGLRnrCtx | | #ifndef ROOT_TGLRnrCtx | |
| #define ROOT_TGLRnrCtx | | #define ROOT_TGLRnrCtx | |
| | | | |
| skipping to change at line 265 | | skipping to change at line 265 | |
| | | | |
| TGLContextIdentity* GetGLCtxIdentity() const { return fGLCtxIdentity;
} | | TGLContextIdentity* GetGLCtxIdentity() const { return fGLCtxIdentity;
} | |
| void SetGLCtxIdentity(TGLContextIdentity* cid) { fGLCtxIdentity = cid; } | | void SetGLCtxIdentity(TGLContextIdentity* cid) { fGLCtxIdentity = cid; } | |
| | | | |
| void RegisterFont(Int_t size, Int_t file, Int_t mode, TGLFont& out); | | void RegisterFont(Int_t size, Int_t file, Int_t mode, TGLFont& out); | |
| void RegisterFont(Int_t size, const char* name, Int_t mode, TGLFont& ou
t); | | void RegisterFont(Int_t size, const char* name, Int_t mode, TGLFont& ou
t); | |
| void RegisterFontNoScale(Int_t size, Int_t file, Int_t mode, TGLFont& o
ut); | | void RegisterFontNoScale(Int_t size, Int_t file, Int_t mode, TGLFont& o
ut); | |
| void RegisterFontNoScale(Int_t size, const char* name, Int_t mode, TGLF
ont& out); | | void RegisterFontNoScale(Int_t size, const char* name, Int_t mode, TGLF
ont& out); | |
| void ReleaseFont(TGLFont& font); | | void ReleaseFont(TGLFont& font); | |
| | | | |
|
| GLUquadric* GetGluQuadric() { return fQuadric; } | | GLUquadric* GetGluQuadric(); | |
| | | | |
| // Picture grabbing | | // Picture grabbing | |
| void SetGrabImage(Bool_t gi) { fGrabImage = gi; } | | void SetGrabImage(Bool_t gi) { fGrabImage = gi; } | |
| Bool_t GetGrabImage() const { return fGrabImage; } | | Bool_t GetGrabImage() const { return fGrabImage; } | |
| | | | |
| // Matrix manipulation helpers | | // Matrix manipulation helpers | |
| void ProjectionMatrixPushIdentity(); | | void ProjectionMatrixPushIdentity(); | |
| void ProjectionMatrixPop(); | | void ProjectionMatrixPop(); | |
| | | | |
| ClassDef(TGLRnrCtx, 0); // Collection of objects and data passes along a
ll rendering calls. | | ClassDef(TGLRnrCtx, 0); // Collection of objects and data passes along a
ll rendering calls. | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 2 lines changed or added | |
|
| TGLUtil.h | | TGLUtil.h | |
|
| // @(#)root/gl:$Id: TGLUtil.h 42953 2012-02-09 22:40:19Z matevz $ | | // @(#)root/gl:$Id: TGLUtil.h 46586 2012-10-16 20:43:26Z matevz $ | |
| // Author: Richard Maunder 25/05/2005 | | // Author: Richard Maunder 25/05/2005 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| #ifndef ROOT_TGLUtil | | #ifndef ROOT_TGLUtil | |
| #define ROOT_TGLUtil | | #define ROOT_TGLUtil | |
| | | | |
| #ifndef ROOT_Rtypes | | #ifndef ROOT_Rtypes | |
| #include "Rtypes.h" | | #include "Rtypes.h" | |
| #endif | | #endif | |
| #ifndef ROOT_TError | | #ifndef ROOT_TError | |
| #include "TError.h" | | #include "TError.h" | |
| #endif | | #endif | |
| | | | |
|
| | | #include <vector> | |
| | | #include <cmath> | |
| | | #include <cassert> | |
| | | | |
| class TString; | | class TString; | |
| class TGLBoundingBox; | | class TGLBoundingBox; | |
| class TGLCamera; | | class TGLCamera; | |
| | | | |
| class TAttMarker; | | class TAttMarker; | |
| class TAttLine; | | class TAttLine; | |
| | | | |
| class GLUtesselator; | | class GLUtesselator; | |
| | | | |
|
| #include <vector> | | namespace Rgl | |
| #include <cmath> | | | |
| #include <cassert> | | | |
| | | | |
| // TODO:Find a better place for these enums - TGLEnum.h? | | | |
| // Whole GL viewer should be moved into own namespace | | | |
| // probably | | | |
| enum EPosition | | | |
| { | | { | |
|
| kInFront = 0, | | enum EOverlap | |
| kBehind | | { | |
| }; | | kInside = 0, | |
| | | kPartial, | |
| enum EOverlap | | kOutside | |
| { | | }; | |
| kInside = 0, | | } | |
| kPartial, | | | |
| kOutside | | | |
| }; | | | |
| | | | |
| enum EClipType | | | |
| { | | | |
| kClipNone = 0, | | | |
| kClipPlane, | | | |
| kClipBox | | | |
| }; | | | |
| | | | |
|
| enum EManipType | | enum EGLCoordType | |
| { | | { | |
|
| kManipTrans = 0, | | | |
| kManipScale, | | | |
| kManipRotate | | | |
| }; | | | |
| | | | |
| enum EGLCoordType { | | | |
| kGLCartesian, | | kGLCartesian, | |
| kGLPolar, | | kGLPolar, | |
| kGLCylindrical, | | kGLCylindrical, | |
| kGLSpherical | | kGLSpherical | |
| }; | | }; | |
| | | | |
|
| enum EGLPlotType { | | enum EGLPlotType | |
| | | { | |
| kGLLegoPlot, | | kGLLegoPlot, | |
| kGLSurfacePlot, | | kGLSurfacePlot, | |
| kGLBoxPlot, | | kGLBoxPlot, | |
| kGLTF3Plot, | | kGLTF3Plot, | |
| kGLStackPlot, | | kGLStackPlot, | |
| kGLParametricPlot, | | kGLParametricPlot, | |
| kGLIsoPlot, | | kGLIsoPlot, | |
| kGL5D, | | kGL5D, | |
| kGLTH3Composition, | | kGLTH3Composition, | |
| kGLVoxel, | | kGLVoxel, | |
| | | | |
| skipping to change at line 486 | | skipping to change at line 468 | |
| Int_t CenterY() const { return fY + fHeight/2; } | | Int_t CenterY() const { return fY + fHeight/2; } | |
| Int_t Left() const { return fX; } | | Int_t Left() const { return fX; } | |
| Int_t Right() const { return fX + fWidth; } | | Int_t Right() const { return fX + fWidth; } | |
| Int_t Top() const { return fY; } | | Int_t Top() const { return fY; } | |
| Int_t Bottom() const { return fY + fHeight; } | | Int_t Bottom() const { return fY + fHeight; } | |
| | | | |
| Int_t Diagonal() const; | | Int_t Diagonal() const; | |
| Int_t Longest() const; | | Int_t Longest() const; | |
| | | | |
| Double_t Aspect() const; | | Double_t Aspect() const; | |
|
| EOverlap Overlap(const TGLRect & other) const; | | Rgl::EOverlap Overlap(const TGLRect & other) const; | |
| | | | |
| ClassDef(TGLRect,0); // GL rect helper/wrapper class | | ClassDef(TGLRect,0); // GL rect helper/wrapper class | |
| }; | | }; | |
| | | | |
| //_________________________________________________________________________
_____ | | //_________________________________________________________________________
_____ | |
| inline void TGLRect::Set(Int_t x, Int_t y, Int_t width, Int_t height) | | inline void TGLRect::Set(Int_t x, Int_t y, Int_t width, Int_t height) | |
| { | | { | |
| fX = x; | | fX = x; | |
| fY = y; | | fY = y; | |
| fWidth = width; | | fWidth = width; | |
| | | | |
| skipping to change at line 666 | | skipping to change at line 648 | |
| void Rotate(const TGLVertex3 & pivot, const TGLVector3 & axis, Double_t
angle); | | void Rotate(const TGLVertex3 & pivot, const TGLVector3 & axis, Double_t
angle); | |
| void RotateLF(Int_t i1, Int_t i2, Double_t amount); | | void RotateLF(Int_t i1, Int_t i2, Double_t amount); | |
| void RotatePF(Int_t i1, Int_t i2, Double_t amount); | | void RotatePF(Int_t i1, Int_t i2, Double_t amount); | |
| void TransformVertex(TGLVertex3 & vertex) const; | | void TransformVertex(TGLVertex3 & vertex) const; | |
| void Transpose3x3(); | | void Transpose3x3(); | |
| Double_t Invert(); | | Double_t Invert(); | |
| | | | |
| // Accesors | | // Accesors | |
| TGLVector3 GetTranslation() const; | | TGLVector3 GetTranslation() const; | |
| TGLVector3 GetScale() const; | | TGLVector3 GetScale() const; | |
|
| | | Bool_t IsScalingForRender() const; | |
| | | | |
| void SetBaseVec(Int_t b, Double_t x, Double_t y, Double_t z); | | void SetBaseVec(Int_t b, Double_t x, Double_t y, Double_t z); | |
| void SetBaseVec(Int_t b, const TGLVector3& v); | | void SetBaseVec(Int_t b, const TGLVector3& v); | |
| void SetBaseVec(Int_t b, Double_t* x); | | void SetBaseVec(Int_t b, Double_t* x); | |
| | | | |
| TGLVector3 GetBaseVec(Int_t b) const; | | TGLVector3 GetBaseVec(Int_t b) const; | |
| void GetBaseVec(Int_t b, TGLVector3& v) const; | | void GetBaseVec(Int_t b, TGLVector3& v) const; | |
| void GetBaseVec(Int_t b, Double_t* x) const; | | void GetBaseVec(Int_t b, Double_t* x) const; | |
| | | | |
| TGLVector3 Multiply(const TGLVector3& v, Double_t w=1) const; | | TGLVector3 Multiply(const TGLVector3& v, Double_t w=1) const; | |
| | | | |
End of changes. 9 change blocks. |
| 35 lines changed or deleted | | 18 lines changed or added | |
|
| TGraph2D.h | | TGraph2D.h | |
| | | | |
| skipping to change at line 94 | | skipping to change at line 94 | |
| TGraph2D(Int_t n, Double_t *x, Double_t *y, Double_t *z); | | TGraph2D(Int_t n, Double_t *x, Double_t *y, Double_t *z); | |
| TGraph2D(TH2 *h2); | | TGraph2D(TH2 *h2); | |
| TGraph2D(const char *name, const char *title, Int_t n, Double_t *x, Doub
le_t *y, Double_t *z); | | TGraph2D(const char *name, const char *title, Int_t n, Double_t *x, Doub
le_t *y, Double_t *z); | |
| TGraph2D(const char *filename, const char *format="%lg %lg %lg", Option_
t *option=""); | | TGraph2D(const char *filename, const char *format="%lg %lg %lg", Option_
t *option=""); | |
| TGraph2D(const TGraph2D &); | | TGraph2D(const TGraph2D &); | |
| | | | |
| virtual ~TGraph2D(); | | virtual ~TGraph2D(); | |
| | | | |
| TGraph2D& operator=(const TGraph2D &); | | TGraph2D& operator=(const TGraph2D &); | |
| | | | |
|
| | | virtual void Browse(TBrowser *); | |
| virtual void Clear(Option_t *option=""); | | virtual void Clear(Option_t *option=""); | |
| virtual void DirectoryAutoAdd(TDirectory *); | | virtual void DirectoryAutoAdd(TDirectory *); | |
| Int_t DistancetoPrimitive(Int_t px, Int_t py); | | Int_t DistancetoPrimitive(Int_t px, Int_t py); | |
| virtual void Draw(Option_t *option=""); | | virtual void Draw(Option_t *option=""); | |
| void ExecuteEvent(Int_t event, Int_t px, Int_t py); | | void ExecuteEvent(Int_t event, Int_t px, Int_t py); | |
| virtual TObject *FindObject(const char *name) const; | | virtual TObject *FindObject(const char *name) const; | |
| virtual TObject *FindObject(const TObject *obj) const; | | virtual TObject *FindObject(const TObject *obj) const; | |
| virtual TFitResultPtr Fit(const char *formula ,Option_t *option="" ,Opti
on_t *goption=""); // *MENU* | | virtual TFitResultPtr Fit(const char *formula ,Option_t *option="" ,Opti
on_t *goption=""); // *MENU* | |
| virtual TFitResultPtr Fit(TF2 *f2 ,Option_t *option="" ,Option_t *goptio
n=""); // *MENU* | | virtual TFitResultPtr Fit(TF2 *f2 ,Option_t *option="" ,Option_t *goptio
n=""); // *MENU* | |
| virtual void FitPanel(); // *MENU* | | virtual void FitPanel(); // *MENU* | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|
| TVirtualX.h | | TVirtualX.h | |
|
| // @(#)root/base:$Id: TVirtualX.h 45299 2012-07-30 16:12:56Z rdm $ | | // @(#)root/base:$Id: TVirtualX.h 46801 2012-10-25 12:47:21Z rdm $ | |
| // Author: Fons Rademakers 3/12/95 | | // Author: Fons Rademakers 3/12/95 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |
| * All rights reserved. * | | * All rights reserved. * | |
| * * | | * * | |
| * For the licensing terms see $ROOTSYS/LICENSE. * | | * For the licensing terms see $ROOTSYS/LICENSE. * | |
| * For the list of contributors see $ROOTSYS/README/CREDITS. * | | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 93 | | skipping to change at line 93 | |
| | | | |
| virtual Bool_t Init(void *display=0); | | virtual Bool_t Init(void *display=0); | |
| virtual void ClearWindow(); | | virtual void ClearWindow(); | |
| virtual void ClosePixmap(); | | virtual void ClosePixmap(); | |
| virtual void CloseWindow(); | | virtual void CloseWindow(); | |
| virtual void CopyPixmap(Int_t wid, Int_t xpos, Int_t ypos); | | virtual void CopyPixmap(Int_t wid, Int_t xpos, Int_t ypos); | |
| virtual void CreateOpenGLContext(Int_t wid=0); | | virtual void CreateOpenGLContext(Int_t wid=0); | |
| virtual void DeleteOpenGLContext(Int_t wid=0); | | virtual void DeleteOpenGLContext(Int_t wid=0); | |
| | | | |
| //---- OpenGL related stuff, required only with R__HAS_COCOA ---- | | //---- OpenGL related stuff, required only with R__HAS_COCOA ---- | |
|
| | | virtual Double_t GetOpenGLScalingFactor(); | |
| virtual Window_t CreateOpenGLWindow(Window_t parentID, UInt_t width, UI
nt_t height, const std::vector<std::pair<UInt_t, Int_t> > &format); | | virtual Window_t CreateOpenGLWindow(Window_t parentID, UInt_t width, UI
nt_t height, const std::vector<std::pair<UInt_t, Int_t> > &format); | |
| virtual Handle_t CreateOpenGLContext(Window_t windowID, Handle_t shared
Context); | | virtual Handle_t CreateOpenGLContext(Window_t windowID, Handle_t shared
Context); | |
| virtual Bool_t MakeOpenGLContextCurrent(Handle_t ctx, Window_t window
ID); | | virtual Bool_t MakeOpenGLContextCurrent(Handle_t ctx, Window_t window
ID); | |
| virtual Handle_t GetCurrentOpenGLContext(); | | virtual Handle_t GetCurrentOpenGLContext(); | |
| virtual void FlushOpenGLBuffer(Handle_t ctx); | | virtual void FlushOpenGLBuffer(Handle_t ctx); | |
| | | | |
| virtual void DrawBox(Int_t x1, Int_t y1, Int_t x2, Int_t y2, EBoxMo
de mode); | | virtual void DrawBox(Int_t x1, Int_t y1, Int_t x2, Int_t y2, EBoxMo
de mode); | |
| virtual void DrawCellArray(Int_t x1, Int_t y1, Int_t x2, Int_t y2, | | virtual void DrawCellArray(Int_t x1, Int_t y1, Int_t x2, Int_t y2, | |
| Int_t nx, Int_t ny, Int_t *ic); | | Int_t nx, Int_t ny, Int_t *ic); | |
| virtual void DrawFillArea(Int_t n, TPoint *xy); | | virtual void DrawFillArea(Int_t n, TPoint *xy); | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 2 lines changed or added | |
|