Api.h   Api.h 
skipping to change at line 55 skipping to change at line 55
#include "Typedf.h" #include "Typedf.h"
#include "Token.h" #include "Token.h"
#include <vector> #include <vector>
#include <string> #include <string>
#ifndef __CINT__ #ifndef __CINT__
struct G__includepath; struct G__includepath;
#endif #endif
extern "C" {
#ifndef __CINT__
G__EXPORT
#endif
int G__Lsizeof(const char *typenamein);
}
struct G__ConstStringList;
struct G__Preprocessfilekey;
struct G__Deffuncmacro;
struct G__Definedtemplateclass;
struct G__Definetemplatefunc;
/*********************************************************************
* scratch upto dictionary position
*********************************************************************/
struct G__dictposition {
/* global variable table position */
struct G__var_array *var;
int ig15;
/* struct tagnum */
int tagnum;
/* const string table */
struct G__ConstStringList *conststringpos;
/* typedef table */
int typenum;
/* global function table position */
struct G__ifunc_table *ifunc;
int ifn;
/* include path */
struct G__includepath *ipath;
/* shared library file */
int allsl;
/* preprocessfilekey */
struct G__Preprocessfilekey *preprocessfilekey;
/* input file */
int nfile;
/* macro table */
struct G__Deffuncmacro *deffuncmacro;
/* template class */
struct G__Definedtemplateclass *definedtemplateclass;
/* function template */
struct G__Definetemplatefunc *definedtemplatefunc;
char* ptype; /* struct,union,enum,class */
};
namespace Cint { namespace Cint {
/********************************************************************* /*********************************************************************
* $xxx object resolution function, pointer to a class object * $xxx object resolution function, pointer to a class object
* *
* Usage: * Usage:
* *
* void YourGetObject(char *name,G__ClassInfo *type) { * void YourGetObject(char *name,G__ClassInfo *type) {
* void *p; * void *p;
* // Whatever you want to fill type and pointetr to the object info * // Whatever you want to fill type and pointetr to the object info
 End of changes. 1 change blocks. 
0 lines changed or deleted 47 lines changed or added


 Chi2FCN.h   Chi2FCN.h 
// @(#)root/mathcore:$Id: Chi2FCN.h 26014 2008-10-29 16:37:28Z moneta $ // @(#)root/mathcore:$Id: Chi2FCN.h 26866 2008-12-12 10:50:07Z moneta $
// Author: L. Moneta Tue Sep 5 09:13:32 2006 // Author: L. Moneta Tue Sep 5 09:13:32 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class Chi2FCN // Header file for class Chi2FCN
#ifndef ROOT_Fit_Chi2FCN #ifndef ROOT_Fit_Chi2FCN
#define ROOT_Fit_Chi2FCN #define ROOT_Fit_Chi2FCN
#ifndef ROOT_Math_FitMethodunction #ifndef ROOT_Math_FitMethodFunction
#include "Math/FitMethodFunction.h" #include "Math/FitMethodFunction.h"
#endif #endif
#ifndef ROOT_Math_IParamFunction #ifndef ROOT_Math_IParamFunction
#include "Math/IParamFunction.h" #include "Math/IParamFunction.h"
#endif #endif
#ifndef ROOT_Fit_BinData #ifndef ROOT_Fit_BinData
#include "Fit/BinData.h" #include "Fit/BinData.h"
#endif #endif
skipping to change at line 179 skipping to change at line 179
const BinData & fData; const BinData & fData;
mutable IModelFunction & fFunc; mutable IModelFunction & fFunc;
mutable unsigned int fNEffPoints; // number of effective points used in the fit mutable unsigned int fNEffPoints; // number of effective points used in the fit
mutable std::vector<double> fGrad; // for derivatives mutable std::vector<double> fGrad; // for derivatives
}; };
// define useful typedef's
typedef Chi2FCN<ROOT::Math::IMultiGenFunction> Chi2Function;
typedef Chi2FCN<ROOT::Math::IMultiGradFunction> Chi2GradFunction;
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Fit_Chi2FCN */ #endif /* ROOT_Fit_Chi2FCN */
 End of changes. 3 change blocks. 
2 lines changed or deleted 6 lines changed or added


 CombinedCalculator.h   CombinedCalculator.h 
// @(#)root/roostats:$Id: CombinedCalculator.h 26324 2008-11-20 17:17:32Z m oneta $ // @(#)root/roostats:$Id: CombinedCalculator.h 26964 2008-12-16 16:30:01Z m oneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_CombinedCalculator #ifndef ROOSTATS_CombinedCalculator
skipping to change at line 83 skipping to change at line 83
CombinedCalculator(){ CombinedCalculator(){
// default constructor // default constructor
fWS = 0; fWS = 0;
fNullParams = 0; fNullParams = 0;
fAlternateParams = 0; fAlternateParams = 0;
fPOI = 0; fPOI = 0;
fNuisParams = 0; fNuisParams = 0;
fOwnsWorkspace = false; fOwnsWorkspace = false;
} }
CombinedCalculator(RooWorkspace* ws, RooAbsData* data, RooAbsPdf* pdf , RooArgSet* paramsOfInterest, CombinedCalculator(RooWorkspace& ws, RooAbsData& data, RooAbsPdf& pdf , RooArgSet& paramsOfInterest,
Double_t size = 0.05, RooArgSet* nullParams = 0, R ooArgSet* altParams = 0){ Double_t size = 0.05, RooArgSet* nullParams = 0, R ooArgSet* altParams = 0){
// alternate constructor // alternate constructor
SetWorkspace(ws); SetWorkspace(ws);
SetData(data); SetData(data);
SetPdf(pdf); SetPdf(pdf);
SetParameters(paramsOfInterest); SetParameters(paramsOfInterest);
SetSize(size); SetSize(size);
if(nullParams ) if(nullParams )
SetNullParameters(nullParams); SetNullParameters(*nullParams);
else else
SetNullParameters(paramsOfInterest); SetNullParameters(paramsOfInterest);
SetAlternateParameters(altParams); if (altParams) SetAlternateParameters(*altParams);
fOwnsWorkspace = false; fOwnsWorkspace = false;
} }
CombinedCalculator(RooAbsData* data, RooAbsPdf* pdf, RooArgSet* param sOfInterest, CombinedCalculator(RooAbsData& data, RooAbsPdf& pdf, RooArgSet& param sOfInterest,
Double_t size = 0.05, RooArgSet* nullParams = 0, R ooArgSet* altParams = 0){ Double_t size = 0.05, RooArgSet* nullParams = 0, R ooArgSet* altParams = 0){
// alternate constructor // alternate constructor
fWS = new RooWorkspace(); fWS = new RooWorkspace();
fOwnsWorkspace = true; fOwnsWorkspace = true;
SetData(data); SetData(data);
SetPdf(pdf); SetPdf(pdf);
SetParameters(paramsOfInterest); SetParameters(paramsOfInterest);
SetSize(size); SetSize(size);
if(nullParams ) if(nullParams )
SetNullParameters(nullParams); SetNullParameters(*nullParams);
else else
SetNullParameters(paramsOfInterest); SetNullParameters(paramsOfInterest);
SetAlternateParameters(altParams); if (altParams) SetAlternateParameters(*altParams);
} }
virtual ~CombinedCalculator() { virtual ~CombinedCalculator() {
// destructor. // destructor.
if( fOwnsWorkspace && fWS) delete fWS; if( fOwnsWorkspace && fWS) delete fWS;
// commented out b/c currently the calculator does not own these. Change if we clone. // commented out b/c currently the calculator does not own these. Change if we clone.
// if (fWS) delete fWS; // if (fWS) delete fWS;
// if (fNullParams) delete fNullParams; // if (fNullParams) delete fNullParams;
// if (fAlternateParams) delete fAlternateParams; // if (fAlternateParams) delete fAlternateParams;
// if (fPOI) delete fPOI; // if (fPOI) delete fPOI;
skipping to change at line 141 skipping to change at line 141
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval) // set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval)
virtual void SetSize(Double_t size) {fSize = size;} virtual void SetSize(Double_t size) {fSize = size;}
// set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval) // set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval)
virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;} virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;}
// Get the size of the test (eg. rate of Type I error) // Get the size of the test (eg. rate of Type I error)
virtual Double_t Size() const {return fSize;} virtual Double_t Size() const {return fSize;}
// Get the Confidence level for the test // Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const {return 1.-fSize;} virtual Double_t ConfidenceLevel() const {return 1.-fSize;}
// set a workspace that owns all the necessary components for the ana lysis // set a workspace that owns all the necessary components for the ana lysis
virtual void SetWorkspace(RooWorkspace* ws) { virtual void SetWorkspace(RooWorkspace & ws) {
if (!fWS) if (!fWS)
fWS = ws; fWS = &ws;
else{ else{
RooMsgService::instance().setGlobalKillBelow(RooMsgService::ERR OR) ; RooMsgService::instance().setGlobalKillBelow(RooMsgService::ERR OR) ;
fWS->merge(*ws); fWS->merge(ws);
RooMsgService::instance().setGlobalKillBelow(RooMsgService::DEB UG) ; RooMsgService::instance().setGlobalKillBelow(RooMsgService::DEB UG) ;
} }
} }
// Set the DataSet, add to the the workspace if not already there // Set the DataSet, add to the the workspace if not already there
virtual void SetData(RooAbsData* data) { virtual void SetData(RooAbsData & data) {
if (!fWS) if (!fWS) {
fWS = new RooWorkspace(); fWS = new RooWorkspace();
if (! fWS->data( data->GetName() ) ){ fOwnsWorkspace = true;
}
if (! fWS->data( data.GetName() ) ){
RooMsgService::instance().setGlobalKillBelow(RooMsgService::ERR OR) ; RooMsgService::instance().setGlobalKillBelow(RooMsgService::ERR OR) ;
fWS->import(*data); fWS->import(data);
RooMsgService::instance().setGlobalKillBelow(RooMsgService::DEB UG) ; RooMsgService::instance().setGlobalKillBelow(RooMsgService::DEB UG) ;
} }
SetData( data->GetName() ); SetData( data.GetName() );
}; };
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetPdf(RooAbsPdf* pdf) { virtual void SetPdf(RooAbsPdf& pdf) {
if (!fWS) if (!fWS)
fWS = new RooWorkspace(); fWS = new RooWorkspace();
if (! fWS->pdf( pdf->GetName() ) ){ if (! fWS->pdf( pdf.GetName() ) ){
RooMsgService::instance().setGlobalKillBelow(RooMsgService::ERR OR) ; RooMsgService::instance().setGlobalKillBelow(RooMsgService::ERR OR) ;
fWS->import(*pdf); fWS->import(pdf);
RooMsgService::instance().setGlobalKillBelow(RooMsgService::DEB UG) ; RooMsgService::instance().setGlobalKillBelow(RooMsgService::DEB UG) ;
} }
SetPdf( pdf->GetName() ); SetPdf( pdf.GetName() );
} }
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetCommonPdf(RooAbsPdf* pdf) { SetPdf(pdf);} virtual void SetCommonPdf(RooAbsPdf& pdf) { SetPdf(pdf);}
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetNullPdf(RooAbsPdf* pdf) { SetPdf(pdf);} virtual void SetNullPdf(RooAbsPdf& pdf) { SetPdf(pdf);}
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetAlternatePdf(RooAbsPdf* pdf) { SetPdf(pdf);} virtual void SetAlternatePdf(RooAbsPdf& pdf) { SetPdf(pdf);}
// specify the name of the PDF in the workspace to be used // specify the name of the PDF in the workspace to be used
virtual void SetPdf(const char* name) {fPdfName = name;} virtual void SetPdf(const char* name) {fPdfName = name;}
// specify the name of the dataset in the workspace to be used // specify the name of the dataset in the workspace to be used
virtual void SetData(const char* name){fDataName = name;} virtual void SetData(const char* name){fDataName = name;}
// specify the parameters of interest in the interval // specify the parameters of interest in the interval
virtual void SetParameters(RooArgSet* set) {fPOI = set;} virtual void SetParameters(RooArgSet& set) {fPOI = &set;}
// specify the nuisance parameters (eg. the rest of the parameters) // specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(RooArgSet* set) {fNuisParams = set ;} virtual void SetNuisanceParameters(RooArgSet& set) {fNuisParams = &se t;}
// from HypoTestCalculator // from HypoTestCalculator
// set the PDF for the null hypothesis. Needs to be the common one // set the PDF for the null hypothesis. Needs to be the common one
virtual void SetNullPdf(const char* name) {SetPdf(name);} virtual void SetNullPdf(const char* name) {SetPdf(name);}
// set the PDF for the alternate hypothesis. Needs to be the common o ne // set the PDF for the alternate hypothesis. Needs to be the common o ne
virtual void SetAlternatePdf(const char* name) {SetPdf(name);} virtual void SetAlternatePdf(const char* name) {SetPdf(name);}
// set a common PDF for both the null and alternate hypotheses // set a common PDF for both the null and alternate hypotheses
virtual void SetCommonPdf(const char* name) {SetPdf(name);} virtual void SetCommonPdf(const char* name) {SetPdf(name);}
// set parameter values for the null if using a common PDF // set parameter values for the null if using a common PDF
virtual void SetNullParameters(RooArgSet* set) {fNullParams = set;} virtual void SetNullParameters(RooArgSet& set) {fNullParams = &set;}
// set parameter values for the alternate if using a common PDF // set parameter values for the alternate if using a common PDF
virtual void SetAlternateParameters(RooArgSet* set) {fAlternateParams = set;} virtual void SetAlternateParameters(RooArgSet& set) {fAlternateParams = &set;}
protected: protected:
Double_t fSize; // size of the test (eg. specified rate of Type I err or) Double_t fSize; // size of the test (eg. specified rate of Type I err or)
RooWorkspace* fWS; // a workspace that owns all the components to be used by the calculator RooWorkspace* fWS; // a workspace that owns all the components to be used by the calculator
const char* fPdfName; // name of common PDF in workspace const char* fPdfName; // name of common PDF in workspace
const char* fDataName; // name of data set in workspace const char* fDataName; // name of data set in workspace
RooArgSet* fNullParams; // RooArgSet specifying null parameters for h ypothesis test RooArgSet* fNullParams; // RooArgSet specifying null parameters for h ypothesis test
RooArgSet* fAlternateParams; // RooArgSet specifying alternate parame ters for hypothesis test RooArgSet* fAlternateParams; // RooArgSet specifying alternate parame ters for hypothesis test
RooArgSet* fPOI; // RooArgSet specifying parameters of interest for interval RooArgSet* fPOI; // RooArgSet specifying parameters of interest for interval
 End of changes. 25 change blocks. 
26 lines changed or deleted 28 lines changed or added


 CramerInversion.icc   CramerInversion.icc 
// @(#)root/smatrix:$Id: CramerInversion.icc 22041 2008-02-07 13:41:22Z mon eta $ // @(#)root/smatrix:$Id: CramerInversion.icc 26866 2008-12-12 10:50:07Z mon eta $
// Authors: L. Moneta 2005 // Authors: L. Moneta 2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005 , LCG ROOT MathLib Team * * Copyright (c) 2005 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// //
// Cramer optmized inversion for matrices up to size 5x5. // Cramer optmized inversion for matrices up to size 5x5.
skipping to change at line 36 skipping to change at line 36
namespace Math { namespace Math {
//========================================================================= ===== //========================================================================= =====
// Inversion for 3x3 matrices // Inversion for 3x3 matrices
//========================================================================= ===== //========================================================================= =====
/** /**
Inversion for a 3x3 matrix Inversion for a 3x3 matrix
*/ */
template <class MatrixRep> template <class MatrixRep>
bool Inverter<3>::Dinv(MatrixRep & rhs) { bool FastInverter<3>::Dinv(MatrixRep & rhs) {
typedef typename MatrixRep::value_type Scalar; typedef typename MatrixRep::value_type Scalar;
// check matrix sizes ?? // check matrix sizes ??
// Scalar * pM = rhs.Array(); // Scalar * pM = rhs.Array();
const Scalar c00 = rhs[4] * rhs[8] - rhs[5] * rhs[7]; const Scalar c00 = rhs[4] * rhs[8] - rhs[5] * rhs[7];
const Scalar c01 = rhs[5] * rhs[6] - rhs[3] * rhs[8]; const Scalar c01 = rhs[5] * rhs[6] - rhs[3] * rhs[8];
const Scalar c02 = rhs[3] * rhs[7] - rhs[4] * rhs[6]; const Scalar c02 = rhs[3] * rhs[7] - rhs[4] * rhs[6];
skipping to change at line 126 skipping to change at line 126
#define F30 12 #define F30 12
#define F31 13 #define F31 13
#define F32 14 #define F32 14
#define F33 15 #define F33 15
/** /**
Inversion for a 4x4 matrix Inversion for a 4x4 matrix
*/ */
template <class MatrixRep> template <class MatrixRep>
bool Inverter<4>::Dinv(MatrixRep & rhs) { bool FastInverter<4>::Dinv(MatrixRep & rhs) {
typedef typename MatrixRep::value_type Scalar; typedef typename MatrixRep::value_type Scalar;
// check matrix sizes ?? // check matrix sizes ??
// Scalar * pM = rhs.Array(); // Scalar * pM = rhs.Array();
// Find all NECESSARY 2x2 dets: (18 of them) // Find all NECESSARY 2x2 dets: (18 of them)
const Scalar det2_12_01 = rhs[F10]*rhs[F21] - rhs[F11]*rhs[F20]; const Scalar det2_12_01 = rhs[F10]*rhs[F21] - rhs[F11]*rhs[F20];
skipping to change at line 267 skipping to change at line 267
#define M40 20 #define M40 20
#define M41 21 #define M41 21
#define M42 22 #define M42 22
#define M43 23 #define M43 23
#define M44 24 #define M44 24
/** /**
Inversion for a 5x5 matrix Inversion for a 5x5 matrix
*/ */
template <class MatrixRep> template <class MatrixRep>
bool Inverter<5>::Dinv(MatrixRep & rhs) { bool FastInverter<5>::Dinv(MatrixRep & rhs) {
typedef typename MatrixRep::value_type Scalar; typedef typename MatrixRep::value_type Scalar;
// check matrix sizes ?? // check matrix sizes ??
// Scalar * pM = rhs.Array(); // Scalar * pM = rhs.Array();
// Find all NECESSARY 2x2 dets: (30 of them) // Find all NECESSARY 2x2 dets: (30 of them)
const Scalar det2_23_01 = rhs[M20]*rhs[M31] - rhs[M21]*rhs[M30]; const Scalar det2_23_01 = rhs[M20]*rhs[M31] - rhs[M21]*rhs[M30];
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 CramerInversionSym.icc   CramerInversionSym.icc 
// @(#)root/smatrix:$Id: CramerInversionSym.icc 22041 2008-02-07 13:41:22Z moneta $ // @(#)root/smatrix:$Id: CramerInversionSym.icc 26866 2008-12-12 10:50:07Z moneta $
// Authors: L. Moneta 2005 // Authors: L. Moneta 2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005 , LCG ROOT MathLib Team * * Copyright (c) 2005 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// //
// Cramer optmized inversion for symmetric matrices up to size 5x5. // Cramer optmized inversion for symmetric matrices up to size 5x5.
skipping to change at line 33 skipping to change at line 33
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//========================================================================= ===== //========================================================================= =====
/** /**
Inversion for a 3x3 symmetric matrix Inversion for a 3x3 symmetric matrix
*/ */
template <class T> template <class T>
bool Inverter<3>::Dinv(MatRepSym<T,3> & rhs) { bool FastInverter<3>::Dinv(MatRepSym<T,3> & rhs) {
typedef T Scalar; typedef T Scalar;
// check matrix sizes ?? // check matrix sizes ??
const Scalar c00 = rhs[4] * rhs[8] - rhs[5] * rhs[5]; const Scalar c00 = rhs[4] * rhs[8] - rhs[5] * rhs[5];
const Scalar c01 = rhs[5] * rhs[2] - rhs[1] * rhs[8]; const Scalar c01 = rhs[5] * rhs[2] - rhs[1] * rhs[8];
const Scalar c02 = rhs[1] * rhs[5] - rhs[4] * rhs[2]; const Scalar c02 = rhs[1] * rhs[5] - rhs[4] * rhs[2];
const Scalar c11 = rhs[8] * rhs[0] - rhs[2] * rhs[2]; const Scalar c11 = rhs[8] * rhs[0] - rhs[2] * rhs[2];
const Scalar c12 = rhs[2] * rhs[1] - rhs[5] * rhs[0]; const Scalar c12 = rhs[2] * rhs[1] - rhs[5] * rhs[0];
skipping to change at line 116 skipping to change at line 116
#define SF30 3 #define SF30 3
#define SF31 7 #define SF31 7
#define SF32 11 #define SF32 11
#define SF33 15 #define SF33 15
/** /**
Inversion for a 4x4 symmetric matrix Inversion for a 4x4 symmetric matrix
*/ */
template <class T> template <class T>
bool Inverter<4>::Dinv(MatRepSym<T,4> & rhs) { bool FastInverter<4>::Dinv(MatRepSym<T,4> & rhs) {
typedef T Scalar; typedef T Scalar;
// Find all NECESSARY 2x2 dets: (14 of them) // Find all NECESSARY 2x2 dets: (14 of them)
const Scalar mDet2_12_01 = rhs[SF10]*rhs[SF21] - rhs[SF11]*rhs[SF20]; const Scalar mDet2_12_01 = rhs[SF10]*rhs[SF21] - rhs[SF11]*rhs[SF20];
const Scalar mDet2_12_02 = rhs[SF10]*rhs[SF22] - rhs[SF12]*rhs[SF20]; const Scalar mDet2_12_02 = rhs[SF10]*rhs[SF22] - rhs[SF12]*rhs[SF20];
const Scalar mDet2_12_12 = rhs[SF11]*rhs[SF22] - rhs[SF12]*rhs[SF21]; const Scalar mDet2_12_12 = rhs[SF11]*rhs[SF22] - rhs[SF12]*rhs[SF21];
const Scalar mDet2_13_01 = rhs[SF10]*rhs[SF31] - rhs[SF11]*rhs[SF30]; const Scalar mDet2_13_01 = rhs[SF10]*rhs[SF31] - rhs[SF11]*rhs[SF30];
const Scalar mDet2_13_02 = rhs[SF10]*rhs[SF32] - rhs[SF12]*rhs[SF30]; const Scalar mDet2_13_02 = rhs[SF10]*rhs[SF32] - rhs[SF12]*rhs[SF30];
skipping to change at line 231 skipping to change at line 231
#define SM40 4 #define SM40 4
#define SM41 9 #define SM41 9
#define SM42 14 #define SM42 14
#define SM43 19 #define SM43 19
#define SM44 24 #define SM44 24
/** /**
Inversion for a 5x5 symmetric matrix Inversion for a 5x5 symmetric matrix
*/ */
template <class T> template <class T>
bool Inverter<5>::Dinv(MatRepSym<T,5> & rhs) { bool FastInverter<5>::Dinv(MatRepSym<T,5> & rhs) {
typedef T Scalar; typedef T Scalar;
// Find all NECESSARY 2x2 dets: (25 of them) // Find all NECESSARY 2x2 dets: (25 of them)
const Scalar mDet2_23_01 = rhs[SM20]*rhs[SM31] - rhs[SM21]*rhs[SM30]; const Scalar mDet2_23_01 = rhs[SM20]*rhs[SM31] - rhs[SM21]*rhs[SM30];
const Scalar mDet2_23_02 = rhs[SM20]*rhs[SM32] - rhs[SM22]*rhs[SM30]; const Scalar mDet2_23_02 = rhs[SM20]*rhs[SM32] - rhs[SM22]*rhs[SM30];
const Scalar mDet2_23_03 = rhs[SM20]*rhs[SM33] - rhs[SM23]*rhs[SM30]; const Scalar mDet2_23_03 = rhs[SM20]*rhs[SM33] - rhs[SM23]*rhs[SM30];
const Scalar mDet2_23_12 = rhs[SM21]*rhs[SM32] - rhs[SM22]*rhs[SM31]; const Scalar mDet2_23_12 = rhs[SM21]*rhs[SM32] - rhs[SM22]*rhs[SM31];
const Scalar mDet2_23_13 = rhs[SM21]*rhs[SM33] - rhs[SM23]*rhs[SM31]; const Scalar mDet2_23_13 = rhs[SM21]*rhs[SM33] - rhs[SM23]*rhs[SM31];
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 DataMbr.h   DataMbr.h 
skipping to change at line 35 skipping to change at line 35
* *
* *
*********************************************************************/ *********************************************************************/
class class
#ifndef __CINT__ #ifndef __CINT__
G__EXPORT G__EXPORT
#endif #endif
G__DataMemberInfo { G__DataMemberInfo {
public: public:
~G__DataMemberInfo() {} ~G__DataMemberInfo() {}
G__DataMemberInfo(): handle(0), index(0), belongingclass(NULL), type() G__DataMemberInfo();
{ Init(); } G__DataMemberInfo(const G__DataMemberInfo& dmi);
G__DataMemberInfo(const G__DataMemberInfo& dmi): G__DataMemberInfo(class G__ClassInfo &a);
handle(dmi.handle), index(dmi.index), belongingclass(dmi.belongingclass G__DataMemberInfo& operator=(const G__DataMemberInfo& dmi);
),
type(dmi.type) {}
G__DataMemberInfo(class G__ClassInfo &a): handle(0), index(0), belongingc
lass(NULL), type()
{ Init(a); }
G__DataMemberInfo& operator=(const G__DataMemberInfo& dmi) {
handle=dmi.handle; index=dmi.index; belongingclass=dmi.belongingclass;
type=dmi.type; return *this;}
void Init(); void Init();
void Init(class G__ClassInfo &a); void Init(class G__ClassInfo &a);
void Init(long handlinin,long indexin,G__ClassInfo *belongingclassin); void Init(long handlinin,long indexin,G__ClassInfo *belongingclassin);
long Handle() { return(handle); } long Handle() { return(handle); }
int Index() { return ((int)index); } int Index() { return ((int)index); }
const char *Name() ; const char *Name();
const char *Title() ; const char *Title();
G__TypeInfo* Type() { return(&type); } G__TypeInfo* Type();
long Property(); long Property();
long Offset() ; long Offset() ;
int Bitfield(); int Bitfield();
int ArrayDim() ; int ArrayDim() ;
int MaxIndex(int dim) ; int MaxIndex(int dim) ;
G__ClassInfo* MemberOf() { return(belongingclass); } G__ClassInfo* MemberOf();
void SetGlobalcomp(int globalcomp); void SetGlobalcomp(int globalcomp);
int IsValid(); int IsValid();
int SetFilePos(const char* fname); int SetFilePos(const char* fname);
int Next(); int Next();
int Prev(); int Prev();
enum error_code { VALID, NOT_INT, NOT_DEF, IS_PRIVATE, UNKNOWN }; enum error_code { VALID, NOT_INT, NOT_DEF, IS_PRIVATE, UNKNOWN };
const char *ValidArrayIndex(int *errnum = 0, char **errstr = 0); const char *ValidArrayIndex(int *errnum = 0, char **errstr = 0);
const char *FileName(); const char *FileName();
 End of changes. 3 change blocks. 
16 lines changed or deleted 8 lines changed or added


 Dinv.h   Dinv.h 
// @(#)root/smatrix:$Id: Dinv.h 22041 2008-02-07 13:41:22Z moneta $ // @(#)root/smatrix:$Id: Dinv.h 26866 2008-12-12 10:50:07Z moneta $
// Authors: T. Glebe, L. Moneta 2005 // Authors: T. Glebe, L. Moneta 2005
#ifndef ROOT_Math_Dinv #ifndef ROOT_Math_Dinv
#define ROOT_Math_Dinv #define ROOT_Math_Dinv
// ******************************************************************** // ********************************************************************
// //
// source: // source:
// //
// type: source code // type: source code
// //
skipping to change at line 43 skipping to change at line 43
#include "Math/Dfactir.h" #include "Math/Dfactir.h"
#include "Math/Dfinv.h" #include "Math/Dfinv.h"
#include "Math/Dsinv.h" #include "Math/Dsinv.h"
#endif #endif
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
/** /**
Matrix Inverter class (generic class used for matrix sizes larger than 6x6) Matrix Inverter class
Class to specialize calls to Dinv. Dinv computes the inverse of a squar e Class to specialize calls to Dinv. Dinv computes the inverse of a squar e
matrix if dimension idim and order n. The content of the matrix will be matrix if dimension idim and order n. The content of the matrix will be
replaced by its inverse. In case the inversion fails, the matrix conten t is replaced by its inverse. In case the inversion fails, the matrix conten t is
destroyed. Invert specializes Dinv by the matrix order. E.g. if the ord er destroyed. Invert specializes Dinv by the matrix order. E.g. if the ord er
of the matrix is two, the routine Inverter<2> is called which implement s of the matrix is two, the routine Inverter<2> is called which implement s
Cramers rule. Cramers rule.
@author T. Glebe @author T. Glebe
*/ */
//========================================================================= ===== //========================================================================= =====
skipping to change at line 143 skipping to change at line 143
static int DfinvMatrix(MatRepStd<T,idim,n> & rhs, unsigned int * work); static int DfinvMatrix(MatRepStd<T,idim,n> & rhs, unsigned int * work);
/** /**
Bunch-Kaufman method for inversion of symmetric matrices Bunch-Kaufman method for inversion of symmetric matrices
*/ */
template <class T> template <class T>
static void InvertBunchKaufman(MatRepSym<T,idim> & rhs, int &ifail); static void InvertBunchKaufman(MatRepSym<T,idim> & rhs, int &ifail);
}; // class Inverter }; // class Inverter
// fast inverter class using Cramer inversion
// by default use other default inversion
/**
Fast Matrix Inverter class
Class to specialize calls to Dinv. Dinv computes the inverse of a squar
e
matrix if dimension idim and order n. The content of the matrix will be
replaced by its inverse. In case the inversion fails, the matrix conten
t is
destroyed. Invert specializes Dinv by the matrix order. E.g. if the ord
er
of the matrix is less than 5 , the class implements
Cramers rule.
Be careful that for matrix with high condition the accuracy of the Cram
er rule is much poorer
@author L. Moneta
*/
template <unsigned int idim, unsigned int n = idim>
class FastInverter {
public:
///
template <class MatrixRep>
static bool Dinv(MatrixRep& rhs) {
return Inverter<idim,n>::Dinv(rhs);
}
template <class T>
static bool Dinv(MatRepSym<T,idim> & rhs) {
return Inverter<idim,n>::Dinv(rhs);
}
};
/** Inverter<0>. /** Inverter<0>.
In case of zero order, do nothing. In case of zero order, do nothing.
@author T. Glebe @author T. Glebe
*/ */
//========================================================================= ===== //========================================================================= =====
// Inverter<0> // Inverter<0>
//========================================================================= ===== //========================================================================= =====
template <> template <>
class Inverter<0> { class Inverter<0> {
skipping to change at line 237 skipping to change at line 265
rhs[1] = -s * rhs[1]; rhs[1] = -s * rhs[1];
rhs[2] = s * rhs[0]; rhs[2] = s * rhs[0];
rhs[0] = c11; rhs[0] = c11;
return true; return true;
} }
}; };
/** /**
3x3 direct matrix inversion 3x3 direct matrix inversion suing Cramer Rule
@author T. Glebe use only for FastInverter
*/ */
//========================================================================= ===== //========================================================================= =====
// Inverter<3> // FastInverter<3>
//========================================================================= ===== //========================================================================= =====
template <> template <>
class Inverter<3> { class FastInverter<3> {
public: public:
/// ///
// use Cramer Rule // use Cramer Rule
template <class MatrixRep> template <class MatrixRep>
static bool Dinv(MatrixRep& rhs); static bool Dinv(MatrixRep& rhs);
template <class T> template <class T>
static bool Dinv(MatRepSym<T,3> & rhs); static bool Dinv(MatRepSym<T,3> & rhs);
}; };
/** /**
4x4 matrix inversion using Cramers rule. 4x4 matrix inversion using Cramers rule.
*/ */
template <> template <>
class Inverter<4> { class FastInverter<4> {
public: public:
/// ///
template <class MatrixRep> template <class MatrixRep>
static bool Dinv(MatrixRep& rhs); static bool Dinv(MatrixRep& rhs);
template <class T> template <class T>
static bool Dinv(MatRepSym<T,4> & rhs); static bool Dinv(MatRepSym<T,4> & rhs);
}; };
/** /**
5x5 Matrix inversion using Cramers rule. 5x5 Matrix inversion using Cramers rule.
*/ */
template <> template <>
class Inverter<5> { class FastInverter<5> {
public: public:
/// ///
template <class MatrixRep> template <class MatrixRep>
static bool Dinv(MatrixRep& rhs); static bool Dinv(MatrixRep& rhs);
template <class T> template <class T>
static bool Dinv(MatRepSym<T,5> & rhs); static bool Dinv(MatRepSym<T,5> & rhs);
}; };
 End of changes. 8 change blocks. 
8 lines changed or deleted 40 lines changed or added


 FitConfig.h   FitConfig.h 
// @(#)root/mathcore:$Id: FitConfig.h 25486 2008-09-22 12:43:03Z moneta $ // @(#)root/mathcore:$Id: FitConfig.h 26508 2008-11-28 14:22:29Z moneta $
// Author: L. Moneta Thu Sep 21 16:21:29 2006 // Author: L. Moneta Thu Sep 21 16:21:29 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class FitConfig // Header file for class FitConfig
skipping to change at line 117 skipping to change at line 117
#ifndef __CINT__ // this method fails on Windows #ifndef __CINT__ // this method fails on Windows
/** /**
set all the minimizer options using class MinimizerOptions set all the minimizer options using class MinimizerOptions
*/ */
void SetMinimizerOptions(const ROOT::Math::MinimizerOptions & minopt); void SetMinimizerOptions(const ROOT::Math::MinimizerOptions & minopt);
#endif #endif
/** /**
set minimizer type set minimizer type
*/ */
void SetMinimizer(const std::string & type, std::string algo = "") { void SetMinimizer(const char * type, const char * algo = 0) {
fMinimizerType = type; if (type) fMinimizerType = type;
fMinimAlgoType = algo; if (algo) fMinimAlgoType = algo;
} }
/** /**
return type of minimizer package return type of minimizer package
*/ */
const std::string & MinimizerType() const { return fMinimizerType; } const std::string & MinimizerType() const { return fMinimizerType; }
/** /**
return type of minimizer algorithms return type of minimizer algorithms
*/ */
skipping to change at line 157 skipping to change at line 157
///set parabolic erros ///set parabolic erros
void SetParabErrors(bool on) { fParabErrors = on; } void SetParabErrors(bool on) { fParabErrors = on; }
///set Minos erros ///set Minos erros
void SetMinosErrors(bool on) { fMinosErrors = on; } void SetMinosErrors(bool on) { fMinosErrors = on; }
/** /**
static function to control default minimizer type and algorithm static function to control default minimizer type and algorithm
*/ */
static void SetDefaultMinimizer(const std::string & type, const std::str ing & algo = ""); static void SetDefaultMinimizer(const char * type, const char * algo = 0 );
protected: protected:
private: private:
bool fNormErrors; // flag for error normalization bool fNormErrors; // flag for error normalization
bool fParabErrors; // get correct parabolic errors estimate (call Hess e after minimizing) bool fParabErrors; // get correct parabolic errors estimate (call Hess e after minimizing)
bool fMinosErrors; // do full error analysis using Minos bool fMinosErrors; // do full error analysis using Minos
std::vector<ROOT::Fit::ParameterSettings> fSettings; // vector with the parameter settings std::vector<ROOT::Fit::ParameterSettings> fSettings; // vector with the parameter settings
 End of changes. 3 change blocks. 
5 lines changed or deleted 5 lines changed or added


 FitResult.h   FitResult.h 
// @(#)root/mathcore:$Id: FitResult.h 26014 2008-10-29 16:37:28Z moneta $ // @(#)root/mathcore:$Id: FitResult.h 26866 2008-12-12 10:50:07Z moneta $
// Author: L. Moneta Wed Aug 30 11:05:34 2006 // Author: L. Moneta Wed Aug 30 11:05:34 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class FitResult // Header file for class FitResult
skipping to change at line 62 skipping to change at line 62
typedef ROOT::Math::IParamMultiFunction IModelFunction; typedef ROOT::Math::IParamMultiFunction IModelFunction;
/** /**
Default constructor for an empty (non valid) fit result Default constructor for an empty (non valid) fit result
*/ */
FitResult (); FitResult ();
/** /**
Construct from a Minimizer instance Construct from a Minimizer instance
*/ */
FitResult(ROOT::Math::Minimizer & min, const FitConfig & fconfig, IModel Function * f, bool isValid, unsigned int sizeOfData = 0, bool binFit = true , const ROOT::Math::IMultiGenFunction * chi2func = 0, bool minosErr = false , unsigned int ncalls = 0); FitResult(ROOT::Math::Minimizer & min, const FitConfig & fconfig, const IModelFunction * f, bool isValid, unsigned int sizeOfData = 0, bool binFit = true, const ROOT::Math::IMultiGenFunction * chi2func = 0, bool minosErr = false, unsigned int ncalls = 0);
/** /**
Copy constructor. Copy constructor.
*/ */
FitResult(const FitResult &); FitResult(const FitResult &);
/** /**
Assignment operator Assignment operator
*/ */
FitResult & operator = (const FitResult & rhs); FitResult & operator = (const FitResult & rhs);
/** /**
Destructor (no operations) Destructor
*/ */
~FitResult () {} ~FitResult ();
public: public:
/** minimization quantities **/ /** minimization quantities **/
/// minimizer type /// minimizer type
const std::string & MinimizerType() const { return fMinimType; } const std::string & MinimizerType() const { return fMinimType; }
/// True if fit successful, otherwise false. /// True if fit successful, otherwise false.
bool IsValid() const { return fValid; } bool IsValid() const { return fValid; }
skipping to change at line 271 skipping to change at line 271
bool fValid; // flag for indicating valid fit bool fValid; // flag for indicating valid fit
bool fNormalized; // flag for indicating is errors are normalized bool fNormalized; // flag for indicating is errors are normalized
unsigned int fNFree; // number of fit free parameters (total paramet ers are in size of parameter vector) unsigned int fNFree; // number of fit free parameters (total paramet ers are in size of parameter vector)
unsigned int fNdf; // number of degree of freedom unsigned int fNdf; // number of degree of freedom
unsigned int fNCalls; // number of function calls unsigned int fNCalls; // number of function calls
int fStatus; // minimizer status code int fStatus; // minimizer status code
double fVal; // minimum function value double fVal; // minimum function value
double fEdm; // expected distance from mimimum double fEdm; // expected distance from mimimum
double fChi2; // fit chi2 value (different than fval in case of chi2 fits) double fChi2; // fit chi2 value (different than fval in case of chi2 fits)
IModelFunction * fFitFunc; // model function result of the fit. It is gi ven by Fitter but it is managed by FitResult IModelFunction * fFitFunc; // model function resulting from the fit. It is given by Fitter but it is managed by FitResult
std::vector<unsigned int> fFixedParams; // list of fixed parameters std::vector<unsigned int> fFixedParams; // list of fixed parameters
std::vector<unsigned int> fBoundParams; // list of limited parameters std::vector<unsigned int> fBoundParams; // list of limited parameters
std::vector<double> fParams; // parameter values. Size is total number of parameters std::vector<double> fParams; // parameter values. Size is total number of parameters
std::vector<double> fErrors; // errors std::vector<double> fErrors; // errors
std::vector<double> fCovMatrix; // covariance matrix (size is n par*(npar+1)/2) where npar is total parameters std::vector<double> fCovMatrix; // covariance matrix (size is n par*(npar+1)/2) where npar is total parameters
std::vector<double> fGlobalCC; // global Correlation coefficie nt std::vector<double> fGlobalCC; // global Correlation coefficie nt
std::vector<std::pair<double,double> > fMinosErrors; // vector contain s the two Minos errors std::vector<std::pair<double,double> > fMinosErrors; // vector contain s the two Minos errors
std::string fMinimType; // string indicating type of minimizer std::string fMinimType; // string indicating type of minimi
zer
std::vector<std::string> fParNames; // parameter names (only with FCN o
nly fites, when fFitFunc=0)
}; };
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Fit_FitResult */ #endif /* ROOT_Fit_FitResult */
 End of changes. 6 change blocks. 
6 lines changed or deleted 9 lines changed or added


 Fitter.h   Fitter.h 
// @(#)root/mathcore:$Id: Fitter.h 25529 2008-09-25 09:53:11Z moneta $ // @(#)root/mathcore:$Id: Fitter.h 26866 2008-12-12 10:50:07Z moneta $
// Author: L. Moneta Wed Aug 30 11:05:19 2006 // Author: L. Moneta Wed Aug 30 11:05:19 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class Fitter // Header file for class Fitter
skipping to change at line 38 skipping to change at line 38
#endif #endif
#ifndef ROOT_Fit_FitResult #ifndef ROOT_Fit_FitResult
#include "Fit/FitResult.h" #include "Fit/FitResult.h"
#endif #endif
#ifndef ROOT_Math_IParamFunctionfwd #ifndef ROOT_Math_IParamFunctionfwd
#include "Math/IParamFunctionfwd.h" #include "Math/IParamFunctionfwd.h"
#endif #endif
#include <memory>
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
class Minimizer; class Minimizer;
} }
/** /**
Namespace for the fitting classes Namespace for the fitting classes
@ingroup Fit @ingroup Fit
*/ */
skipping to change at line 91 skipping to change at line 93
/** /**
Default constructor Default constructor
*/ */
Fitter (); Fitter ();
/** /**
Destructor Destructor
*/ */
~Fitter (); ~Fitter ();
private:
/** /**
Copy constructor Copy constructor (disabled, class is not copyable)
*/ */
Fitter(const Fitter &); Fitter(const Fitter &);
/** /**
Assignment operator Assignment operator (disabled, class is not copyable)
*/ */
Fitter & operator = (const Fitter & rhs); Fitter & operator = (const Fitter & rhs);
public: public:
/** /**
fit a data set using any generic model function fit a data set using any generic model function
Pre-requisite on the function: Pre-requisite on the function:
*/ */
template < class Data , class Function> template < class Data , class Function>
skipping to change at line 146 skipping to change at line 150
fit a data set using any generic model function fit a data set using any generic model function
Pre-requisite on the function: Pre-requisite on the function:
*/ */
template < class Data , class Function> template < class Data , class Function>
bool LikelihoodFit( const Data & data, const Function & func) { bool LikelihoodFit( const Data & data, const Function & func) {
SetFunction(func); SetFunction(func);
return DoLikelihoodFit(data); return DoLikelihoodFit(data);
} }
/** /**
fit using the given FCN function. Give optionally initial parameter v fit using the given FCN function represented by a multi-dimensional f
alues and data size to get Ndf. If parameters are not given it is assumed unction interface
that the parameter settings are used (ROOT::Math::IMultiGenFunction).
Give optionally initial the parameter values and data size to have th
e fit Ndf correctly
set in the FitResult.
If the parameters values are not given (parameter pointers=0) the
current parameter settings are used. The parameter settings can be cr
eated before
by using the FitConfig::SetParamsSetting. If they have not been creat
ed they are created
automatically when the params pointer is not zero
*/ */
bool FitFCN(const ROOT::Math::IMultiGenFunction & fcn, const double * pa rams = 0, unsigned int dataSize = 0 ); bool FitFCN(const ROOT::Math::IMultiGenFunction & fcn, const double * pa rams = 0, unsigned int dataSize = 0 );
/** /**
fit using the given gradient FCN function. Give also initial paramete Fit using the given FCN function representing a multi-dimensional gra
r values and data size to get Ndf dient function
interface (ROOT::Math::IMultiGradFunction). In this case the minimize
r will use the
gradient information provided by the function.
For the other arguments same consideration as in the previous method
*/ */
bool FitFCN(const ROOT::Math::IMultiGradFunction & fcn, const double * p arams = 0, unsigned int dataSize = 0); bool FitFCN(const ROOT::Math::IMultiGradFunction & fcn, const double * p arams = 0, unsigned int dataSize = 0);
/** /**
Fit using the a generic FCN function as a C++ callable object impleme
nting
double () (const double *)
The function dimension (i.e. the number of parameter) is needed in th
is case
For the other arguments same consideration as in the previous methods
*/
template <class Function>
bool FitFCN(unsigned int npar, Function fcn, const double * params = 0,
unsigned int dataSize = 0);
/**
fit using user provided FCN with Minuit-like interface fit using user provided FCN with Minuit-like interface
Parameter Settings must have be created before Parameter Settings must have be created before
*/ */
typedef void (* MinuitFCN_t )(int &npar, double *gin, double &f, double *u, int flag); typedef void (* MinuitFCN_t )(int &npar, double *gin, double &f, double *u, int flag);
bool FitFCN( MinuitFCN_t fcn); bool FitFCN( MinuitFCN_t fcn);
/** /**
do a linear fit on a set of bin-data do a linear fit on a set of bin-data
*/ */
bool LinearFit(const BinData & data) { return DoLinearFit(data); } bool LinearFit(const BinData & data) { return DoLinearFit(data); }
skipping to change at line 187 skipping to change at line 211
*/ */
void SetFunction(const IGradModelFunction & func); void SetFunction(const IGradModelFunction & func);
/** /**
Set the fitted function from 1D gradient parametric function interfac e Set the fitted function from 1D gradient parametric function interfac e
*/ */
void SetFunction(const IGradModel1DFunction & func); void SetFunction(const IGradModel1DFunction & func);
/** /**
get fit result get fit result
*/ */
const FitResult & Result() const { return fResult; } const FitResult & Result() const {
assert( fResult.get() );
return *fResult;
}
/** /**
access to the fit configuration (const method) access to the fit configuration (const method)
*/ */
const FitConfig & Config() const { return fConfig; } const FitConfig & Config() const { return fConfig; }
/** /**
access to the configuration (non const method) access to the configuration (non const method)
*/ */
FitConfig & Config() { return fConfig; } FitConfig & Config() { return fConfig; }
/**
query if fit is binned. In cse of false teh fit can be unbinned
or is not defined (like in case of fitting through a ::FitFCN)
*/
bool IsBinFit() const { return fBinFit; }
/**
return pointer to last used minimizer
(is NULL in case fit is not yet done)
This pointer will be valid as far as the data, the objective function
and the fitter class have not been deleted.
To be used only after fitting.
*/
ROOT::Math::Minimizer * GetMinimizer() { return fMinimizer.get(); }
/**
return pointer to last used objective function
(is NULL in case fit is not yet done)
This pointer will be valid as far as the data and the fitter class
have not been deleted. To be used after the fitting
*/
ROOT::Math::IMultiGenFunction * GetFCN() { return fObjFunction.get(); }
protected: protected:
/// least square fit /// least square fit
bool DoLeastSquareFit(const BinData & data); bool DoLeastSquareFit(const BinData & data);
/// binned likelihood fit /// binned likelihood fit
bool DoLikelihoodFit(const BinData & data); bool DoLikelihoodFit(const BinData & data);
/// un-binned likelihood fit /// un-binned likelihood fit
bool DoLikelihoodFit(const UnBinData & data); bool DoLikelihoodFit(const UnBinData & data);
/// linear least square fit /// linear least square fit
bool DoLinearFit(const BinData & data); bool DoLinearFit(const BinData & data);
/// do minimization /// do minimization
template<class ObjFunc> template<class ObjFunc>
bool DoMinimization(ROOT::Math::Minimizer & min, const ObjFunc & f, unsi gned int dataSize, const ROOT::Math::IMultiGenFunction * chifunc = 0); bool DoMinimization(const ObjFunc & f, unsigned int dataSize, const ROOT ::Math::IMultiGenFunction * chifunc = 0);
private: private:
bool fUseGradient; // flag to indicate if using gradient or not bool fUseGradient; // flag to indicate if using gradient or not
IModelFunction * fFunc; // copy of the fitted function containing on o utput the fit result bool fBinFit; // flag to indicate if fit is binned (in case o f false the fit is unbinned or undefined)
FitResult fResult; // object containing the result of the fit IModelFunction * fFunc; // copy of the fitted function containing on o utput the fit result (managed by FitResult)
FitConfig fConfig; // fitter configuration (options and parameter settings) FitConfig fConfig; // fitter configuration (options and parameter settings)
std::auto_ptr<ROOT::Fit::FitResult> fResult; //! pointer to the object
containing the result of the fit
std::auto_ptr<ROOT::Math::Minimizer> fMinimizer; //! pointer to used m
inimizer
std::auto_ptr<ROOT::Math::IMultiGenFunction> fObjFunction; //! pointer
to used objective function
}; };
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
// implementation of inline methods
#ifndef __CINT__
#ifndef ROOT_Math_WrappedFunction
#include "Math/WrappedFunction.h"
#endif
template<class Function>
bool ROOT::Fit::Fitter::FitFCN(unsigned int npar, Function f, const double
* par, unsigned int datasize) {
ROOT::Math::WrappedMultiFunction<Function> wf(f,npar);
return FitFCN(wf,par,datasize);
}
#endif // endif __CINT__
#endif /* ROOT_Fit_Fitter */ #endif /* ROOT_Fit_Fitter */
 End of changes. 16 change blocks. 
12 lines changed or deleted 95 lines changed or added


 GSLMinimizer.h   GSLMinimizer.h 
// @(#)root/mathmore:$Id: GSLMinimizer.h 25486 2008-09-22 12:43:03Z moneta $ // @(#)root/mathmore:$Id: GSLMinimizer.h 26866 2008-12-12 10:50:07Z moneta $
// Author: L. Moneta Wed Oct 18 11:48:00 2006 // Author: L. Moneta Wed Oct 18 11:48:00 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* This library is free software; you can redistribute it and/or * * This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License * * modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 * * as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. * * of the License, or (at your option) any later version. *
skipping to change at line 139 skipping to change at line 139
#ifdef LATER #ifdef LATER
/// set lower limit variable (override if minimizer supports them ) /// set lower limit variable (override if minimizer supports them )
virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower ); virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower );
/// set upper limit variable (override if minimizer supports them ) /// set upper limit variable (override if minimizer supports them )
virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper ); virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper );
/// set upper/lower limited variable (override if minimizer supports the m ) /// set upper/lower limited variable (override if minimizer supports the m )
virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */); virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */);
/// set fixed variable (override if minimizer supports them ) /// set fixed variable (override if minimizer supports them )
virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */); virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */);
#endif #endif
/// set the value of an existing variable
virtual bool SetVariableValue(unsigned int ivar, double val );
/// set the values of all existing variables (array must be dimensioned
to the size of existing parameters)
virtual bool SetVariableValues(const double * x);
/// method to perform the minimization /// method to perform the minimization
virtual bool Minimize(); virtual bool Minimize();
/// return minimum function value /// return minimum function value
virtual double MinValue() const { return fMinVal; } virtual double MinValue() const { return fMinVal; }
/// return expected distance reached from the minimum /// return expected distance reached from the minimum
virtual double Edm() const { return 0; } // not impl. } virtual double Edm() const { return 0; } // not impl. }
 End of changes. 2 change blocks. 
1 lines changed or deleted 6 lines changed or added


 GSLNLSMinimizer.h   GSLNLSMinimizer.h 
// @(#)root/mathmore:$Id: GSLNLSMinimizer.h 25486 2008-09-22 12:43:03Z mone ta $ // @(#)root/mathmore:$Id: GSLNLSMinimizer.h 26866 2008-12-12 10:50:07Z mone ta $
// Author: L. Moneta Wed Dec 20 17:16:32 2006 // Author: L. Moneta Wed Dec 20 17:16:32 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* This library is free software; you can redistribute it and/or * * This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License * * modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 * * as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. * * of the License, or (at your option) any later version. *
skipping to change at line 191 skipping to change at line 191
/// set lower limit variable (override if minimizer supports them ) /// set lower limit variable (override if minimizer supports them )
virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower ); virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower );
/// set upper limit variable (override if minimizer supports them ) /// set upper limit variable (override if minimizer supports them )
virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper ); virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper );
/// set upper/lower limited variable (override if minimizer supports the m ) /// set upper/lower limited variable (override if minimizer supports the m )
virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */); virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */);
/// set fixed variable (override if minimizer supports them ) /// set fixed variable (override if minimizer supports them )
virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */); virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */);
#endif #endif
/// set the value of an existing variable
virtual bool SetVariableValue(unsigned int ivar, double val );
/// set the values of all existing variables (array must be dimensioned
to the size of existing parameters)
virtual bool SetVariableValues(const double * x);
/// method to perform the minimization /// method to perform the minimization
virtual bool Minimize(); virtual bool Minimize();
/// return minimum function value /// return minimum function value
virtual double MinValue() const { return fMinVal; } virtual double MinValue() const { return fMinVal; }
/// return expected distance reached from the minimum /// return expected distance reached from the minimum
virtual double Edm() const { return 0; } // not impl. } virtual double Edm() const { return 0; } // not impl. }
/// return pointer to X values at the minimum /// return pointer to X values at the minimum
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 GSLSimAnMinimizer.h   GSLSimAnMinimizer.h 
// @(#)root/mathmore:$Id: GSLSimAnMinimizer.h 23619 2008-04-30 15:25:15Z mo neta $ // @(#)root/mathmore:$Id: GSLSimAnMinimizer.h 26866 2008-12-12 10:50:07Z mo neta $
// Author: L. Moneta Wed Dec 20 17:16:32 2006 // Author: L. Moneta Wed Dec 20 17:16:32 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* This library is free software; you can redistribute it and/or * * This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License * * modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 * * as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. * * of the License, or (at your option) any later version. *
skipping to change at line 114 skipping to change at line 114
#ifdef LATER #ifdef LATER
/// set lower limit variable (override if minimizer supports them ) /// set lower limit variable (override if minimizer supports them )
virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower ); virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower );
/// set upper limit variable (override if minimizer supports them ) /// set upper limit variable (override if minimizer supports them )
virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper ); virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper );
/// set upper/lower limited variable (override if minimizer supports the m ) /// set upper/lower limited variable (override if minimizer supports the m )
virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */); virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */);
#endif #endif
/// set the value of an existing variable
virtual bool SetVariableValue(unsigned int ivar, double val );
/// set the values of all existing variables (array must be dimensioned
to the size of the existing parameters)
virtual bool SetVariableValues(const double * x);
/// method to perform the minimization /// method to perform the minimization
virtual bool Minimize(); virtual bool Minimize();
/// return minimum function value /// return minimum function value
virtual double MinValue() const { return fMinVal; } virtual double MinValue() const { return fMinVal; }
/// return expected distance reached from the minimum /// return expected distance reached from the minimum
virtual double Edm() const { return 0; } // not impl. } virtual double Edm() const { return 0; } // not impl. }
/// return pointer to X values at the minimum /// return pointer to X values at the minimum
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 G__ci.h   G__ci.h 
skipping to change at line 896 skipping to change at line 896
}; };
/************************************************************************** /**************************************************************************
* struct of internal data * struct of internal data
* *
**************************************************************************/ **************************************************************************/
struct G__DUMMY_FOR_CINT7 { struct G__DUMMY_FOR_CINT7 {
void* fTypeName; void* fTypeName;
unsigned int fModifiers; unsigned int fModifiers;
}; };
#ifdef __cplusplus
struct G__value {
#else
typedef struct { typedef struct {
#endif
union { union {
double d; double d;
long i; /* used to be int */ long i; /* used to be int */
#if defined(G__PRIVATE_GVALUE) && !defined(_WINDOWS) #if defined(G__PRIVATE_GVALUE) && !defined(_WINDOWS)
#if defined(private) && defined(ROOT_RVersion) #if defined(private) && defined(ROOT_RVersion)
#define G__alt_private private #define G__alt_private private
#undef private #undef private
#endif #endif
private: private:
#endif #endif
skipping to change at line 939 skipping to change at line 943
#define private public #define private public
#endif #endif
#endif #endif
int type; int type;
int tagnum; int tagnum;
int typenum; int typenum;
#ifndef G__OLDIMPLEMENTATION1259 #ifndef G__OLDIMPLEMENTATION1259
G__SIGNEDCHAR_T isconst; G__SIGNEDCHAR_T isconst;
#endif #endif
struct G__DUMMY_FOR_CINT7 dummyForCint7; struct G__DUMMY_FOR_CINT7 dummyForCint7;
} G__value ; #ifdef __cplusplus
}
#else
} G__value
#endif
;
/************************************************************************** /**************************************************************************
* reference type argument for precompiled function * reference type argument for precompiled function
**************************************************************************/ **************************************************************************/
#define G__Mfloat(buf) (buf.obj.fl=(float)G__double(buf)) #define G__Mfloat(buf) (buf.obj.fl=(float)G__double(buf))
#define G__Mdouble(buf) buf.obj.d #define G__Mdouble(buf) buf.obj.d
#define G__Mchar(buf) (buf.obj.ch=(char)buf.obj.i) #define G__Mchar(buf) (buf.obj.ch=(char)buf.obj.i)
#define G__Mshort(buf) (buf.obj.sh=(short)buf.obj.i) #define G__Mshort(buf) (buf.obj.sh=(short)buf.obj.i)
#define G__Mint(buf) (buf.obj.in=(int)buf.obj.i) #define G__Mint(buf) (buf.obj.in=(int)buf.obj.i)
#define G__Mlong(buf) buf.obj.i #define G__Mlong(buf) buf.obj.i
skipping to change at line 1096 skipping to change at line 1105
#define G__RETURN_IMMEDIATE 2 #define G__RETURN_IMMEDIATE 2
#define G__RETURN_TRY -1 #define G__RETURN_TRY -1
#define G__RETURN_EXIT1 4 #define G__RETURN_EXIT1 4
#define G__RETURN_EXIT2 5 #define G__RETURN_EXIT2 5
/************************************************************************** /**************************************************************************
* struct declaration to avoid error (compiler dependent) * struct declaration to avoid error (compiler dependent)
**************************************************************************/ **************************************************************************/
struct G__ifunc_table; struct G__ifunc_table;
struct G__var_array; struct G__var_array;
struct G__dictposition; // decl in Api.h because of Cint7's having C++ cont
/********************************************************************* ent
* scratch upto dictionary position
*********************************************************************/
struct G__dictposition {
/* global variable table position */
struct G__var_array *var;
int ig15;
/* struct tagnum */
int tagnum;
/* const string table */
struct G__ConstStringList *conststringpos;
/* typedef table */
int typenum;
/* global function table position */
struct G__ifunc_table *ifunc;
int ifn;
/* include path */
struct G__includepath *ipath;
/* shared library file */
int allsl;
/* preprocessfilekey */
struct G__Preprocessfilekey *preprocessfilekey;
/* input file */
int nfile;
/* macro table */
struct G__Deffuncmacro *deffuncmacro;
/* template class */
struct G__Definedtemplateclass *definedtemplateclass;
/* function template */
struct G__Definetemplatefunc *definedtemplatefunc;
char* ptype; /* struct,union,enum,class */
};
/************************************************************************** /**************************************************************************
* comment information * comment information
* *
**************************************************************************/ **************************************************************************/
struct G__comment_info { struct G__comment_info {
union { union {
char *com; char *com;
fpos_t pos; fpos_t pos;
} p; } p;
skipping to change at line 1669 skipping to change at line 1645
#endif #endif
extern G__EXPORT void G__SetUseCINTSYSDIR G__P((int UseCINTSYSDIR)); extern G__EXPORT void G__SetUseCINTSYSDIR G__P((int UseCINTSYSDIR));
extern G__EXPORT void G__SetCINTSYSDIR G__P((char* cintsysdir)); extern G__EXPORT void G__SetCINTSYSDIR G__P((char* cintsysdir));
extern G__EXPORT void G__set_eolcallback G__P((void* eolcallback)); extern G__EXPORT void G__set_eolcallback G__P((void* eolcallback));
typedef void G__parse_hook_t (); typedef void G__parse_hook_t ();
extern G__EXPORT G__parse_hook_t* G__set_beforeparse_hook G__P((G__parse_ho ok_t* hook)); extern G__EXPORT G__parse_hook_t* G__set_beforeparse_hook G__P((G__parse_ho ok_t* hook));
extern G__EXPORT void G__set_ioctortype_handler G__P((int (*p2f) G__P((cons t char*)))); extern G__EXPORT void G__set_ioctortype_handler G__P((int (*p2f) G__P((cons t char*))));
extern G__EXPORT void G__SetCatchException G__P((int mode)); extern G__EXPORT void G__SetCatchException G__P((int mode));
extern G__EXPORT int G__GetCatchException G__P((void)); extern G__EXPORT int G__GetCatchException G__P((void));
extern G__EXPORT int G__Lsizeof G__P((const char *typenamein));
#ifdef G__ASM_WHOLEFUNC #ifdef G__ASM_WHOLEFUNC
/************************************************************************** /**************************************************************************
* Interface method to run bytecode function * Interface method to run bytecode function
**************************************************************************/ **************************************************************************/
extern G__EXPORT int G__exec_bytecode G__P((G__value *result7,G__CONST char *funcname,struct G__param *libp,int hash)); extern G__EXPORT int G__exec_bytecode G__P((G__value *result7,G__CONST char *funcname,struct G__param *libp,int hash));
#endif #endif
/************************************************************************** /**************************************************************************
* Exported Cint API functions * Exported Cint API functions
 End of changes. 5 change blocks. 
35 lines changed or deleted 13 lines changed or added


 HFitInterface.h   HFitInterface.h 
// @(#)root/hist:$Id: HFitInterface.h 25876 2008-10-18 09:35:00Z moneta $ // @(#)root/hist:$Id: HFitInterface.h 26866 2008-12-12 10:50:07Z moneta $
// Author: L. Moneta Thu Aug 31 10:40:20 2006 // Author: L. Moneta Thu Aug 31 10:40:20 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class TH1Interface // Header file for class HFitInterface
// set of free functions used to couple the ROOT data object with the fitti
ng classes
// avoid including this file when running CINT since free functions cannot
be re-defined
#if !defined(__CINT__) || defined(__MAKECINT__)
#ifndef ROOT_HFitInterface #ifndef ROOT_HFitInterface
#define ROOT_HFitInterface #define ROOT_HFitInterface
class TH1; class TH1;
class TF1; class TF1;
class TF2; class TF2;
class TGraph; class TGraph;
class TGraphErrors; class TGraphErrors;
class TGraph2D; class TGraph2D;
skipping to change at line 67 skipping to change at line 71
fitting function for a TGraph2D (called from TGraph2D::Fit) fitting function for a TGraph2D (called from TGraph2D::Fit)
*/ */
int FitObject(TGraph2D * gr, TF1 *f1 , Foption_t & option , const ROO T::Math::MinimizerOptions & moption, const char *goption, ROOT::Fit::DataRa nge & range); int FitObject(TGraph2D * gr, TF1 *f1 , Foption_t & option , const ROO T::Math::MinimizerOptions & moption, const char *goption, ROOT::Fit::DataRa nge & range);
#endif #endif
/** /**
fit an unbin data set (from tree or from histogram buffer) fit an unbin data set (from tree or from histogram buffer)
using a TF1 pointer and fit options. using a TF1 pointer and fit options.
N.B. ownership of fit data is passed to the UnBinFit function whi ch will be responsible of N.B. ownership of fit data is passed to the UnBinFit function whi ch will be responsible of
deleting the data after the fit. User calling this function MUST NOT delete UnBinData after deleting the data after the fit. User calling this function MUST NOT delete UnBinData after
calling it calling it.
*/ */
int UnBinFit(ROOT::Fit::UnBinData * data, TF1 * f1 , Foption_t & opti on , const ROOT::Math::MinimizerOptions & moption); int UnBinFit(ROOT::Fit::UnBinData * data, TF1 * f1 , Foption_t & opti on , const ROOT::Math::MinimizerOptions & moption);
/** /**
fill the data vector from a TH1. Pass also the TF1 function which is fill the data vector from a TH1. Pass also the TF1 function which is
needed in case of integral option and to reject points rejected b y the function needed in case of integral option and to reject points rejected b y the function
*/ */
void FillData ( BinData & dv, const TH1 * hist, TF1 * func = 0); void FillData ( BinData & dv, const TH1 * hist, TF1 * func = 0);
/** /**
skipping to change at line 111 skipping to change at line 115
/** /**
compute confidence intervals at level cl for a fitted histogram h1 in a TGraphErrors gr compute confidence intervals at level cl for a fitted histogram h1 in a TGraphErrors gr
*/ */
bool GetConfidenceIntervals(const TH1 * h1, const ROOT::Fit::FitResul t & r, TGraphErrors * gr, double cl = 0.95); bool GetConfidenceIntervals(const TH1 * h1, const ROOT::Fit::FitResul t & r, TGraphErrors * gr, double cl = 0.95);
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Fit_TH1Interface */ #endif /* ROOT_Fit_TH1Interface */
#endif /* not CINT OR MAKE_CINT */
 End of changes. 4 change blocks. 
3 lines changed or deleted 9 lines changed or added


 HybridCalculator.h   HybridCalculator.h 
// @(#)root/roostats:$Id: HybridCalculator.h 26434 2008-11-24 21:29:32Z mon eta $ // @(#)root/roostats:$Id: HybridCalculator.h 26964 2008-12-16 16:30:01Z mon eta $
/************************************************************************* /*************************************************************************
* Project: RooStats * * Project: RooStats *
* Package: RooFit/RooStats * * Package: RooFit/RooStats *
* Authors: * * Authors: *
* Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke * * Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke *
************************************************************************* *************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
skipping to change at line 25 skipping to change at line 25
#ifndef ROOSTATS_HybridCalculator #ifndef ROOSTATS_HybridCalculator
#define ROOSTATS_HybridCalculator #define ROOSTATS_HybridCalculator
#ifndef ROOSTATS_HypoTestCalculator #ifndef ROOSTATS_HypoTestCalculator
#include "RooStats/HypoTestCalculator.h" #include "RooStats/HypoTestCalculator.h"
#endif #endif
#include <vector> #include <vector>
#include "TH1.h" #ifndef ROOSTATS_HypoTestResult
#include "RooStats/HybridResult.h" #include "RooStats/HybridResult.h"
#endif
class TH1;
namespace RooStats { namespace RooStats {
class HybridCalculator : /*public HypoTestCalculator ,*/ public TNamed { class HybridCalculator : public HypoTestCalculator , public TNamed {
public: public:
/// Constructor with only name and title
HybridCalculator(const char *name = 0,
const char *title = 0);
/// Constructor for HybridCalculator /// Constructor for HybridCalculator
HybridCalculator(const char *name, HybridCalculator(const char *name,
const char *title, const char *title,
RooAbsPdf& sb_model, RooAbsPdf& sb_model,
RooAbsPdf& b_model, RooAbsPdf& b_model,
RooArgList& observables, RooArgList& observables,
RooArgSet& nuisance_parameters, RooArgSet& nuisance_parameters,
RooAbsPdf& prior_pdf); RooAbsPdf& prior_pdf);
/// Constructor for HybridCalculator using a data set and pdf instan
ces
HybridCalculator(RooAbsData& data,
RooAbsPdf& sb_model,
RooAbsPdf& b_model,
RooArgSet* nuisance_parameters,
RooAbsPdf* prior_pdf);
/// Constructor for HybridCalculator using name, title, a data set an
d pdf instances
HybridCalculator(const char *name,
const char *title,
RooAbsData& data,
RooAbsPdf& sb_model,
RooAbsPdf& b_model,
RooArgSet* nuisance_parameters,
RooAbsPdf* prior_pdf);
private: // not yet available
/// Constructor for HybridCalculator using name, title, a workspace a
nd pdf names
HybridCalculator(RooWorkspace & wks,
const char* data,
const char* sb_model,
const char* b_model,
RooArgSet* nuisance_parameters,
const char* prior_pdf);
/// Constructor for HybridCalculator using name, title, a workspace a
nd pdf names
HybridCalculator(const char *name,
const char *title,
RooWorkspace & wks,
const char* data,
const char* sb_model,
const char* b_model,
RooArgSet* nuisance_parameters,
const char* prior_pdf);
public:
/// Destructor of HybridCalculator /// Destructor of HybridCalculator
virtual ~HybridCalculator(); virtual ~HybridCalculator();
/// inherited methods from HypoTestCalculanterface
virtual HybridResult* GetHypoTest() const;
// inherited setter methods from HypoTestCalculator
private:
// set a workspace that owns all the necessary components for the ana
lysis
virtual void SetWorkspace(RooWorkspace& ws);
// set the PDF for the null hypothesis (only B)
virtual void SetNullPdf(const char* name) { fBModelName = name; }
// set the PDF for the alternate hypothesis (S+B)
virtual void SetAlternatePdf(const char* name ) { fSbModelName = name
;}
// set a common PDF for both the null and alternate hypotheses
virtual void SetCommonPdf(const char* name) {fSbModelName = name; }
public:
// Set a common PDF for both the null and alternate
virtual void SetCommonPdf(RooAbsPdf & pdf) { fSbModel = &pdf; }
// Set the PDF for the null (only B)
virtual void SetNullPdf(RooAbsPdf& pdf) { fBModel = &pdf; }
// Set the PDF for the alternate hypothesis ( i.e. S+B)
virtual void SetAlternatePdf(RooAbsPdf& pdf) { fSbModel = &pdf; }
// specify the name of the dataset in the workspace to be used
virtual void SetData(const char* name) { fDataName = name; }
// Set the DataSet, add to the the workspace if not already there
virtual void SetData(RooAbsData& data) { fData = &data; }
// set parameter values for the null if using a common PDF
virtual void SetNullParameters(RooArgSet& ) { } // not needed
// set parameter values for the alternate if using a common PDF
virtual void SetAlternateParameters(RooArgSet&) {} // not needed
// additional methods specific for HybridCalculator
// set a prior pdf for the nuisance parameters
void SetNuisancePdf(RooAbsPdf & prior_pdf) {
fPriorPdf = &prior_pdf;
fUsePriorPdf = true; // if set by default turn it on
}
// set name of a prior pdf for the nuisance parameters in the previo
usly given workspace
void SetNuisancePdf(const char * name) {
fPriorPdfName = name;
fUsePriorPdf = true; // if set by default turn it on
}
// set the nuisance parameters to be marginalized
void SetNuisanceParameters(RooArgSet & params) { fParameters = &param
s; }
// set number of toy MC
void SetNumberOfToys(unsigned int ntoys) { fNToys = ntoys; }
// control use of the pdf for the nuisance parameter and marginalize
them
void UseNuisance(bool on = true) { fUsePriorPdf = on; }
void SetTestStatistics(int index); void SetTestStatistics(int index);
HybridResult* Calculate(TH1& data, unsigned int nToys, bool usePriors
); HybridResult* Calculate(TH1& data, unsigned int nToys, bool usePriors
HybridResult* Calculate(RooTreeData& data, unsigned int nToys, bool u ) const;
sePriors); HybridResult* Calculate(RooTreeData& data, unsigned int nToys, bool u
HybridResult* Calculate(unsigned int nToys, bool usePriors); sePriors) const;
void PrintMore(const char* options); HybridResult* Calculate(unsigned int nToys, bool usePriors) const;
void PrintMore(const char* options) const;
private: private:
void RunToys(std::vector<double>& bVals, std::vector<double>& sbVals, void RunToys(std::vector<double>& bVals, std::vector<double>& sbVals,
unsigned int nToys, bool usePriors); unsigned int nToys, bool usePriors) const;
// check input parameters before performing the calculation
bool DoCheckInputs() const;
// initialize all the data and pdf by using a workspace as input
bool DoInitializeFromWS();
RooAbsPdf& fSbModel; // The pdf of the signal+background model
RooAbsPdf& fBModel; // The pdf of the background model
RooArgList& fObservables; // Collection of the observables of the mod
el
RooArgSet& fParameters; // Collection of the nuisance parameters in t
he model
RooAbsPdf& fPriorPdf; // Prior PDF of the nuisance parameters
unsigned int fTestStatisticsIdx; // Index of the test statistics to u se unsigned int fTestStatisticsIdx; // Index of the test statistics to u se
unsigned int fNToys; // number of Toys MC
bool fUsePriorPdf; // use a prior for nuisance paramet
ers
RooAbsPdf* fSbModel; // The pdf of the signal+background model
RooAbsPdf* fBModel; // The pdf of the background model
mutable RooArgList* fObservables; // Collection of the observables of
the model
RooArgSet* fParameters; // Collection of the nuisance parameters in t
he model
RooAbsPdf* fPriorPdf; // Prior PDF of the nuisance parameters
RooAbsData * fData; // pointer to the data sets
//bool fOwnsWorkspace; // flag indicating if calculator manages th
e workspace
RooWorkspace * fWS; // a workspace that owns all the components t
o be used by the calculator
TString fSbModelName; // name of pdf of the signal+background model
TString fBModelName; // name of pdf of the background model
TString fPriorPdfName; // name of pdf of the background model
TString fDataName; // name of the dataset in the workspace
protected: protected:
ClassDef(HybridCalculator,1) // Hypothesis test calculator using a B ayesian-frequentist hybrid method ClassDef(HybridCalculator,1) // Hypothesis test calculator using a B ayesian-frequentist hybrid method
}; };
} }
#endif #endif
 End of changes. 11 change blocks. 
19 lines changed or deleted 148 lines changed or added


 HypoTestCalculator.h   HypoTestCalculator.h 
// @(#)root/roostats:$Id: HypoTestCalculator.h 26434 2008-11-24 21:29:32Z m oneta $ // @(#)root/roostats:$Id: HypoTestCalculator.h 26964 2008-12-16 16:30:01Z m oneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_HypoTestCalculator #ifndef ROOSTATS_HypoTestCalculator
skipping to change at line 68 skipping to change at line 68
// Concrete implementations should have a constructor like: // Concrete implementations should have a constructor like:
// HypoTestCalculator(RooWorkspace*, RooAbsData*,RooAbsPdf*, RooAbsPd f*, RooArgSet*, RooArgSet*) // HypoTestCalculator(RooWorkspace*, RooAbsData*,RooAbsPdf*, RooAbsPd f*, RooArgSet*, RooArgSet*)
// Concrete implementations should have a constructor like: // Concrete implementations should have a constructor like:
// HypoTestCalculator(RooAbsData*,RooAbsPdf*, RooAbsPdf*, RooArgSet*, RooArgSet*) // HypoTestCalculator(RooAbsData*,RooAbsPdf*, RooAbsPdf*, RooArgSet*, RooArgSet*)
virtual ~HypoTestCalculator() {} virtual ~HypoTestCalculator() {}
// main interface to get a HypoTestResult, pure virtual // main interface to get a HypoTestResult, pure virtual
virtual HypoTestResult* GetHypoTest() const = 0; virtual HypoTestResult* GetHypoTest() const = 0;
// Initialize the calculator from a given data set, a null pdf and an
alternate pdf.
// The null parameters and alternate parameters can be optionally pas
sed otherwise by default
// the parameters of the pdf's will be used.
// In addition, one can give optionally a nuisance pdf with nuisance
parameters to be marginalized
virtual void Initialize(RooAbsData & data, RooAbsPdf & nullPdf, RooAb
sPdf & alternatePdf,
RooArgSet * nullParameters = 0, RooArgSet * a
lternateParameters = 0,
RooArgSet * nuisanceParameters = 0, RooAbsPdf
* nuisancePdf = 0 ) {
SetData(data);
SetNullPdf(nullPdf);
SetAlternatePdf(alternatePdf);
if (nullParameters) SetNullParameters(*nullParameters);
if (alternateParameters) SetAlternateParameters(*alternateParamete
rs);
if (nuisanceParameters) SetNuisanceParameters(*nuisanceParameters)
;
if (nuisancePdf) SetNuisancePdf(*nuisancePdf);
}
// Initialize the calculator from a given data set and a common pdf
for null and alternate hypothesis.
// In this case the null parameters and alternate parameters must be
given.
// In addition, one can give optionally a nuisance pdf with nuisance
parameters to be marginalized
virtual void Initialize(RooAbsData & data, RooAbsPdf & commonPdf,
RooArgSet & nullParameters, RooArgSet & alter
nateParameters,
RooArgSet * nuisanceParameters = 0, RooAbsPdf
* nuisancePdf = 0 ) {
Initialize(data, commonPdf, commonPdf, &nullParameters, &alternate
Parameters, nuisanceParameters, nuisancePdf);
}
// Initialize the calculator from a workspace and names for the data
set,
// the null pdf and the alternate pdf.
// The null parameters and alternate parameters can be optionally pas
sed otherwise by default
// the parameters of the pdf's will be used.
// In addition, one can give optionally a nuisance pdf with nuisance
parameters to be marginalized
virtual void Initialize(RooWorkspace & ws, const char * data, const c
har * nullPdf, const char * alternatePdf,
RooArgSet * nullParameters = 0, RooArgSet * a
lternateParameters = 0,
RooArgSet * nuisanceParameters = 0, const cha
r * nuisancePdf = 0 ) {
SetWorkspace(ws);
SetData(data);
SetNullPdf(nullPdf);
SetAlternatePdf(alternatePdf);
if (nullParameters) SetNullParameters(*nullParameters);
if (alternateParameters) SetAlternateParameters(*alternateParamete
rs);
if (nuisanceParameters) SetNuisanceParameters(*nuisanceParameters)
;
if (nuisancePdf) SetNuisancePdf(nuisancePdf);
}
// Initialize the calculator from a workspace and names for the data
set and a common pdf
// for both the null and the alternate hypothesis.
// In this case the null parameters and alternate parameters must be
given.
// In addition, one can give optionally a nuisance pdf with nuisance
parameters to be marginalized
virtual void Initialize(RooWorkspace & ws, const char * data, const c
har * commonPdf,
RooArgSet & nullParameters, RooArgSet & alter
nateParameters,
RooArgSet * nuisanceParameters = 0, const cha
r * nuisancePdf = 0 ) {
Initialize(ws, data, commonPdf, commonPdf, &nullParameters, &alter
nateParameters, nuisanceParameters, nuisancePdf);
}
// set a workspace that owns all the necessary components for the ana lysis // set a workspace that owns all the necessary components for the ana lysis
virtual void SetWorkspace(RooWorkspace* ws) = 0; virtual void SetWorkspace(RooWorkspace& ws) = 0;
// set the PDF for the null hypothesis // set the PDF for the null hypothesis
virtual void SetNullPdf(const char* name) = 0; virtual void SetNullPdf(const char* name) = 0;
// set the PDF for the alternate hypothesis // set the PDF for the alternate hypothesis
virtual void SetAlternatePdf(const char* name) = 0; virtual void SetAlternatePdf(const char* name) = 0;
// set a common PDF for both the null and alternate hypotheses // set a common PDF for both the null and alternate hypotheses
virtual void SetCommonPdf(const char* name) = 0; virtual void SetCommonPdf(const char* name) {
SetNullPdf(name);
SetAlternatePdf(name);
}
// Set a common PDF for both the null and alternate, add to the the w orkspace if not already there // Set a common PDF for both the null and alternate, add to the the w orkspace if not already there
virtual void SetCommonPdf(RooAbsPdf* pdf) = 0; virtual void SetCommonPdf(RooAbsPdf& pdf) {
SetNullPdf(pdf);
SetAlternatePdf(pdf);
}
// Set the PDF for the null, add to the the workspace if not already there // Set the PDF for the null, add to the the workspace if not already there
virtual void SetNullPdf(RooAbsPdf* pdf) = 0; virtual void SetNullPdf(RooAbsPdf& pdf) = 0;
// Set the PDF for the alternate hypothesis, add to the the workspace if not already there // Set the PDF for the alternate hypothesis, add to the the workspace if not already there
virtual void SetAlternatePdf(RooAbsPdf* pdf) = 0; virtual void SetAlternatePdf(RooAbsPdf& pdf) = 0;
// specify the name of the dataset in the workspace to be used // specify the name of the dataset in the workspace to be used
virtual void SetData(const char* name) = 0; virtual void SetData(const char* name) = 0;
// Set the DataSet, add to the the workspace if not already there // Set the DataSet, add to the the workspace if not already there
virtual void SetData(RooAbsData* data) = 0; virtual void SetData(RooAbsData& data) = 0;
// set parameter values for the null if using a common PDF // set parameter values for the null if using a common PDF
virtual void SetNullParameters(RooArgSet*) = 0; virtual void SetNullParameters(RooArgSet&) = 0;
// set parameter values for the alternate if using a common PDF // set parameter values for the alternate if using a common PDF
virtual void SetAlternateParameters(RooArgSet*) = 0; virtual void SetAlternateParameters(RooArgSet&) = 0;
// set the pdf name for an auxillary measurement of the nuisance whic
h will be marginalized by the calculator
// needs to be implemented by the derived class only if this feature
is supported
virtual void SetNuisancePdf(const char * ) {}
// set the pdf for an auxillary measurement which will be marginalize
d by the calculator
// needs to be implemented by the derived class only if this feature
is supported
virtual void SetNuisancePdf(RooAbsPdf &) {}
// set the parameters for the constraned pdf which will be marginali
zed by the calculator
// needs to be implemented by the derived class if this feature is su
pported
virtual void SetNuisanceParameters(RooArgSet &) {}
protected: protected:
ClassDef(HypoTestCalculator,1) // Interface for tools doing hypothes is tests ClassDef(HypoTestCalculator,1) // Interface for tools doing hypothes is tests
}; };
} }
#endif #endif
 End of changes. 10 change blocks. 
9 lines changed or deleted 115 lines changed or added


 IntervalCalculator.h   IntervalCalculator.h 
// @(#)root/roostats:$Id: IntervalCalculator.h 26324 2008-11-20 17:17:32Z m oneta $ // @(#)root/roostats:$Id: IntervalCalculator.h 26964 2008-12-16 16:30:01Z m oneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_IntervalCalculator #ifndef ROOSTATS_IntervalCalculator
skipping to change at line 72 skipping to change at line 72
virtual ~IntervalCalculator() {} virtual ~IntervalCalculator() {}
// Main interface to get a ConfInterval, pure virtual // Main interface to get a ConfInterval, pure virtual
virtual ConfInterval* GetInterval() const = 0; virtual ConfInterval* GetInterval() const = 0;
// Get the size of the test (eg. rate of Type I error) // Get the size of the test (eg. rate of Type I error)
virtual Double_t Size() const = 0; virtual Double_t Size() const = 0;
// Get the Confidence level for the test // Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const = 0; virtual Double_t ConfidenceLevel() const = 0;
// set a workspace that owns all the necessary components for the ana lysis // set a workspace that owns all the necessary components for the ana lysis
virtual void SetWorkspace(RooWorkspace* ws) = 0; virtual void SetWorkspace(RooWorkspace& ws) = 0;
// Set the DataSet, add to the the workspace if not already there // Set the DataSet, add to the the workspace if not already there
virtual void SetData(RooAbsData*) = 0; virtual void SetData(RooAbsData&) = 0;
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetPdf(RooAbsPdf*) = 0; virtual void SetPdf(RooAbsPdf&) = 0;
// specify the name of the dataset in the workspace to be used // specify the name of the dataset in the workspace to be used
virtual void SetData(const char* name) = 0; virtual void SetData(const char* name) = 0;
// specify the name of the PDF in the workspace to be used // specify the name of the PDF in the workspace to be used
virtual void SetPdf(const char* name) = 0; virtual void SetPdf(const char* name) = 0;
// specify the parameters of interest in the interval // specify the parameters of interest in the interval
virtual void SetParameters(RooArgSet*) = 0; virtual void SetParameters(RooArgSet&) = 0;
// specify the nuisance parameters (eg. the rest of the parameters) // specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(RooArgSet*) = 0; virtual void SetNuisanceParameters(RooArgSet&) = 0;
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval) // set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval)
virtual void SetSize(Double_t size) = 0; virtual void SetSize(Double_t size) = 0;
// set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval) // set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval)
virtual void SetConfidenceLevel(Double_t cl) = 0; virtual void SetConfidenceLevel(Double_t cl) = 0;
protected: protected:
ClassDef(IntervalCalculator,1) // Interface for tools setting limit s (producing confidence intervals) ClassDef(IntervalCalculator,1) // Interface for tools setting limit s (producing confidence intervals)
}; };
} }
 End of changes. 6 change blocks. 
6 lines changed or deleted 6 lines changed or added


 LogLikelihoodFCN.h   LogLikelihoodFCN.h 
// @(#)root/mathcore:$Id: LogLikelihoodFCN.h 26014 2008-10-29 16:37:28Z mon eta $ // @(#)root/mathcore:$Id: LogLikelihoodFCN.h 26541 2008-12-01 10:00:52Z mon eta $
// Author: L. Moneta Fri Aug 17 14:29:24 2007 // Author: L. Moneta Fri Aug 17 14:29:24 2007
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2007 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2007 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class LogLikelihoodFCN // Header file for class LogLikelihoodFCN
skipping to change at line 156 skipping to change at line 156
const UnBinData & fData; const UnBinData & fData;
mutable IModelFunction & fFunc; mutable IModelFunction & fFunc;
mutable unsigned int fNEffPoints; // number of effective points used in the fit mutable unsigned int fNEffPoints; // number of effective points used in the fit
mutable std::vector<double> fGrad; // for derivatives mutable std::vector<double> fGrad; // for derivatives
}; };
// define useful typedef's
typedef LogLikelihoodFCN<ROOT::Math::IMultiGenFunction> LogLikelihoo
dFunction;
typedef LogLikelihoodFCN<ROOT::Math::IMultiGradFunction> LogLikelihoo
dGradFunction;
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Fit_LogLikelihoodFCN */ #endif /* ROOT_Fit_LogLikelihoodFCN */
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 MatrixInversion.icc   MatrixInversion.icc 
// @(#)root/smatrix:$Id: MatrixInversion.icc 23735 2008-05-07 21:18:33Z mon eta $ // @(#)root/smatrix:$Id: MatrixInversion.icc 26866 2008-12-12 10:50:07Z mon eta $
// Authors: CLHEP authors, L. Moneta 2006 // Authors: CLHEP authors, L. Moneta 2006
#include "Math/SVector.h"
#include <limits>
#ifndef ROOT_Math_MatrixInversion_icc #ifndef ROOT_Math_MatrixInversion_icc
#define ROOT_Math_MatrixInversion_icc #define ROOT_Math_MatrixInversion_icc
#include "Math/SVector.h"
#include <limits>
// inversion algorithms for matrices // inversion algorithms for matrices
// taken from CLHEP (L. Moneta May 2006) // taken from CLHEP (L. Moneta May 2006)
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
/** General Inversion for a symmetric matrix /** General Inversion for a symmetric matrix
Bunch-Kaufman diagonal pivoting method Bunch-Kaufman diagonal pivoting method
It is decribed in J.R. Bunch, L. Kaufman (1977). It is decribed in J.R. Bunch, L. Kaufman (1977).
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 lines changed or added


 Member.h   Member.h 
// @(#)root/reflex:$Id: Member.h 26193 2008-11-14 14:12:27Z axel $ // @(#)root/reflex:$Id: Member.h 26631 2008-12-03 15:50:16Z axel $
// Author: Stefan Roiser 2004 // Author: Stefan Roiser 2004
// Copyright CERN, CH-1211 Geneva 23, 2004-2006, All rights reserved. // Copyright CERN, CH-1211 Geneva 23, 2004-2006, All rights reserved.
// //
// Permission to use, copy, modify, and distribute this software for any // Permission to use, copy, modify, and distribute this software for any
// purpose is hereby granted without fee, provided that this copyright and // purpose is hereby granted without fee, provided that this copyright and
// permissions notice appear in all copies and derivatives. // permissions notice appear in all copies and derivatives.
// //
// This software is provided "as is" without express or implied warranty. // This software is provided "as is" without express or implied warranty.
skipping to change at line 434 skipping to change at line 434
Reverse_Type_Iterator TemplateArgument_RBegin() const; Reverse_Type_Iterator TemplateArgument_RBegin() const;
Reverse_Type_Iterator TemplateArgument_REnd() const; Reverse_Type_Iterator TemplateArgument_REnd() const;
/** /**
* TemplateFamily returns the corresponding MemberTemplate if any * TemplateFamily returns the corresponding MemberTemplate if any
* @return corresponding MemberTemplate * @return corresponding MemberTemplate
*/ */
MemberTemplate TemplateFamily() const; MemberTemplate TemplateFamily() const;
/** /**
* ToMemberBase returns the underlying, internal MemberBase
* @return memberbase pointer
*/
MemberBase* ToMemberBase() const;
/**
* TypeOf returns the member type * TypeOf returns the member type
* @return member type * @return member type
*/ */
Type TypeOf() const; Type TypeOf() const;
/** /**
* UpdateFunctionParameterNames updates the names of parameters * UpdateFunctionParameterNames updates the names of parameters
* @param parameters new list of ';' separated parameter names, must not specify default values * @param parameters new list of ';' separated parameter names, must not specify default values
*/ */
void UpdateFunctionParameterNames(const char* parameters); void UpdateFunctionParameterNames(const char* parameters);
skipping to change at line 899 skipping to change at line 905
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline Reflex::MemberTemplate Reflex::Member::TemplateFamily() const { inline Reflex::MemberTemplate Reflex::Member::TemplateFamily() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
if ( * this ) return fMemberBase->TemplateFamily(); if ( * this ) return fMemberBase->TemplateFamily();
return Dummy::MemberTemplate(); return Dummy::MemberTemplate();
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline Reflex::MemberBase* Reflex::Member::ToMemberBase() const {
//-------------------------------------------------------------------------
------
return fMemberBase;
}
//-------------------------------------------------------------------------
------
inline Reflex::Type Reflex::Member::TypeOf() const { inline Reflex::Type Reflex::Member::TypeOf() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
if ( *this ) return fMemberBase->TypeOf(); if ( *this ) return fMemberBase->TypeOf();
return Dummy::Type(); return Dummy::Type();
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline void Reflex::Member::UpdateFunctionParameterNames(const char* parame ters) { inline void Reflex::Member::UpdateFunctionParameterNames(const char* parame ters) {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
if (*this) return fMemberBase->UpdateFunctionParameterNames(parameters); if (*this) return fMemberBase->UpdateFunctionParameterNames(parameters);
 End of changes. 3 change blocks. 
1 lines changed or deleted 15 lines changed or added


 MemberBase.h   MemberBase.h 
// @(#)root/reflex:$Id: MemberBase.h 26193 2008-11-14 14:12:27Z axel $ // @(#)root/reflex:$Id: MemberBase.h 26631 2008-12-03 15:50:16Z axel $
// Author: Stefan Roiser 2004 // Author: Stefan Roiser 2004
// Copyright CERN, CH-1211 Geneva 23, 2004-2006, All rights reserved. // Copyright CERN, CH-1211 Geneva 23, 2004-2006, All rights reserved.
// //
// Permission to use, copy, modify, and distribute this software for any // Permission to use, copy, modify, and distribute this software for any
// purpose is hereby granted without fee, provided that this copyright and // purpose is hereby granted without fee, provided that this copyright and
// permissions notice appear in all copies and derivatives. // permissions notice appear in all copies and derivatives.
// //
// This software is provided "as is" without express or implied warranty. // This software is provided "as is" without express or implied warranty.
skipping to change at line 506 skipping to change at line 506
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline Reflex::TYPE Reflex::MemberBase::MemberType() const { inline Reflex::TYPE Reflex::MemberBase::MemberType() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
return fMemberType; return fMemberType;
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline std::string Reflex::MemberBase::Name( unsigned int mod ) const { inline std::string Reflex::MemberBase::Name( unsigned int mod ) const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
std::string s = "";
if ( 0 != ( mod & ( SCOPED | S ))) { if ( 0 != ( mod & ( SCOPED | S ))) {
s += DeclaringScope().Name( mod ); std::string s(DeclaringScope().Name( mod ));
if ( ! DeclaringScope().IsTopScope()) s += "::"; if ( ! DeclaringScope().IsTopScope()) s += "::";
s += fName;
return s;
} }
s += fName; return fName;
return s;
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline size_t Reflex::MemberBase::Offset() const { inline size_t Reflex::MemberBase::Offset() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
return 0; return 0;
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline size_t Reflex::MemberBase::FunctionParameterSize( bool /* required * / ) const { inline size_t Reflex::MemberBase::FunctionParameterSize( bool /* required * / ) const {
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added


 Minimizer.h   Minimizer.h 
// @(#)root/mathcore:$Id: Minimizer.h 26014 2008-10-29 16:37:28Z moneta $ // @(#)root/mathcore:$Id: Minimizer.h 26866 2008-12-12 10:50:07Z moneta $
// Author: L. Moneta Fri Sep 22 15:06:47 2006 // Author: L. Moneta Fri Sep 22 15:06:47 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class Minimizer // Header file for class Minimizer
skipping to change at line 182 skipping to change at line 182
return SetLimitedVariable(ivar, name, val, step, - std::numeric_limit s<double>::infinity(), upper ); return SetLimitedVariable(ivar, name, val, step, - std::numeric_limit s<double>::infinity(), upper );
} }
/// set upper/lower limited variable (override if minimizer supports the m ) /// set upper/lower limited variable (override if minimizer supports the m )
virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */) { virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */) {
return SetVariable(ivar, name, val, step ); return SetVariable(ivar, name, val, step );
} }
/// set fixed variable (override if minimizer supports them ) /// set fixed variable (override if minimizer supports them )
virtual bool SetFixedVariable(unsigned int ivar , const std::string & na me , double val ) { virtual bool SetFixedVariable(unsigned int ivar , const std::string & na me , double val ) {
return SetLimitedVariable(ivar, name, val, 0., val, val); return SetLimitedVariable(ivar, name, val, 0., val, val);
} }
/// set the value of an existing variable
virtual bool SetVariableValue(unsigned int , double ) { return false; }
/// set the values of all existing variables (array must be dimensioned
to the size of the existing parameters)
virtual bool SetVariableValues(const double * x) {
bool ret = true;
unsigned int i = 0;
while ( i <= NDim() && ret) {
SetVariableValue(i,x[i] ); i++;
}
return ret;
}
/// method to perform the minimization /// method to perform the minimization
virtual bool Minimize() = 0; virtual bool Minimize() = 0;
/// return minimum function value /// return minimum function value
virtual double MinValue() const = 0; virtual double MinValue() const = 0;
/// return expected distance reached from the minimum /// return expected distance reached from the minimum
virtual double Edm() const = 0; virtual double Edm() const = 0;
skipping to change at line 239 skipping to change at line 250
/** /**
return global correlation coefficient for variable i return global correlation coefficient for variable i
This is a number between zero and one which gives This is a number between zero and one which gives
the correlation between the i-th parameter and that linear combinati on of all the correlation between the i-th parameter and that linear combinati on of all
other parameters which is most strongly correlated with i. other parameters which is most strongly correlated with i.
Minimizer must overload method if implemented Minimizer must overload method if implemented
*/ */
virtual double GlobalCC(unsigned int ) const { return -1; } virtual double GlobalCC(unsigned int ) const { return -1; }
/// minos error for variable i, return false if Minos failed or not supp /**
orted minos error for variable i, return false if Minos failed or not suppo
rted
*/
virtual bool GetMinosError(unsigned int /* i */, double & errLow, double & errUp) { virtual bool GetMinosError(unsigned int /* i */, double & errLow, double & errUp) {
errLow = 0; errUp = 0; errLow = 0; errUp = 0;
return false; return false;
} }
/**
scan function minimum for variable i. Variable and funciton must be s
et before using Scan
Return false if an error or if minimizer does not support this funcit
onality
*/
virtual bool Scan(unsigned int /* i */, unsigned int & /* nstep */, doub
le * /* x */, double * /* y */,
double /*xmin */ = 0, double /*xmax*/ = 0) {
return false;
}
/**
find the contour points (xi,xj) of the function for parameter i and j
around the minimum
The contour will be find for value of the function = Min + ErrorUp();
*/
virtual bool Contour(unsigned int /* i */, unsigned int /* j */, unsigne
d int &/* np */,
double * /* xi */, double * /* xj */) {
return false;
}
/// return reference to the objective function /// return reference to the objective function
///virtual const ROOT::Math::IGenFunction & Function() const = 0; ///virtual const ROOT::Math::IGenFunction & Function() const = 0;
/// print the result according to set level. /// print the result according to set level (implemented for TMinuit for mantaining Minuit-style printing)
virtual void PrintResults() {} virtual void PrintResults() {}
// get name of variables (override if minimizer support storing of varia ble names) // get name of variables (override if minimizer support storing of varia ble names)
//virtual std::string VariableName(unsigned int ivar) const { return "x_ " + ROOT::Math::Util::ToString(ivar); } //virtual std::string VariableName(unsigned int ivar) const { return "x_ " + ROOT::Math::Util::ToString(ivar); }
/** minimizer configuration parameters **/ /** minimizer configuration parameters **/
/// set print level /// set print level
int PrintLevel() const { return fDebug; } int PrintLevel() const { return fDebug; }
skipping to change at line 276 skipping to change at line 307
double Tolerance() const { return fTol; } double Tolerance() const { return fTol; }
/// strategy /// strategy
int Strategy() const { return fStrategy; } int Strategy() const { return fStrategy; }
/// status code of minimizer /// status code of minimizer
int Status() const { return fStatus; } int Status() const { return fStatus; }
/// return the statistical scale used for calculate the error /// return the statistical scale used for calculate the error
/// is typically 1 for Chi2 and 0.5 for likelihood minimization /// is typically 1 for Chi2 and 0.5 for likelihood minimization
double ErrorUp() const { return fUp; } double ErrorDef() const { return fUp; }
///return true if Minimizer has performed a detailed error validation (e .g. run Hesse for Minuit) ///return true if Minimizer has performed a detailed error validation (e .g. run Hesse for Minuit)
bool IsValidError() const { return fValidError; } bool IsValidError() const { return fValidError; }
/// set print level /// set print level
void SetPrintLevel(int level) { fDebug = level; } void SetPrintLevel(int level) { fDebug = level; }
///set maximum of function calls ///set maximum of function calls
void SetMaxFunctionCalls(unsigned int maxfcn) { if (maxfcn > 0) fMaxCall s = maxfcn; } void SetMaxFunctionCalls(unsigned int maxfcn) { if (maxfcn > 0) fMaxCall s = maxfcn; }
/// set maximum iterations (one iteration can have many function calls) /// set maximum iterations (one iteration can have many function calls)
void SetMaxIterations(unsigned int maxiter) { if (maxiter > 0) fMaxIter = maxiter; } void SetMaxIterations(unsigned int maxiter) { if (maxiter > 0) fMaxIter = maxiter; }
/// set the tolerance /// set the tolerance
void SetTolerance(double tol) { fTol = tol; } void SetTolerance(double tol) { fTol = tol; }
///set the strategy ///set the strategy
void SetStrategy(int strategyLevel) { fStrategy = strategyLevel; } void SetStrategy(int strategyLevel) { fStrategy = strategyLevel; }
/// set scale for calculating the errors /// set scale for calculating the errors
void SetErrorUp(double up) { fUp = up; } void SetErrorDef(double up) { fUp = up; }
/// flag to check if minimizer needs to perform accurate error analysis (e.g. run Hesse for Minuit) /// flag to check if minimizer needs to perform accurate error analysis (e.g. run Hesse for Minuit)
void SetValidError(bool on) { fValidError = on; } void SetValidError(bool on) { fValidError = on; }
protected: protected:
//private: //private:
// keep protected to be accessible by the derived classes // keep protected to be accessible by the derived classes
 End of changes. 7 change blocks. 
6 lines changed or deleted 43 lines changed or added


 MinimizerOptions.h   MinimizerOptions.h 
// @(#)root/mathcore:$Id: MinimizerOptions.h 25507 2008-09-23 07:54:18Z mon eta $ // @(#)root/mathcore:$Id: MinimizerOptions.h 26508 2008-11-28 14:22:29Z mon eta $
// Author: L. Moneta Fri Aug 15 2008 // Author: L. Moneta Fri Aug 15 2008
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2008 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2008 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
#ifndef ROOT_Math_MinimizerOptions #ifndef ROOT_Math_MinimizerOptions
skipping to change at line 32 skipping to change at line 32
Minimizer options Minimizer options
@ingroup MultiMin @ingroup MultiMin
*/ */
class MinimizerOptions { class MinimizerOptions {
public: public:
// static methods for setting and retrieving the default options // static methods for setting and retrieving the default options
static void SetDefaultMinimizer(const std::string & type, const std::str ing & algo); static void SetDefaultMinimizer(const char * type, const char * algo = 0 );
static void SetDefaultErrorDef( double up); static void SetDefaultErrorDef( double up);
static void SetDefaultTolerance(double tol); static void SetDefaultTolerance(double tol);
static void SetDefaultMaxFunctionCalls(int maxcall); static void SetDefaultMaxFunctionCalls(int maxcall);
static void SetDefaultMaxIterations(int maxiter); static void SetDefaultMaxIterations(int maxiter);
static void SetDefaultStrategy(int strat); static void SetDefaultStrategy(int strat);
static void SetDefaultPrintLevel(int level); static void SetDefaultPrintLevel(int level);
static const std::string & DefaultMinimizerType(); static const std::string & DefaultMinimizerType();
static const std::string & DefaultMinimizerAlgo(); static const std::string & DefaultMinimizerAlgo();
static double DefaultErrorDef(); static double DefaultErrorDef();
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Minuit2Minimizer.h   Minuit2Minimizer.h 
skipping to change at line 114 skipping to change at line 114
virtual bool SetVariable(unsigned int ivar, const std::string & name, do uble val, double step); virtual bool SetVariable(unsigned int ivar, const std::string & name, do uble val, double step);
/// set lower limit variable (override if minimizer supports them ) /// set lower limit variable (override if minimizer supports them )
virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower ); virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower );
/// set upper limit variable (override if minimizer supports them ) /// set upper limit variable (override if minimizer supports them )
virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper ); virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper );
/// set upper/lower limited variable (override if minimizer supports the m ) /// set upper/lower limited variable (override if minimizer supports the m )
virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */); virtual bool SetLimitedVariable(unsigned int ivar , const std::string & name , double val , double step , double /* lower */, double /* upper */);
/// set fixed variable (override if minimizer supports them ) /// set fixed variable (override if minimizer supports them )
virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */); virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */);
/// set variable
virtual bool SetVariableValue(unsigned int ivar, double val);
virtual bool SetVariableValues(const double * val);
/// get name of variables (override if minimizer support storing of vari able names) /// get name of variables (override if minimizer support storing of vari able names)
virtual std::string VariableName(unsigned int ivar) const; virtual std::string VariableName(unsigned int ivar) const;
/// method to perform the minimization /// method to perform the minimization
virtual bool Minimize(); virtual bool Minimize();
/// return minimum function value /// return minimum function value
virtual double MinValue() const { return fState.Fval(); } virtual double MinValue() const { return fState.Fval(); }
skipping to change at line 180 skipping to change at line 183
virtual double Correlation(unsigned int i, unsigned int j ) const; virtual double Correlation(unsigned int i, unsigned int j ) const;
/** /**
get global correlation coefficient for the variable i. This is a numb er between zero and one which gives get global correlation coefficient for the variable i. This is a numb er between zero and one which gives
the correlation between the i-th variable and that linear combinatio n of all other variables which the correlation between the i-th variable and that linear combinatio n of all other variables which
is most strongly correlated with i. is most strongly correlated with i.
If the variable is fixed or const the return value is zero If the variable is fixed or const the return value is zero
*/ */
virtual double GlobalCC(unsigned int i) const; virtual double GlobalCC(unsigned int i) const;
/// minos error for parameter i, return false if Minos failed /**
get the minos error for parameter i, return false if Minos failed
A minimizaiton must be performed befre, return false if no minimizati
on has been done
*/
virtual bool GetMinosError(unsigned int i, double & errLow, double & err Up); virtual bool GetMinosError(unsigned int i, double & errLow, double & err Up);
/**
scan a parameter i around the minimum. A minimization must have been
done before,
return false if it is not the case
*/
virtual bool Scan(unsigned int i, unsigned int & nstep, double * x, doub
le * y, double xmin = 0, double xmax = 0);
/**
find the contour points (xi,xj) of the function for parameter i and j
around the minimum
The contour will be find for value of the function = Min + ErrorUp();
*/
virtual bool Contour(unsigned int i, unsigned int j, unsigned int & npoi
nts, double *xi, double *xj);
/// return reference to the objective function /// return reference to the objective function
///virtual const ROOT::Math::IGenFunction & Function() const; ///virtual const ROOT::Math::IGenFunction & Function() const;
protected: protected:
// protected function for accessing the internal Minuit2 object. Needed for derived classes // protected function for accessing the internal Minuit2 object. Needed for derived classes
virtual const ROOT::Minuit2::ModularFunctionMinimizer * GetMinimizer() c onst { return fMinimizer; } virtual const ROOT::Minuit2::ModularFunctionMinimizer * GetMinimizer() c onst { return fMinimizer; }
virtual void SetMinimizer( ROOT::Minuit2::ModularFunctionMinimizer * m) { fMinimizer = m; } virtual void SetMinimizer( ROOT::Minuit2::ModularFunctionMinimizer * m) { fMinimizer = m; }
 End of changes. 3 change blocks. 
1 lines changed or deleted 24 lines changed or added


 MnPrint.h   MnPrint.h 
// @(#)root/minuit2:$Id: MnPrint.h 20880 2007-11-19 11:23:41Z rdm $ // @(#)root/minuit2:$Id: MnPrint.h 26866 2008-12-12 10:50:07Z moneta $
// Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT * * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
* * * *
**********************************************************************/ **********************************************************************/
#ifndef ROOT_Minuit2_MnPrint #ifndef ROOT_Minuit2_MnPrint
#define ROOT_Minuit2_MnPrint #define ROOT_Minuit2_MnPrint
skipping to change at line 121 skipping to change at line 121
::Info("Minuit2",str); ::Info("Minuit2",str);
#define MN_ERROR_MSG(str) \ #define MN_ERROR_MSG(str) \
::Error("Minuit2",str); ::Error("Minuit2",str);
# define MN_INFO_VAL(x) \ # define MN_INFO_VAL(x) \
{std::string str = std::string(#x) + std::string(" = ") + ROOT::Math::Ut il::ToString(x); \ {std::string str = std::string(#x) + std::string(" = ") + ROOT::Math::Ut il::ToString(x); \
::Info("Minuit2",str.c_str() );} ::Info("Minuit2",str.c_str() );}
# define MN_ERROR_VAL(x) \ # define MN_ERROR_VAL(x) \
{std::string str = std::string(#x) + std::string(" = ") + ROOT::Math::Ut il::ToString(x); \ {std::string str = std::string(#x) + std::string(" = ") + ROOT::Math::Ut il::ToString(x); \
::Error("Minuit2",str.c_str() );} ::Error("Minuit2",str.c_str() );}
# define MM_INFO_MSG2(loc,txt) \ # define MN_INFO_MSG2(loc,txt) \
{std::string str = std::string(loc) + std::string(" : ") + std::string(t xt); \ {std::string str = std::string(loc) + std::string(" : ") + std::string(t xt); \
::Info("Minuit2",str.c_str() );} ::Info("Minuit2",str.c_str() );}
# define MN_ERROR_MSG2(loc,txt) \ # define MN_ERROR_MSG2(loc,txt) \
{std::string str = std::string(loc) + std::string(" : ") + std::string(t xt); \ {std::string str = std::string(loc) + std::string(" : ") + std::string(t xt); \
::Error("Minuit2",str.c_str() );} ::Error("Minuit2",str.c_str() );}
# define MN_INFO_VAL2(loc,x) \ # define MN_INFO_VAL2(loc,x) \
{std::string str = std::string(loc) + std::string(" : ") + std::string(# x) + std::string(" = ") + ROOT::Math::Util::ToString(x); \ {std::string str = std::string(loc) + std::string(" : ") + std::string(# x) + std::string(" = ") + ROOT::Math::Util::ToString(x); \
::Info("Minuit2",str.c_str() );} ::Info("Minuit2",str.c_str() );}
# define MN_ERROR_VAL2(loc,x) \ # define MN_ERROR_VAL2(loc,x) \
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 ModulekNN.h   ModulekNN.h 
// @(#)root/tmva $Id: ModulekNN.h 22689 2008-03-17 16:21:23Z rdm $ // @(#)root/tmva $Id: ModulekNN.h 27001 2008-12-18 08:38:09Z brun $
// Author: Rustem Ospanov // Author: Rustem Ospanov
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : ModulekNN * * Class : ModulekNN *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Module for k-nearest neighbor algorithm * * Module for k-nearest neighbor algorithm *
skipping to change at line 112 skipping to change at line 112
public: public:
ModulekNN(); ModulekNN();
~ModulekNN(); ~ModulekNN();
void Clear(); void Clear();
void Add(const Event &event); void Add(const Event &event);
Bool_t Fill(const UShort_t odepth, UInt_t ifrac, const std::string &option = ""); Bool_t Fill(UShort_t odepth, UInt_t ifrac, const std::string &opti on = "");
Bool_t Find(Event event, UInt_t nfind = 100) const; Bool_t Find(Event event, UInt_t nfind = 100) const;
Bool_t Find(UInt_t nfind, const std::string &option) const; Bool_t Find(UInt_t nfind, const std::string &option) const;
const EventVec& GetEventVec() const; const EventVec& GetEventVec() const;
const List& GetkNNList() const; const List& GetkNNList() const;
const Event& GetkNNEvent() const; const Event& GetkNNEvent() const;
const VarMap& GetVarMap() const; const VarMap& GetVarMap() const;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 ParamFunctor.h   ParamFunctor.h 
// @(#)root/mathcore:$Id: ParamFunctor.h 25863 2008-10-17 18:53:10Z brun $ // @(#)root/mathcore:$Id: ParamFunctor.h 26722 2008-12-08 10:35:18Z moneta $
// Author: L. Moneta Mon Nov 13 15:58:13 2006 // Author: L. Moneta Mon Nov 13 15:58:13 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for Functor classes. // Header file for Functor classes.
skipping to change at line 219 skipping to change at line 219
*/ */
template <class PtrObj, typename MemFn> template <class PtrObj, typename MemFn>
ParamFunctor(const PtrObj& p, MemFn memFn) ParamFunctor(const PtrObj& p, MemFn memFn)
: fImpl(new ParamMemFunHandler<ParamFunctor, PtrObj, MemFn>(p, memFn) ) : fImpl(new ParamMemFunHandler<ParamFunctor, PtrObj, MemFn>(p, memFn) )
{} {}
/** /**
construct from another generic Functor of multi-dimension construct from another generic Functor of multi-dimension
*/ */
template <typename Func> template <typename Func>
ParamFunctor( const Func & f) : explicit ParamFunctor( const Func & f) :
fImpl(new ParamFunctorHandler<ParamFunctor,Func>(f) ) fImpl(new ParamFunctorHandler<ParamFunctor,Func>(f) )
{} {}
// specialization used in TF1 // specialization used in TF1
typedef double (* FreeFunc ) (double * , double *); typedef double (* FreeFunc ) (double * , double *);
ParamFunctor(FreeFunc f) : ParamFunctor(FreeFunc f) :
fImpl(new ParamFunctorHandler<ParamFunctor,FreeFunc>(f) ) fImpl(new ParamFunctorHandler<ParamFunctor,FreeFunc>(f) )
{ {
} }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 PoissonLikelihoodFCN.h   PoissonLikelihoodFCN.h 
// @(#)root/mathcore:$Id: PoissonLikelihoodFCN.h 26014 2008-10-29 16:37:28Z moneta $ // @(#)root/mathcore:$Id: PoissonLikelihoodFCN.h 26541 2008-12-01 10:00:52Z moneta $
// Author: L. Moneta Fri Aug 17 14:29:24 2007 // Author: L. Moneta Fri Aug 17 14:29:24 2007
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2007 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2007 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class PoissonLikelihoodFCN // Header file for class PoissonLikelihoodFCN
skipping to change at line 150 skipping to change at line 150
unsigned int fNDim; unsigned int fNDim;
unsigned int fNPoints; // size of the data unsigned int fNPoints; // size of the data
mutable unsigned int fNEffPoints; // number of effective points used in the fit mutable unsigned int fNEffPoints; // number of effective points used in the fit
mutable unsigned int fNCalls; mutable unsigned int fNCalls;
mutable std::vector<double> fGrad; // for derivatives mutable std::vector<double> fGrad; // for derivatives
}; };
// define useful typedef's
typedef PoissonLikelihoodFCN<ROOT::Math::IMultiGenFunction> PoissonLL
Function;
typedef PoissonLikelihoodFCN<ROOT::Math::IMultiGradFunction> PoissonL
LGradFunction;
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Fit_PoissonLikelihoodFCN */ #endif /* ROOT_Fit_PoissonLikelihoodFCN */
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 ProfileLikelihoodCalculator.h   ProfileLikelihoodCalculator.h 
// @(#)root/roostats:$Id: ProfileLikelihoodCalculator.h 26324 2008-11-20 17 :17:32Z moneta $ // @(#)root/roostats:$Id: ProfileLikelihoodCalculator.h 26964 2008-12-16 16 :30:01Z moneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_ProfileLikelihoodCalculator #ifndef ROOSTATS_ProfileLikelihoodCalculator
skipping to change at line 24 skipping to change at line 24
#ifndef ROOSTATS_CombinedCalculator #ifndef ROOSTATS_CombinedCalculator
#include "RooStats/CombinedCalculator.h" #include "RooStats/CombinedCalculator.h"
#endif #endif
namespace RooStats { namespace RooStats {
class ProfileLikelihoodCalculator : public CombinedCalculator { class ProfileLikelihoodCalculator : public CombinedCalculator {
public: public:
ProfileLikelihoodCalculator(); ProfileLikelihoodCalculator();
ProfileLikelihoodCalculator(RooWorkspace* ws, RooAbsData* data, RooAb sPdf* pdf, RooArgSet* paramsOfInterest, ProfileLikelihoodCalculator(RooWorkspace& ws, RooAbsData& data, RooAb sPdf& pdf, RooArgSet& paramsOfInterest,
Double_t size = 0.05, RooArgSet* nullPara ms = 0, RooArgSet* altParams = 0); Double_t size = 0.05, RooArgSet* nullPara ms = 0, RooArgSet* altParams = 0);
ProfileLikelihoodCalculator(RooAbsData* data, RooAbsPdf* pdf, RooArgS et* paramsOfInterest, ProfileLikelihoodCalculator(RooAbsData& data, RooAbsPdf& pdf, RooArgS et& paramsOfInterest,
Double_t size = 0.05, RooArgSet* nullPara ms = 0, RooArgSet* altParams = 0); Double_t size = 0.05, RooArgSet* nullPara ms = 0, RooArgSet* altParams = 0);
virtual ~ProfileLikelihoodCalculator(); virtual ~ProfileLikelihoodCalculator();
// main interface, implemented // main interface, implemented
virtual ConfInterval* GetInterval() const ; virtual ConfInterval* GetInterval() const ;
// main interface, implemented // main interface, implemented
virtual HypoTestResult* GetHypoTest() const; virtual HypoTestResult* GetHypoTest() const;
protected: protected:
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 RConfig.h   RConfig.h 
/* @(#)root/base:$Id: RConfig.h 25546 2008-09-25 21:09:09Z rdm $ */ /* @(#)root/base:$Id: RConfig.h 26871 2008-12-12 12:21:08Z rdm $ */
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2002, 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_RConfig #ifndef ROOT_RConfig
skipping to change at line 487 skipping to change at line 487
# define NEED_SNPRINTF # define NEED_SNPRINTF
# define ANSICPP # define ANSICPP
# else # else
# define MSDOS # define MSDOS
# define NEED_STRCASECMP # define NEED_STRCASECMP
# define R__BYTESWAP # define R__BYTESWAP
# endif # endif
#endif #endif
#ifdef _MSC_VER #ifdef _MSC_VER
# if !defined(__CINT__) && !defined(ROOT_w32pragma)
/* needed for compatibility with ROOT's STL usage */
# error Missing #include of %ROOTSYS%\include\w32pragma.h!
# endif
# define R__VISUAL_CPLUSPLUS # define R__VISUAL_CPLUSPLUS
# define NEED_STRING # define NEED_STRING
# define NEED_STRCASECMP # define NEED_STRCASECMP
# define NEED_SNPRINTF # define NEED_SNPRINTF
# define ANSICPP # define ANSICPP
# define R__VECNEWDELETE /* supports overloading of new[] and delete[] */ # define R__VECNEWDELETE /* supports overloading of new[] and delete[] */
# define R__PLACEMENTDELETE /* supports overloading placement delete */ # define R__PLACEMENTDELETE /* supports overloading placement delete */
# define R__PLACEMENTINLINE /* placement new/delete is inline in <new> */ # define R__PLACEMENTINLINE /* placement new/delete is inline in <new> */
# if _MSC_VER >= 1200 # if _MSC_VER >= 1200
# define R__ANSISTREAM /* ANSI C++ Standard Library conformant */ # define R__ANSISTREAM /* ANSI C++ Standard Library conformant */
 End of changes. 2 change blocks. 
5 lines changed or deleted 1 lines changed or added


 RConfigOptions.h   RConfigOptions.h 
#ifndef ROOT_RConfigOptions #ifndef ROOT_RConfigOptions
#define ROOT_RConfigOptions #define ROOT_RConfigOptions
#define R__CONFIGUREOPTIONS "QTDIR=/afs/cern.ch/sw/lcg/external/qt/4.4.2/ i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.5/i686- slc5-gcc43-opt --fail-on-missing --enable-cintex --enable-explicitlink --en able-gdml --enable-genvector --enable-mathmore --enable-minuit2 --enable-my sql --enable-oracle --enable-python --enable-qt --enable-qtgsi --enable-ref lex --enable-roofit --enable-table --enable-unuran --with-castor-incdir=/af s/cern.ch/sw/lcg/external/castor/2.1.6-12/i686-slc5-gcc43-opt/usr/include/s hift --with-castor-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.6-12/i686 -slc5-gcc43-opt/usr/lib --with-cern-libdir=/afs/cern.ch/sw/lcg/external/cer nlib/2005/i686-slc5-gcc43-opt/lib --with-dcap-libdir=/afs/cern.ch/sw/lcg/ex ternal/dcap/1.2.35/i686-slc5-gcc43-opt/lib --with-dcap-incdir=/afs/cern.ch/ sw/lcg/external/dcap/1.2.35/i686-slc5-gcc43-opt/include --with-fftw3-incdir =/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/include --wit h-fftw3-libdir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt /lib --with-gccxml=/afs/cern.ch/sw/lcg/external/gccxml/0.7.0_20070615/i686- slc5-gcc43-opt/bin --with-gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid/gfa l/1.10.17/i686-slc5-gcc43-opt/lib --with-gfal-incdir=/afs/cern.ch/sw/lcg/ex ternal/Grid/gfal/1.10.17/i686-slc5-gcc43-opt/include --with-globus-incdir=/ afs/cern.ch/sw/lcg/external/Grid/globus/4.0.3-VDT-1.6.0/i686-slc5-gcc43-opt /globus/include --with-globus-libdir=/afs/cern.ch/sw/lcg/external/Grid/glob us/4.0.3-VDT-1.6.0/i686-slc5-gcc43-opt/globus/lib --with-gsl-incdir=/afs/ce rn.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/include --with-gsl-libdi r=/afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/lib --with-mysq l-incdir=/afs/cern.ch/sw/lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/incl ude --with-mysql-libdir=/afs/cern.ch/sw/lcg/external/mysql/5.0.18/i686-slc5 -gcc43-opt/lib --with-oracle-incdir=/afs/cern.ch/sw/lcg/external/oracle/10. 2.0.3-full/i686-slc5-gcc43-opt/include --with-oracle-libdir=/afs/cern.ch/sw /lcg/external/oracle/10.2.0.3-full/i686-slc5-gcc43-opt/lib --with-shift-inc dir=/afs/cern.ch/sw/lcg/external/castor/2.1.6-12/i686-slc5-gcc43-opt/usr/in clude/shift --with-shift-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.6-1 2/i686-slc5-gcc43-opt/usr/lib" #define R__CONFIGUREOPTIONS "QTDIR=/afs/cern.ch/sw/lcg/external/qt/4.4.2/ i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.5/i686- slc5-gcc43-opt --fail-on-missing --enable-cintex --enable-explicitlink --en able-gdml --enable-genvector --enable-mathmore --enable-minuit2 --enable-my sql --enable-oracle --enable-python --enable-qt --enable-qtgsi --enable-ref lex --enable-roofit --enable-table --enable-unuran --with-castor-incdir=/af s/cern.ch/sw/lcg/external/castor/2.1.6-12/i686-slc5-gcc43-opt/usr/include/s hift --with-castor-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.6-12/i686 -slc5-gcc43-opt/usr/lib --with-cern-libdir=/afs/cern.ch/sw/lcg/external/cer nlib/2005/i686-slc5-gcc43-opt/lib --with-dcap-libdir=/afs/cern.ch/sw/lcg/ex ternal/dcap/1.2.35/i686-slc5-gcc43-opt/lib --with-dcap-incdir=/afs/cern.ch/ sw/lcg/external/dcap/1.2.35/i686-slc5-gcc43-opt/include --with-fftw3-incdir =/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/include --wit h-fftw3-libdir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt /lib --with-gccxml=/afs/cern.ch/sw/lcg/external/gccxml/0.9.0_20081130/i686- slc5-gcc43-opt/bin --with-gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid/gfa l/1.10.17/i686-slc5-gcc43-opt/lib --with-gfal-incdir=/afs/cern.ch/sw/lcg/ex ternal/Grid/gfal/1.10.17/i686-slc5-gcc43-opt/include --with-globus-incdir=/ afs/cern.ch/sw/lcg/external/Grid/globus/4.0.3-VDT-1.6.0/i686-slc5-gcc43-opt /globus/include --with-globus-libdir=/afs/cern.ch/sw/lcg/external/Grid/glob us/4.0.3-VDT-1.6.0/i686-slc5-gcc43-opt/globus/lib --with-gsl-incdir=/afs/ce rn.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/include --with-gsl-libdi r=/afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/lib --with-mysq l-incdir=/afs/cern.ch/sw/lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/incl ude --with-mysql-libdir=/afs/cern.ch/sw/lcg/external/mysql/5.0.18/i686-slc5 -gcc43-opt/lib --with-oracle-incdir=/afs/cern.ch/sw/lcg/external/oracle/10. 2.0.3-full/i686-slc5-gcc43-opt/include --with-oracle-libdir=/afs/cern.ch/sw /lcg/external/oracle/10.2.0.3-full/i686-slc5-gcc43-opt/lib --with-shift-inc dir=/afs/cern.ch/sw/lcg/external/castor/2.1.6-12/i686-slc5-gcc43-opt/usr/in clude/shift --with-shift-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.6-1 2/i686-slc5-gcc43-opt/usr/lib"
#endif #endif
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RVersion.h   RVersion.h 
skipping to change at line 17 skipping to change at line 17
* These macros can be used in the following way: * These macros can be used in the following way:
* *
* #if ROOT_VERSION_CODE >= ROOT_VERSION(2,23,4) * #if ROOT_VERSION_CODE >= ROOT_VERSION(2,23,4)
* #include <newheader.h> * #include <newheader.h>
* #else * #else
* #include <oldheader.h> * #include <oldheader.h>
* #endif * #endif
* *
*/ */
#define ROOT_RELEASE "5.21/06" #define ROOT_RELEASE "5.22/00"
#define ROOT_RELEASE_DATE "Nov 25 2008" #define ROOT_RELEASE_DATE "Dec 17 2008"
#define ROOT_RELEASE_TIME "20:39:52" #define ROOT_RELEASE_TIME "18:11:02"
#define ROOT_SVN_REVISION 26464 #define ROOT_SVN_REVISION 26997
#define ROOT_SVN_BRANCH "trunk" #define ROOT_SVN_BRANCH "trunk"
#define ROOT_VERSION_CODE 333062 #define ROOT_VERSION_CODE 333312
#define ROOT_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) #define ROOT_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#endif #endif
 End of changes. 2 change blocks. 
5 lines changed or deleted 5 lines changed or added


 RooAbsArg.h   RooAbsArg.h 
skipping to change at line 305 skipping to change at line 305
return kTRUE ; // we should never get here return kTRUE ; // we should never get here
} }
// Cache management // Cache management
void registerCache(RooAbsCache& cache) ; void registerCache(RooAbsCache& cache) ;
void unRegisterCache(RooAbsCache& cache) ; void unRegisterCache(RooAbsCache& cache) ;
Int_t numCaches() const ; Int_t numCaches() const ;
RooAbsCache* getCache(Int_t index) const ; RooAbsCache* getCache(Int_t index) const ;
enum OperMode { Auto=0, AClean=1, ADirty=2 } ; enum OperMode { Auto=0, AClean=1, ADirty=2 } ;
inline OperMode operMode() const { return _operMode ; } inline OperMode operMode() const { return _operMode==AClean ? (flipAClean () ? ADirty : AClean ) : _operMode ; }
void setOperMode(OperMode mode, Bool_t recurseADirty=kTRUE) ; void setOperMode(OperMode mode, Bool_t recurseADirty=kTRUE) ;
static UInt_t crc32(const char* data) ; static UInt_t crc32(const char* data) ;
Bool_t addOwnedComponents(const RooArgSet& comps) ; Bool_t addOwnedComponents(const RooArgSet& comps) ;
const RooArgSet* ownedComponents() const { return _ownedComponents ; } const RooArgSet* ownedComponents() const { return _ownedComponents ; }
void setProhibitServerRedirect(Bool_t flag) { _prohibitServerRedirect = f lag ; } void setProhibitServerRedirect(Bool_t flag) { _prohibitServerRedirect = f lag ; }
protected: protected:
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RooAbsData.h   RooAbsData.h 
skipping to change at line 64 skipping to change at line 64
// Add one ore more rows of data // Add one ore more rows of data
virtual void add(const RooArgSet& row, Double_t weight=1) = 0 ; virtual void add(const RooArgSet& row, Double_t weight=1) = 0 ;
virtual void fill() = 0 ; virtual void fill() = 0 ;
// Load a given row of data // Load a given row of data
virtual inline const RooArgSet* get() const { virtual inline const RooArgSet* get() const {
// Return current row of dataset // Return current row of dataset
return &_vars ; return &_vars ;
} }
virtual Double_t weight() const = 0 ; virtual Double_t weight() const = 0 ;
virtual Bool_t valid() const = 0 ;
enum ErrorType { Poisson, SumW2, None } ; enum ErrorType { Poisson, SumW2, None } ;
virtual Double_t weightError(ErrorType etype=Poisson) const ; virtual Double_t weightError(ErrorType etype=Poisson) const ;
virtual void weightError(Double_t& lo, Double_t& hi, ErrorType etype=Pois son) const ; virtual void weightError(Double_t& lo, Double_t& hi, ErrorType etype=Pois son) const ;
virtual const RooArgSet* get(Int_t index) const = 0 ; virtual const RooArgSet* get(Int_t index) const = 0 ;
virtual Int_t numEntries(Bool_t useWeights=kFALSE) const = 0 ; virtual Int_t numEntries(Bool_t useWeights=kFALSE) const = 0 ;
virtual Double_t sumEntries(const char* cutSpec=0, const char* cutRange=0 ) const = 0 ; virtual Double_t sumEntries(const char* cutSpec=0, const char* cutRange=0 ) const = 0 ;
virtual Bool_t isWeighted() const { virtual Bool_t isWeighted() const {
// Do events in dataset have weights? // Do events in dataset have weights?
return kFALSE ; return kFALSE ;
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 RooDataHist.h   RooDataHist.h 
skipping to change at line 97 skipping to change at line 97
Double_t sum(Bool_t correctForBinSize) const ; Double_t sum(Bool_t correctForBinSize) const ;
Double_t sum(const RooArgSet& sumSet, const RooArgSet& sliceSet, Bool_t c orrectForBinSize) ; Double_t sum(const RooArgSet& sumSet, const RooArgSet& sliceSet, Bool_t c orrectForBinSize) ;
virtual Double_t weight() const { virtual Double_t weight() const {
// Return weight of current bin // Return weight of current bin
return _curWeight ; return _curWeight ;
} }
Double_t weight(const RooArgSet& bin, Int_t intOrder=1, Bool_t correctFor BinSize=kFALSE, Bool_t cdfBoundaries=kFALSE) ; Double_t weight(const RooArgSet& bin, Int_t intOrder=1, Bool_t correctFor BinSize=kFALSE, Bool_t cdfBoundaries=kFALSE) ;
Double_t binVolume() const { return _curVolume ; } Double_t binVolume() const { return _curVolume ; }
Double_t binVolume(const RooArgSet& bin) ; Double_t binVolume(const RooArgSet& bin) ;
virtual Bool_t valid() const ;
TIterator* sliceIterator(RooAbsArg& sliceArg, const RooArgSet& otherArgs) ; TIterator* sliceIterator(RooAbsArg& sliceArg, const RooArgSet& otherArgs) ;
virtual void weightError(Double_t& lo, Double_t& hi, ErrorType etype=Pois son) const ; virtual void weightError(Double_t& lo, Double_t& hi, ErrorType etype=Pois son) const ;
virtual Double_t weightError(ErrorType etype=Poisson) const { virtual Double_t weightError(ErrorType etype=Poisson) const {
// Return symmetric error on current bin calculated either from Poisson statistics or from SumOfWeights // Return symmetric error on current bin calculated either from Poisson statistics or from SumOfWeights
Double_t lo,hi ; Double_t lo,hi ;
weightError(lo,hi,etype) ; weightError(lo,hi,etype) ;
return (lo+hi)/2 ; return (lo+hi)/2 ;
} }
skipping to change at line 126 skipping to change at line 127
virtual void printValue(ostream& os) const ; virtual void printValue(ostream& os) const ;
void SetName(const char *name) ; void SetName(const char *name) ;
void SetNameTitle(const char *name, const char* title) ; void SetNameTitle(const char *name, const char* title) ;
protected: protected:
friend class RooAbsCachedPdf ; friend class RooAbsCachedPdf ;
friend class RooAbsCachedReal ; friend class RooAbsCachedReal ;
friend class RooDataHistSliceIter ; friend class RooDataHistSliceIter ;
friend class RooAbsOptTestStatistic ;
void cacheValidEntries() ;
void setAllWeights(Double_t value) ; void setAllWeights(Double_t value) ;
void initialize(Bool_t fillTree=kTRUE) ; void initialize(Bool_t fillTree=kTRUE) ;
RooDataHist(const char* name, const char* title, RooDataHist* h, const Ro oArgSet& varSubset, RooDataHist(const char* name, const char* title, RooDataHist* h, const Ro oArgSet& varSubset,
const RooFormulaVar* cutVar, const char* cutRange, Int_t nStar t, Int_t nStop, Bool_t copyCache) ; const RooFormulaVar* cutVar, const char* cutRange, Int_t nStar t, Int_t nStop, Bool_t copyCache) ;
RooAbsData* reduceEng(const RooArgSet& varSubset, const RooFormulaVar* cu tVar, const char* cutRange=0, RooAbsData* reduceEng(const RooArgSet& varSubset, const RooFormulaVar* cu tVar, const char* cutRange=0,
Int_t nStart=0, Int_t nStop=2000000000, Bool_t copyC ache=kTRUE) ; Int_t nStart=0, Int_t nStop=2000000000, Bool_t copyC ache=kTRUE) ;
Double_t interpolateDim(RooRealVar& dim, const RooAbsBinning* binning, Do uble_t xval, Int_t intOrder, Bool_t correctForBinSize, Bool_t cdfBoundaries ) ; Double_t interpolateDim(RooRealVar& dim, const RooAbsBinning* binning, Do uble_t xval, Int_t intOrder, Bool_t correctForBinSize, Bool_t cdfBoundaries ) ;
void calculatePartialBinVolume(const RooArgSet& dimSet) const ; void calculatePartialBinVolume(const RooArgSet& dimSet) const ;
skipping to change at line 153 skipping to change at line 158
Int_t _arrSize ; // Size of the weight array Int_t _arrSize ; // Size of the weight array
Int_t* _idxMult ; //! Multiplier jump table for index calculation Int_t* _idxMult ; //! Multiplier jump table for index calculation
Double_t* _wgt ; //[_arrSize] Weight array Double_t* _wgt ; //[_arrSize] Weight array
Double_t* _errLo ; //[_arrSize] Low-side error on weight array Double_t* _errLo ; //[_arrSize] Low-side error on weight array
Double_t* _errHi ; //[_arrSize] High-side error on weight array Double_t* _errHi ; //[_arrSize] High-side error on weight array
Double_t* _sumw2 ; //[_arrSize] Sum of weights^2 Double_t* _sumw2 ; //[_arrSize] Sum of weights^2
Double_t* _binv ; //[_arrSize] Bin volume array Double_t* _binv ; //[_arrSize] Bin volume array
RooArgSet _realVars ; // Real dimensions of the dataset RooArgSet _realVars ; // Real dimensions of the dataset
TIterator* _realIter ; //! Iterator over realVars TIterator* _realIter ; //! Iterator over realVars
Bool_t* _binValid ; //! Valid bins with current range definition
mutable Double_t _curWeight ; // Weight associated with the current coord inate mutable Double_t _curWeight ; // Weight associated with the current coord inate
mutable Double_t _curWgtErrLo ; // Error on weight associated with the cu rrent coordinate mutable Double_t _curWgtErrLo ; // Error on weight associated with the cu rrent coordinate
mutable Double_t _curWgtErrHi ; // Error on weight associated with the cu rrent coordinate mutable Double_t _curWgtErrHi ; // Error on weight associated with the cu rrent coordinate
mutable Double_t _curSumW2 ; // Current sum of weights^2 mutable Double_t _curSumW2 ; // Current sum of weights^2
mutable Double_t _curVolume ; // Volume of bin enclosing current coordina te mutable Double_t _curVolume ; // Volume of bin enclosing current coordina te
mutable Int_t _curIndex ; // Current index mutable Int_t _curIndex ; // Current index
mutable std::vector<Double_t>* _pbinv ; //! Partial bin volume array mutable std::vector<Double_t>* _pbinv ; //! Partial bin volume array
mutable RooCacheManager<std::vector<Double_t> > _pbinvCacheMgr ; // Cache manager for arrays of partial bin volumes mutable RooCacheManager<std::vector<Double_t> > _pbinvCacheMgr ; // Cache manager for arrays of partial bin volumes
 End of changes. 3 change blocks. 
0 lines changed or deleted 6 lines changed or added


 RooStatsUtils.h   RooStatsUtils.h 
// @(#)root/roostats:$Id: RooStatsUtils.h 26324 2008-11-20 17:17:32Z moneta $ // @(#)root/roostats:$Id: RooStatsUtils.h 26981 2008-12-17 08:17:00Z 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 31 skipping to change at line 31
#endif #endif
#include "RooArgSet.h" #include "RooArgSet.h"
#include "RooRealVar.h" #include "RooRealVar.h"
namespace RooStats { namespace RooStats {
// returns one-sided significance corresponding to a p-value // returns one-sided significance corresponding to a p-value
inline Double_t PValueToSignificance(Double_t pvalue){ inline Double_t PValueToSignificance(Double_t pvalue){
// return sqrt(2.)*TMath::ErfInverse(1 - 2.*pvalue); // return sqrt(2.)*TMath::ErfInverse(1 - 2.*pvalue);
return TMath::Abs(TMath::NormQuantile(pvalue) ); return TMath::Abs(::ROOT::Math::normal_quantile(pvalue,1) );
} }
// returns p-value corresponding to a 1-sided significance // returns p-value corresponding to a 1-sided significance
inline Double_t SignificanceToPValue(Double_t Z){ inline Double_t SignificanceToPValue(Double_t Z){
// return .5*TMath::Erfc( Z /sqrt(2.)); // return .5*TMath::Erfc( Z /sqrt(2.));
return ::ROOT::Math::normal_cdf_c(Z); return ::ROOT::Math::normal_cdf_c(Z);
} }
inline void SetParameters(RooArgSet* desiredVals, RooArgSet* paramsToChan ge){ inline void SetParameters(RooArgSet* desiredVals, RooArgSet* paramsToChan ge){
TIter it = desiredVals->createIterator(); TIter it = desiredVals->createIterator();
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RooTreeData.h   RooTreeData.h 
skipping to change at line 62 skipping to change at line 62
RooTreeData(RooTreeData const & other, const char* newname=0) ; RooTreeData(RooTreeData const & other, const char* newname=0) ;
virtual ~RooTreeData() ; virtual ~RooTreeData() ;
virtual Bool_t changeObservableName(const char* from, const char* to) ; virtual Bool_t changeObservableName(const char* from, const char* to) ;
// Load a given row of data // Load a given row of data
virtual void fill() { Fill() ; } ; virtual void fill() { Fill() ; } ;
virtual const RooArgSet* get(Int_t index) const; virtual const RooArgSet* get(Int_t index) const;
virtual const RooArgSet* get() const { return &_vars ; } virtual const RooArgSet* get() const { return &_vars ; }
virtual Bool_t valid() const ;
virtual RooAbsArg* addColumn(RooAbsArg& var, Bool_t adjustRange=kTRUE) ; virtual RooAbsArg* addColumn(RooAbsArg& var, Bool_t adjustRange=kTRUE) ;
virtual RooArgSet* addColumns(const RooArgList& varList) ; virtual RooArgSet* addColumns(const RooArgList& varList) ;
virtual Int_t numEntries(Bool_t useWeights=kFALSE) const ; virtual Int_t numEntries(Bool_t useWeights=kFALSE) const ;
virtual void reset() { Reset() ; } virtual void reset() { Reset() ; }
using RooAbsData::table ; using RooAbsData::table ;
virtual Roo1DTable* table(const RooAbsCategory& cat, const char* cuts="", const char* opts="") const ; virtual Roo1DTable* table(const RooAbsCategory& cat, const char* cuts="", const char* opts="") const ;
virtual RooPlot* statOn(RooPlot* frame, virtual RooPlot* statOn(RooPlot* frame,
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 RootFinder.h   RootFinder.h 
// @(#)root/mathmore:$Id: RootFinder.h 25486 2008-09-22 12:43:03Z moneta $ // @(#)root/tmva $Id: RootFinder.h 20882 2007-11-19 11:31:26Z rdm $
// Authors: L. Moneta, A. Zsenei 08/2005 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/********************************************************************** /**************************************************************************
* * ********
* Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis
* * *
* This library is free software; you can redistribute it and/or * * Package: TMVA
* modify it under the terms of the GNU General Public License * *
* as published by the Free Software Foundation; either version 2 * * Class : RootFinder
* 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 * *
* General Public License for more details. * * Description:
* * *
* You should have received a copy of the GNU General Public License * * Root finding using Brents algorithm
* along with this library (see file COPYING); if not, write * *
* to the Free Software Foundation, Inc., 59 Temple Place, Suite * * (translated from CERNLIB function RZERO)
* 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 *
// * Xavier Prudent <prudent@lapp.in2p3.fr> - LAPP, France
// Last update: Sun Nov 14 16:59:55 2004 *
// * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German
#ifndef ROOT_Math_RootFinder y *
#define ROOT_Math_RootFinder * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada
*
*
*
* Copyright (c) 2005:
*
* CERN, Switzerland
*
* U. of Victoria, Canada
*
* MPI-K Heidelberg, Germany
*
* LAPP, Annecy, France
*
*
*
* 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_Math_IFunctionfwd #include "TObject.h"
#include "Math/IFunctionfwd.h"
#endif
#ifndef ROOT_Math_IRootFinderMethod #ifndef ROOT_TMVA_MsgLogger
#include "Math/IRootFinderMethod.h" #include "TMVA/MsgLogger.h"
#endif #endif
/** namespace TMVA {
@defgroup RootFinders One-dimensional Root-Finding algorithms
@ingroup NumAlgo class RootFinder : public TObject {
*/
public:
namespace ROOT {
namespace Math {
//_________________________________________________________________________
____________
/**
Class to find the Root of one dimensional functions.
The class is templated on the type of Root solver algorithms.
The possible types of Root-finding algorithms are:
<ul>
<li>Root Bracketing Algorithms which they do not require function
derivatives
<ol>
<li>Roots::Bisection
<li>Roots::FalsePos
<li>Roots::Brent
</ol>
<li>Root Finding Algorithms using Derivatives
<ol>
<li>Roots::Newton
<li>Roots::Secant
<li>Roots::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:
int 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)
*/
int 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
*/
int SetFunction( const IGradFunction & f, double xstart) {
return fSolver->SetFunction( f, xstart);
}
template<class Function, class Derivative>
int Solve(Function f, Derivative d, double start,
int maxIter = 100, double absTol = 1E-3, double relTol =
1E-6);
template<class Function>
int Solve(Function f, double min, double max,
int maxIter = 100, double absTol = 1E-3, double relTol =
1E-6);
/**
Compute the roots iterating until the estimate of the Root is
within the required tolerance returning
the iteration Status
*/
int Solve( int maxIter = 100, double absTol = 1E-3, double relTol
= 1E-6) {
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 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();
}
#ifdef LATER
/**
Test convertgence Status of current iteration using interval va
lues (for bracketing algorithms)
*/
static int TestInterval( double xlow, double xup, double epsAbs, d
ouble epsRel) {
return GSLRootHelper::TestInterval(xlow, xup, epsAbs, epsRel);
}
/**
Test convergence Status of current iteration using last Root es
timates (for algorithms using function derivatives)
*/
static int TestDelta( double r1, double r0, double epsAbs, double
epsRel) {
return GSLRootHelper::TestDelta(r1, r0, epsAbs, epsRel);
}
/**
Test function residual
*/
static int TestResidual(double f, double epsAbs) {
return GSLRootHelper::TestResidual(f, epsAbs);
}
#endif
protected: RootFinder( Double_t (*rootVal)( Double_t ),
Double_t rootMin, Double_t rootMax,
Int_t maxIterations = 100,
Double_t absTolerance = 0.0 );
virtual ~RootFinder( void );
private: // returns the root of the function
Double_t Root( Double_t refValue );
IRootFinderMethod* fSolver; // type of algorithm to be used private:
}; 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
} // namespace Math // function pointer
} // namespace ROOT Double_t (*fGetRootVal)( Double_t );
#include "Math/WrappedFunction.h"
#include "Math/Functor.h"
template<class Function, class Derivative>
int ROOT::Math::RootFinder::Solve(Function f, Derivative d, double start,
int maxIter, double absTol, double relTol
)
{
ROOT::Math::GradFunctor1D wf(f, d);
if (fSolver) fSolver->SetFunction(wf, start);
return Solve(maxIter, absTol, relTol);
}
template<class Function>
int ROOT::Math::RootFinder::Solve(Function f, double min, double max,
int maxIter, double absTol, double relTol
)
{
ROOT::Math::WrappedFunction<Function> wf(f);
if (fSolver) fSolver->SetFunction(wf, min, max);
return Solve(maxIter, absTol, relTol);
}
#endif /* ROOT_Math_RootFinder */ mutable MsgLogger fLogger; // message logger
ClassDef(RootFinder,0) // Root finding using Brents algorithm
};
} // namespace TMVA
#endif
 End of changes. 11 change blocks. 
253 lines changed or deleted 88 lines changed or added


 SMatrix.h   SMatrix.h 
// @(#)root/smatrix:$Id: SMatrix.h 21553 2007-12-21 10:55:46Z moneta $ // @(#)root/smatrix:$Id: SMatrix.h 26866 2008-12-12 10:50:07Z moneta $
// Author: T. Glebe, L. Moneta, J. Palacios 2005 // Author: T. Glebe, L. Moneta, J. Palacios 2005
#ifndef ROOT_Math_SMatrix #ifndef ROOT_Math_SMatrix
#define ROOT_Math_SMatrix #define ROOT_Math_SMatrix
/************************************************************************** ******* /************************************************************************** *******
// //
// source: // source:
// //
// type: source code // type: source code
skipping to change at line 458 skipping to change at line 458
/** /**
Invert a square Matrix and returns a new matrix. In case the inversi on fails Invert a square Matrix and returns a new matrix. In case the inversi on fails
the current matrix is returned. the current matrix is returned.
\param ifail . ifail will be set to 0 when inversion is successfull. \param ifail . ifail will be set to 0 when inversion is successfull.
See ROOT::Math::SMatrix::Invert for the inversion algorithm See ROOT::Math::SMatrix::Invert for the inversion algorithm
*/ */
SMatrix<T,D1,D2,R> Inverse(int & ifail ) const; SMatrix<T,D1,D2,R> Inverse(int & ifail ) const;
/** /**
Fast Invertion of a square Matrix ( this method changes the current m
atrix).
Return true if inversion is successfull.
The method used is based on direct inversion using the Cramer rule fo
r
matrices upto 5x5. Afterwards the same defult algorithm of Invert() i
s used.
Note that this method is faster but can suffer from much larger numer
ical accuracy
when the condition of the matrix is large
*/
bool InvertFast();
/**
Invert a square Matrix and returns a new matrix. In case the inversi
on fails
the current matrix is returned.
\param ifail . ifail will be set to 0 when inversion is successfull.
See ROOT::Math::SMatrix::InverseFast for the inversion algorithm
*/
SMatrix<T,D1,D2,R> InverseFast(int & ifail ) const;
/**
determinant of square Matrix via Dfact. determinant of square Matrix via Dfact.
Return true when the calculation is successfull. Return true when the calculation is successfull.
\param det will contain the calculated determinant value \param det will contain the calculated determinant value
\b Note: this will destroy the contents of the Matrix! \b Note: this will destroy the contents of the Matrix!
*/ */
bool Det(T& det); bool Det(T& det);
/** /**
determinant of square Matrix via Dfact. determinant of square Matrix via Dfact.
Return true when the calculation is successfull. Return true when the calculation is successfull.
 End of changes. 2 change blocks. 
1 lines changed or deleted 24 lines changed or added


 SMatrix.icc   SMatrix.icc 
// @(#)root/smatrix:$Id: SMatrix.icc 23735 2008-05-07 21:18:33Z moneta $ // @(#)root/smatrix:$Id: SMatrix.icc 26866 2008-12-12 10:50:07Z moneta $
// Authors: T. Glebe, L. Moneta 2005 // Authors: T. Glebe, L. Moneta 2005
#ifndef ROOT_Math_SMatrix_icc #ifndef ROOT_Math_SMatrix_icc
#define ROOT_Math_SMatrix_icc #define ROOT_Math_SMatrix_icc
// ******************************************************************** // ********************************************************************
// //
// source: // source:
// //
// type: source code // type: source code
// //
skipping to change at line 396 skipping to change at line 396
//========================================================================= ===== //========================================================================= =====
// invert // invert
//========================================================================= ===== //========================================================================= =====
template <class T, unsigned int D1, unsigned int D2, class R> template <class T, unsigned int D1, unsigned int D2, class R>
inline bool SMatrix<T,D1,D2,R>::Invert() { inline bool SMatrix<T,D1,D2,R>::Invert() {
STATIC_CHECK( D1 == D2,SMatrix_not_square); STATIC_CHECK( D1 == D2,SMatrix_not_square);
return Inverter<D1,D2>::Dinv((*this).fRep); return Inverter<D1,D2>::Dinv((*this).fRep);
} }
// invert returning a new matrix
template <class T, unsigned int D1, unsigned int D2, class R> template <class T, unsigned int D1, unsigned int D2, class R>
inline SMatrix<T,D1,D2,R> SMatrix<T,D1,D2,R>::Inverse(int & ifail) const { inline SMatrix<T,D1,D2,R> SMatrix<T,D1,D2,R>::Inverse(int & ifail) const {
SMatrix<T,D1,D2,R> tmp(*this); SMatrix<T,D1,D2,R> tmp(*this);
bool ok = tmp.Invert(); bool ok = tmp.Invert();
ifail = 0; ifail = 0;
if (!ok) ifail = 1; if (!ok) ifail = 1;
return tmp; return tmp;
} }
// fast inversion
template <class T, unsigned int D1, unsigned int D2, class R>
inline bool SMatrix<T,D1,D2,R>::InvertFast() {
STATIC_CHECK( D1 == D2,SMatrix_not_square);
return FastInverter<D1,D2>::Dinv((*this).fRep);
}
// fast inversion returning a new matrix
template <class T, unsigned int D1, unsigned int D2, class R>
inline SMatrix<T,D1,D2,R> SMatrix<T,D1,D2,R>::InverseFast(int & ifail) cons
t {
SMatrix<T,D1,D2,R> tmp(*this);
bool ok = tmp.Invert();
ifail = 0;
if (!ok) ifail = 1;
return tmp;
}
//========================================================================= ===== //========================================================================= =====
// det // det
//========================================================================= ===== //========================================================================= =====
template <class T, unsigned int D1, unsigned int D2, class R> template <class T, unsigned int D1, unsigned int D2, class R>
inline bool SMatrix<T,D1,D2,R>::Det(T& det) { inline bool SMatrix<T,D1,D2,R>::Det(T& det) {
STATIC_CHECK( D1 == D2,SMatrix_not_square); STATIC_CHECK( D1 == D2,SMatrix_not_square);
// return Dfact<SMatrix<T,D1,D1>, D1, D1>(*this,det); // return Dfact<SMatrix<T,D1,D1>, D1, D1>(*this,det);
//return Dfact<R, D1, D1>(fRep, det); //return Dfact<R, D1, D1>(fRep, det);
return Determinant<D1,D2>::Dfact(fRep, det); return Determinant<D1,D2>::Dfact(fRep, det);
} }
 End of changes. 3 change blocks. 
1 lines changed or deleted 20 lines changed or added


 TArchiveFile.h   TArchiveFile.h 
// @(#)root/io:$Id: TArchiveFile.h 25343 2008-09-02 08:44:16Z rdm $ // @(#)root/io:$Id: TArchiveFile.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Fons Rademakers 30/6/04 // Author: Fons Rademakers 30/6/04
/************************************************************************* /*************************************************************************
* 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 40 skipping to change at line 40
#ifndef ROOT_TDatime #ifndef ROOT_TDatime
#include "TDatime.h" #include "TDatime.h"
#endif #endif
class TFile; class TFile;
class TArchiveMember; class TArchiveMember;
class TObjArray; class TObjArray;
class TArchiveFile : public TObject { class TArchiveFile : public TObject {
protected: private:
TArchiveFile(const TArchiveFile&); // Not implemented because
TArchiveFile can not be copied.
TArchiveFile& operator=(const TArchiveFile&); // Not implemented because
TArchiveFile can not be copied.
TArchiveFile(const TArchiveFile&); // Not implemented protected:
TArchiveFile& operator=(const TArchiveFile&); // Not implemented
TString fArchiveName; // Archive file name TString fArchiveName; // Archive file name
TString fMemberName; // Sub-file name TString fMemberName; // Sub-file name
Int_t fMemberIndex; // Index of sub-file in archive Int_t fMemberIndex; // Index of sub-file in archive
TFile *fFile; // File stream used to access the archive TFile *fFile; // File stream used to access the archive
TObjArray *fMembers; // Members in this archive TObjArray *fMembers; // Members in this archive
TArchiveMember *fCurMember; // Current archive member TArchiveMember *fCurMember; // Current archive member
static Bool_t ParseUrl(const char *url, TString &archive, TString &membe r, TString &type); static Bool_t ParseUrl(const char *url, TString &archive, TString &membe r, TString &type);
 End of changes. 3 change blocks. 
4 lines changed or deleted 7 lines changed or added


 TAtomicCountGcc.h   TAtomicCountGcc.h 
// @(#)root/thread:$Id: TAtomicCountGcc.h 25775 2008-10-10 07:10:33Z rdm $ // @(#)root/thread:$Id: TAtomicCountGcc.h 26634 2008-12-03 17:39:25Z rdm $
// Author: Fons Rademakers 14/11/06 // Author: Fons Rademakers 14/11/06
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2006, 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 31 skipping to change at line 31
// // // //
// This implementation uses GNU libstdc++ v3 atomic primitives, see // // This implementation uses GNU libstdc++ v3 atomic primitives, see //
// http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html. // // http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html. //
// // // //
// ATTENTION: Don't use this file directly, it is included by // // ATTENTION: Don't use this file directly, it is included by //
// TAtomicCount.h. // // TAtomicCount.h. //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2) || \ #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2) || \
(defined(__APPLE_CC__) && __APPLE_CC__ > 5000) (defined(__APPLE_CC__) && __APPLE_CC__ > 5000 && !defined(MAC_OS_X_VER SION_10_6))
#include <bits/atomicity.h> #include <bits/atomicity.h>
#else #else
#include <ext/atomicity.h> #include <ext/atomicity.h>
#endif #endif
#if defined(__GLIBCXX__) // g++ 3.4+ #if defined(__GLIBCXX__) // g++ 3.4+
using __gnu_cxx::__atomic_add; using __gnu_cxx::__atomic_add;
using __gnu_cxx::__exchange_and_add; using __gnu_cxx::__exchange_and_add;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TAttBBox.h   TAttBBox.h 
// @(#)root/base:$Id: TAttBBox.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TAttBBox.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Matevz Tadel 7/4/2006 // Author: Matevz Tadel 7/4/2006
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2006, 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 33 skipping to change at line 33
void BBoxInit(Float_t infinity=1e6); void BBoxInit(Float_t infinity=1e6);
void BBoxZero(Float_t epsilon=0, Float_t x=0, Float_t y=0, Float_t z=0); void BBoxZero(Float_t epsilon=0, Float_t x=0, Float_t y=0, Float_t z=0);
void BBoxClear(); void BBoxClear();
void BBoxCheckPoint(Float_t x, Float_t y, Float_t z); void BBoxCheckPoint(Float_t x, Float_t y, Float_t z);
void BBoxCheckPoint(const Float_t* p); void BBoxCheckPoint(const Float_t* p);
void AssertBBoxExtents(Float_t epsilon=0.005); void AssertBBoxExtents(Float_t epsilon=0.005);
TAttBBox(const TAttBBox& tab) TAttBBox(const TAttBBox& tab) : fBBox(0) {
: fBBox(tab.fBBox) { } BBoxInit(); if(tab.fBBox) for(Int_t i=0; i<6; i++) fBBox[i]=tab.fBBox
[i];
}
public: public:
TAttBBox(): fBBox(0) { } TAttBBox(): fBBox(0) { }
virtual ~TAttBBox() { BBoxClear(); } virtual ~TAttBBox() { BBoxClear(); }
TAttBBox& operator=(const TAttBBox& tab) TAttBBox& operator=(const TAttBBox& tab)
{if(this!=&tab) {BBoxInit(); if(tab.fBBox) for(Int_t i=0; i<6; i++) fB Box[i]=tab.fBBox[i];} {if(this!=&tab) {BBoxInit(); if(tab.fBBox) for(Int_t i=0; i<6; i++) fB Box[i]=tab.fBBox[i];}
return *this;} return *this;}
Bool_t GetBBoxOK() const { return fBBox != 0; } Bool_t GetBBoxOK() const { return fBBox != 0; }
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 TBackCompFitter.h   TBackCompFitter.h 
// @(#)root/minuit2:$Id: TBackCompFitter.h 26378 2008-11-22 11:46:21Z monet a $ // @(#)root/minuit2:$Id: TBackCompFitter.h 26866 2008-12-12 10:50:07Z monet a $
// Author: L. Moneta 08/2008 // Author: L. Moneta 08/2008
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2008 ROOT Foundation, CERN/PH-SFT * * Copyright (c) 2008 ROOT Foundation, CERN/PH-SFT *
* * * *
**********************************************************************/ **********************************************************************/
#ifndef ROOT_TBackCompFitter_H_ #ifndef ROOT_TBackCompFitter_H_
#define ROOT_TBackCompFitter_H_ #define ROOT_TBackCompFitter_H_
#ifndef ROOT_TVirtualFitter #ifndef ROOT_TVirtualFitter
#include "TVirtualFitter.h" #include "TVirtualFitter.h"
#endif #endif
#ifndef ROOT_Fit_Fitter #ifndef ROOT_Fit_Fitter
#include "Fit/Fitter.h" #include "Fit/Fitter.h"
#endif #endif
#ifndef ROOT_Fit_DataVector
#include "Fit/DataVector.h"
#endif
#ifndef ROOT_Math_IFunctionfwd #ifndef ROOT_Math_IFunctionfwd
#include "Math/IFunctionfwd.h" #include "Math/IFunctionfwd.h"
#endif #endif
#include <vector> #include <vector>
/** /**
TVirtualFitter backward compatibility implementation using new ROOT::Fi t::Fitter TVirtualFitter backward compatibility implementation using new ROOT::Fi t::Fitter
*/ */
class TGraph;
namespace ROOT { namespace ROOT {
namespace Fit { namespace Fit {
class FitData; class FitData;
} }
} }
class TBackCompFitter : public TVirtualFitter { class TBackCompFitter : public TVirtualFitter {
public: public:
TBackCompFitter(); TBackCompFitter();
TBackCompFitter(ROOT::Fit::Fitter & fitter, ROOT::Fit::FitData * ); //TBackCompFitter(ROOT::Fit::Fitter & fitter, ROOT::Fit::FitData * );
TBackCompFitter( std::auto_ptr<ROOT::Fit::Fitter> fitter, std::auto_ptr
<ROOT::Fit::FitData> data );
virtual ~TBackCompFitter(); virtual ~TBackCompFitter();
public: public:
// inherited interface // inherited interface
virtual Double_t Chisquare(Int_t npar, Double_t *params) const; virtual Double_t Chisquare(Int_t npar, Double_t *params) const;
virtual void Clear(Option_t *option=""); virtual void Clear(Option_t *option="");
virtual Int_t ExecuteCommand(const char *command, Double_t *args, In t_t nargs); virtual Int_t ExecuteCommand(const char *command, Double_t *args, In t_t nargs);
virtual void FixParameter(Int_t ipar); virtual void FixParameter(Int_t ipar);
skipping to change at line 86 skipping to change at line 93
virtual void ReleaseParameter(Int_t ipar); virtual void ReleaseParameter(Int_t ipar);
virtual void SetFitMethod(const char *name); virtual void SetFitMethod(const char *name);
virtual Int_t SetParameter(Int_t ipar,const char *parname,Double_t v alue,Double_t verr,Double_t vlow, Double_t vhigh); virtual Int_t SetParameter(Int_t ipar,const char *parname,Double_t v alue,Double_t verr,Double_t vlow, Double_t vhigh);
virtual void SetFCN(void (*fcn)(Int_t &, Double_t *, Double_t &f, D ouble_t *, Int_t) ); virtual void SetFCN(void (*fcn)(Int_t &, Double_t *, Double_t &f, D ouble_t *, Int_t) );
// this for CINT (interactive functions) // this for CINT (interactive functions)
virtual void SetFCN(void * ); virtual void SetFCN(void * );
// for using interpreted function passed by the user // for using interpreted function passed by the user
virtual void SetMethodCall(TMethodCall * m) { fMethodCall = m; } virtual void SetMethodCall(TMethodCall * m) { fMethodCall = m; }
///!!!! new method (of this interface)
// get reference to Fit configuration (NOTE: it will be invalid when cla
ss is deleted)
ROOT::Fit::FitConfig & GetFitConfig() { return fFitter->Config(); }
// get reference to Fit Result object (NOTE: it will be invalid when cla
ss is deleted)
const ROOT::Fit::FitResult & GetFitResult() const { return fFitter->Resu
lt(); }
// scan likelihood value of parameter and fill the given graph.
bool Scan(unsigned int ipar, TGraph * gr, double xmin = 0, double xmax
= 0);
// // scan likelihood value for two parameters and fill the given graph
.
// bool Scan2D(unsigned int ipar, unsigned int jpar, TGraph2D * gr,
// double xmin = 0, double xmax = 0, double ymin =
0, double ymax = 0);
// create contour of two parameters around the minimum
// pass as option confidence level: default is a value of 0.683
bool Contour(unsigned int ipar, unsigned int jpar, TGraph * gr , double
confLevel = 0.683);
// set FCN using new interface // set FCN using new interface
virtual void SetObjFunction( ROOT::Math::IMultiGenFunction * f); virtual void SetObjFunction( ROOT::Math::IMultiGenFunction * f);
// recreate minimizer and FCN for TMinuit fits and standard printout // recreate minimizer and FCN for TMinuit fits and standard printout
void ReCreateMinimizer(); void ReCreateMinimizer();
protected: protected:
// internal methods // internal methods
bool ValidParameterIndex(int ipar) const; bool ValidParameterIndex(int ipar) const;
void DoSetDimension(); void DoSetDimension();
private: private:
ROOT::Fit::FitData * fFitData; //ROOT::Fit::FitData * fFitData;
std::auto_ptr<ROOT::Fit::FitData> fFitData; //! data of the fit (manag
ed by TBackCompFitter)
std::auto_ptr<ROOT::Fit::Fitter> fFitter; //! pointer to fitter obje
ct (managed by TBackCompFitter)
ROOT::Math::Minimizer * fMinimizer; ROOT::Math::Minimizer * fMinimizer;
ROOT::Fit::Fitter fFitter;
ROOT::Math::IMultiGenFunction * fObjFunc; ROOT::Math::IMultiGenFunction * fObjFunc;
ROOT::Math::IParamMultiFunction * fModelFunc;
mutable std::vector<double> fCovar; // cached covariance matrix (NxN) mutable std::vector<double> fCovar; // cached covariance matrix (NxN)
ClassDef(TBackCompFitter,1) // Class providing backward compatibility f or fitting by implementing the TVirtualFitter interface ClassDef(TBackCompFitter,1) // Class providing backward compatibility f or fitting by implementing the TVirtualFitter interface
}; };
#endif //ROOT_TBackCompFitter_H_ #endif //ROOT_TBackCompFitter_H_
 End of changes. 8 change blocks. 
4 lines changed or deleted 42 lines changed or added


 TBaseClass.h   TBaseClass.h 
// @(#)root/meta:$Id: TBaseClass.h 24077 2008-05-31 19:39:09Z brun $ // @(#)root/meta:$Id: TBaseClass.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Fons Rademakers 08/02/95 // Author: Fons Rademakers 08/02/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 33 skipping to change at line 33
#ifndef ROOT_TDictionary #ifndef ROOT_TDictionary
#include "TDictionary.h" #include "TDictionary.h"
#endif #endif
class TBrowser; class TBrowser;
class TClass; class TClass;
class TBaseClass : public TDictionary { class TBaseClass : public TDictionary {
private: private:
TBaseClass(const TBaseClass &); // Not implemented
TBaseClass&operator=(const TBaseClass&); // Not implemented
private:
BaseClassInfo_t *fInfo; //pointer to CINT base class info BaseClassInfo_t *fInfo; //pointer to CINT base class info
TClass *fClassPtr; //pointer to the base class TClass TClass *fClassPtr; //pointer to the base class TClass
TClass *fClass; //pointer to parent class TClass *fClass; //pointer to parent class
public: public:
TBaseClass(BaseClassInfo_t *info = 0, TClass *cl = 0); TBaseClass(BaseClassInfo_t *info = 0, TClass *cl = 0);
virtual ~TBaseClass(); virtual ~TBaseClass();
virtual void Browse(TBrowser *b); virtual void Browse(TBrowser *b);
const char *GetTitle() const; const char *GetTitle() const;
TClass *GetClassPointer(Bool_t load=kTRUE); TClass *GetClassPointer(Bool_t load=kTRUE);
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TBasket.h   TBasket.h 
// @(#)root/tree:$Id: TBasket.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/tree:$Id: TBasket.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 19/01/96 // Author: Rene Brun 19/01/96
/************************************************************************* /*************************************************************************
* 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 37 skipping to change at line 37
#ifndef ROOT_TKey #ifndef ROOT_TKey
#include "TKey.h" #include "TKey.h"
#endif #endif
class TFile; class TFile;
class TTree; class TTree;
class TBranch; class TBranch;
class TBasket : public TKey { class TBasket : public TKey {
private:
TBasket(const TBasket&); // TBasket objects are not copiable.
TBasket& operator=(const TBasket&); // TBasket objects are not copiable.
protected: protected:
Int_t fBufferSize; //fBuffer length in bytes Int_t fBufferSize; //fBuffer length in bytes
Int_t fNevBufSize; //Length in Int_t of fEntryOffset OR fixed length of each entry if fEntryOffset is null! Int_t fNevBufSize; //Length in Int_t of fEntryOffset OR fixed length of each entry if fEntryOffset is null!
Int_t fNevBuf; //Number of entries in basket Int_t fNevBuf; //Number of entries in basket
Int_t fLast; //Pointer to last used byte in basket Int_t fLast; //Pointer to last used byte in basket
Bool_t fHeaderOnly; //True when only the basket header must be read/written Bool_t fHeaderOnly; //True when only the basket header must be read/written
Int_t *fDisplacement; //![fNevBuf] Displacement of entries in fB uffer(TKey) Int_t *fDisplacement; //![fNevBuf] Displacement of entries in fB uffer(TKey)
Int_t *fEntryOffset; //[fNevBuf] Offset of entries in fBuffer(T Key) Int_t *fEntryOffset; //[fNevBuf] Offset of entries in fBuffer(T Key)
TBranch *fBranch; //Pointer to the basket support branch TBranch *fBranch; //Pointer to the basket support branch
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TBasketSQL.h   TBasketSQL.h 
// @(#)root/tree:$Id: TBasketSQL.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/tree:$Id: TBasketSQL.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Philippe Canal 2005 // Author: Philippe Canal 2005
/************************************************************************* /*************************************************************************
* 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 32 skipping to change at line 32
#include <vector> #include <vector>
#include "TBasket.h" #include "TBasket.h"
class TSQLResult; class TSQLResult;
class TSQLRow; class TSQLRow;
class TBufferSQL; class TBufferSQL;
class TBasketSQL : public TBasket class TBasketSQL : public TBasket
{ {
private:
TBasketSQL(const TBasketSQL&); // TBasketSQL objects are not
copiable.
TBasketSQL& operator=(const TBasketSQL&); // TBasketSQL objects are not
copiable.
protected: protected:
TSQLResult **fResultPtr; //! TSQLResult **fResultPtr; //!
TSQLRow **fRowPtr; //! TSQLRow **fRowPtr; //!
TString *fInsertQuery; //! TString *fInsertQuery; //!
public: public:
TBasketSQL(); TBasketSQL();
TBasketSQL(const char *name, const char *title, TBasketSQL(const char *name, const char *title,
TBranch *branch, TSQLResult **rs, TBranch *branch, TSQLResult **rs,
TString *insert_query, std::vector<Int_t> *vc, TSQLRow **row) ; TString *insert_query, std::vector<Int_t> *vc, TSQLRow **row) ;
~TBasketSQL(); ~TBasketSQL();
void PrepareBasket(Long64_t entry); void PrepareBasket(Long64_t entry);
virtual Int_t ReadBasketBuffers(Long64_t pos, Int_t len, TFile *file); virtual Int_t ReadBasketBuffers(Long64_t pos, Int_t len, TFile *file);
virtual Int_t ReadBasketBytes(Long64_t pos, TFile *file); virtual Int_t ReadBasketBytes(Long64_t pos, TFile *file);
 End of changes. 3 change blocks. 
4 lines changed or deleted 11 lines changed or added


 TBrowser.h   TBrowser.h 
// @(#)root/base:$Id: TBrowser.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TBrowser.h 26615 2008-12-03 00:57:41Z pcanal $
// Author: Fons Rademakers 25/10/95 // Author: Fons Rademakers 25/10/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 43 skipping to change at line 43
#endif #endif
class TContextMenu; class TContextMenu;
class TBrowserTimer; class TBrowserTimer;
class TBrowser : public TNamed { class TBrowser : public TNamed {
private: private:
TObject *fLastSelectedObject; //!The last TObject selected by user TObject *fLastSelectedObject; //!The last TObject selected by user
TBrowser(const TBrowser&); // TBrowser can not be copied sin
ce we do not know the type of the TBrowserImp (and it can not be 'Cloned')
TBrowser& operator=(const TBrowser&); // TBrowser can not be copied sin
ce we do not know the type of the TBrowserImp (and it can not be 'Cloned')
protected: protected:
TBrowserImp *fImp; //!Window system specific browser im plementation TBrowserImp *fImp; //!Window system specific browser im plementation
TBrowserTimer *fTimer; //!Browser's timer TBrowserTimer *fTimer; //!Browser's timer
TContextMenu *fContextMenu; //!Context menu pointer TContextMenu *fContextMenu; //!Context menu pointer
Bool_t fNeedRefresh; //True if the browser needs refresh Bool_t fNeedRefresh; //True if the browser needs refresh
TBrowser(const TBrowser&);
TBrowser& operator=(const TBrowser&);
public: public:
enum { enum {
kNoHidden = BIT(9) // don't show '.' files and directories kNoHidden = BIT(9) // don't show '.' files and directories
}; };
TBrowser(const char *name="Browser", const char *title="ROOT Object Brow ser", TBrowserImp *extimp=0, Option_t *opt=""); TBrowser(const char *name="Browser", const char *title="ROOT Object Brow ser", TBrowserImp *extimp=0, Option_t *opt="");
TBrowser(const char *name, const char *title, UInt_t width, UInt_t heigh t, TBrowserImp *extimp=0, Option_t *opt=""); TBrowser(const char *name, const char *title, UInt_t width, UInt_t heigh t, TBrowserImp *extimp=0, Option_t *opt="");
TBrowser(const char *name, const char *title, Int_t x, Int_t y, UInt_t w idth, UInt_t height, TBrowserImp *extimp=0, Option_t *opt=""); TBrowser(const char *name, const char *title, Int_t x, Int_t y, UInt_t w idth, UInt_t height, TBrowserImp *extimp=0, Option_t *opt="");
TBrowser(const char *name, TObject *obj, const char *title="ROOT Object Browser", Option_t *opt=""); TBrowser(const char *name, TObject *obj, const char *title="ROOT Object Browser", Option_t *opt="");
 End of changes. 3 change blocks. 
4 lines changed or deleted 6 lines changed or added


 TCanvasImp.h   TCanvasImp.h 
// @(#)root/base:$Id: TCanvasImp.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TCanvasImp.h 26760 2008-12-09 15:56:43Z brun $
// Author: Fons Rademakers 16/11/95 // Author: Fons Rademakers 16/11/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 71 skipping to change at line 71
virtual void SetCanvasSize(UInt_t w, UInt_t h); virtual void SetCanvasSize(UInt_t w, UInt_t h);
virtual void Show() { } virtual void Show() { }
virtual void ShowMenuBar(Bool_t show = kTRUE); virtual void ShowMenuBar(Bool_t show = kTRUE);
virtual void ShowStatusBar(Bool_t show = kTRUE); virtual void ShowStatusBar(Bool_t show = kTRUE);
virtual void RaiseWindow(); virtual void RaiseWindow();
virtual void ReallyDelete(); virtual void ReallyDelete();
virtual void ShowEditor(Bool_t show = kTRUE); virtual void ShowEditor(Bool_t show = kTRUE);
virtual void ShowToolBar(Bool_t show = kTRUE); virtual void ShowToolBar(Bool_t show = kTRUE);
virtual Bool_t HasEditor() const { return kFALSE; }
virtual Bool_t HasMenuBar() const { return kFALSE; }
virtual Bool_t HasStatusBar() const { return kFALSE; }
virtual Bool_t HasToolBar() const { return kFALSE; }
ClassDef(TCanvasImp,0) //ABC describing main window protocol ClassDef(TCanvasImp,0) //ABC describing main window protocol
}; };
inline TCanvasImp::TCanvasImp(TCanvas *c, const char *, UInt_t, UInt_t) : f Canvas(c) { } inline TCanvasImp::TCanvasImp(TCanvas *c, const char *, UInt_t, UInt_t) : f Canvas(c) { }
inline TCanvasImp::TCanvasImp(TCanvas *c, const char *, Int_t, Int_t, UInt_ t, UInt_t) : fCanvas(c) { } inline TCanvasImp::TCanvasImp(TCanvas *c, const char *, Int_t, Int_t, UInt_ t, UInt_t) : fCanvas(c) { }
inline UInt_t TCanvasImp::GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h) inline UInt_t TCanvasImp::GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h)
{ x = y = 0; w = h = 0; return 0;} { x = y = 0; w = h = 0; return 0;}
inline void TCanvasImp::SetStatusText(const char *, Int_t) { } inline void TCanvasImp::SetStatusText(const char *, Int_t) { }
inline void TCanvasImp::SetWindowPosition(Int_t, Int_t) { } inline void TCanvasImp::SetWindowPosition(Int_t, Int_t) { }
inline void TCanvasImp::SetWindowSize(UInt_t, UInt_t) { } inline void TCanvasImp::SetWindowSize(UInt_t, UInt_t) { }
 End of changes. 2 change blocks. 
1 lines changed or deleted 6 lines changed or added


 TCint.h   TCint.h 
// @(#)root/meta:$Id: TCint.h 25283 2008-08-27 16:56:42Z pcanal $ // @(#)root/meta:$Id: TCint.h 26888 2008-12-12 21:43:12Z pcanal $
// Author: Fons Rademakers 01/03/96 // Author: Fons Rademakers 01/03/96
/************************************************************************* /*************************************************************************
* 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 184 skipping to change at line 184
virtual void SetRTLD_LAZY() const; virtual void SetRTLD_LAZY() const;
virtual void SetTempLevel(int val) const; virtual void SetTempLevel(int val) const;
virtual int UnloadFile(const char *path) const; virtual int UnloadFile(const char *path) const;
// G__CallFunc interface // G__CallFunc interface
virtual void CallFunc_Delete(void *func) const; virtual void CallFunc_Delete(void *func) const;
virtual void CallFunc_Exec(CallFunc_t *func, void *address) const; virtual void CallFunc_Exec(CallFunc_t *func, void *address) const;
virtual Long_t CallFunc_ExecInt(CallFunc_t *func, void *address) cons t; virtual Long_t CallFunc_ExecInt(CallFunc_t *func, void *address) cons t;
virtual Long_t CallFunc_ExecInt64(CallFunc_t *func, void *address) co nst; virtual Long_t CallFunc_ExecInt64(CallFunc_t *func, void *address) co nst;
virtual Double_t CallFunc_ExecDouble(CallFunc_t *func, void *address) c onst; virtual Double_t CallFunc_ExecDouble(CallFunc_t *func, void *address) c onst;
virtual void *CallFunc_Factory() const; virtual CallFunc_t *CallFunc_Factory() const;
virtual void *CallFunc_FactoryCopy(CallFunc_t *func) const; virtual CallFunc_t *CallFunc_FactoryCopy(CallFunc_t *func) const;
virtual void *CallFunc_FactoryMethod(CallFunc_t *func) const; virtual MethodInfo_t *CallFunc_FactoryMethod(CallFunc_t *func) const;
virtual void CallFunc_Init(CallFunc_t *func) const; virtual void CallFunc_Init(CallFunc_t *func) const;
virtual bool CallFunc_IsValid(CallFunc_t *func) const; virtual bool CallFunc_IsValid(CallFunc_t *func) const;
virtual void CallFunc_ResetArg(CallFunc_t *func) const; virtual void CallFunc_ResetArg(CallFunc_t *func) const;
virtual void CallFunc_SetArg(CallFunc_t *func, Long_t param) const; virtual void CallFunc_SetArg(CallFunc_t *func, Long_t param) const;
virtual void CallFunc_SetArg(CallFunc_t *func, Double_t param) const; virtual void CallFunc_SetArg(CallFunc_t *func, Double_t param) const;
virtual void CallFunc_SetArg(CallFunc_t *func, Long64_t param) const; virtual void CallFunc_SetArg(CallFunc_t *func, Long64_t param) const;
virtual void CallFunc_SetArg(CallFunc_t *func, ULong64_t param) const; virtual void CallFunc_SetArg(CallFunc_t *func, ULong64_t param) const;
virtual void CallFunc_SetArgArray(CallFunc_t *func, Long_t *paramArr, Int_t nparam) const; virtual void CallFunc_SetArgArray(CallFunc_t *func, Long_t *paramArr, Int_t nparam) const;
virtual void CallFunc_SetArgs(CallFunc_t *func, const char *param) con st; virtual void CallFunc_SetArgs(CallFunc_t *func, const char *param) con st;
virtual void CallFunc_SetFunc(CallFunc_t *func, ClassInfo_t *info, con st char *method, const char *params, Long_t *Offset) const; virtual void CallFunc_SetFunc(CallFunc_t *func, ClassInfo_t *info, con st char *method, const char *params, Long_t *Offset) const;
virtual void CallFunc_SetFunc(CallFunc_t *func, MethodInfo_t *info) co nst; virtual void CallFunc_SetFunc(CallFunc_t *func, MethodInfo_t *info) co nst;
virtual void CallFunc_SetFuncProto(CallFunc_t *func, ClassInfo_t *info , const char *method, const char *proto, Long_t *Offset) const; virtual void CallFunc_SetFuncProto(CallFunc_t *func, ClassInfo_t *info , const char *method, const char *proto, Long_t *Offset) const;
// G__ClassInfo interface // G__ClassInfo interface
virtual Long_t ClassInfo_ClassProperty(ClassInfo_t *info) const; virtual Long_t ClassInfo_ClassProperty(ClassInfo_t *info) const;
virtual void ClassInfo_Delete(ClassInfo_t *info) const; virtual void ClassInfo_Delete(ClassInfo_t *info) const;
virtual void ClassInfo_Delete(ClassInfo_t *info, void *arena) const; virtual void ClassInfo_Delete(ClassInfo_t *info, void *arena) const;
virtual void ClassInfo_DeleteArray(ClassInfo_t *info, void *arena, boo l dtorOnly) const; virtual void ClassInfo_DeleteArray(ClassInfo_t *info, void *arena, boo l dtorOnly) const;
virtual void ClassInfo_Destruct(ClassInfo_t *info, void *arena) const; virtual void ClassInfo_Destruct(ClassInfo_t *info, void *arena) const;
virtual void *ClassInfo_Factory() const; virtual ClassInfo_t *ClassInfo_Factory() const;
virtual void *ClassInfo_Factory(ClassInfo_t *cl) const; virtual ClassInfo_t *ClassInfo_Factory(G__value * /* value */) const;
virtual void *ClassInfo_Factory(const char *name) const; virtual ClassInfo_t *ClassInfo_Factory(ClassInfo_t *cl) const;
virtual ClassInfo_t *ClassInfo_Factory(const char *name) const;
virtual int ClassInfo_GetMethodNArg(ClassInfo_t *info, const char *me thod,const char *proto) const; virtual int ClassInfo_GetMethodNArg(ClassInfo_t *info, const char *me thod,const char *proto) const;
virtual bool ClassInfo_HasDefaultConstructor(ClassInfo_t *info) const; virtual bool ClassInfo_HasDefaultConstructor(ClassInfo_t *info) const;
virtual bool ClassInfo_HasMethod(ClassInfo_t *info, const char *name) const; virtual bool ClassInfo_HasMethod(ClassInfo_t *info, const char *name) const;
virtual void ClassInfo_Init(ClassInfo_t *info, const char *funcname) c onst; virtual void ClassInfo_Init(ClassInfo_t *info, const char *funcname) c onst;
virtual void ClassInfo_Init(ClassInfo_t *info, int tagnum) const; virtual void ClassInfo_Init(ClassInfo_t *info, int tagnum) const;
virtual bool ClassInfo_IsBase(ClassInfo_t *info, const char *name) con st; virtual bool ClassInfo_IsBase(ClassInfo_t *info, const char *name) con st;
virtual bool ClassInfo_IsEnum(const char *name) const; virtual bool ClassInfo_IsEnum(const char *name) const;
virtual bool ClassInfo_IsLoaded(ClassInfo_t *info) const; virtual bool ClassInfo_IsLoaded(ClassInfo_t *info) const;
virtual bool ClassInfo_IsValid(ClassInfo_t *info) const; virtual bool ClassInfo_IsValid(ClassInfo_t *info) const;
virtual bool ClassInfo_IsValidMethod(ClassInfo_t *info, const char *me thod,const char *proto, Long_t *offset) const; virtual bool ClassInfo_IsValidMethod(ClassInfo_t *info, const char *me thod,const char *proto, Long_t *offset) const;
skipping to change at line 236 skipping to change at line 237
virtual int ClassInfo_Size(ClassInfo_t *info) const; virtual int ClassInfo_Size(ClassInfo_t *info) const;
virtual Long_t ClassInfo_Tagnum(ClassInfo_t *info) const; virtual Long_t ClassInfo_Tagnum(ClassInfo_t *info) const;
virtual const char *ClassInfo_FileName(ClassInfo_t *info) const; virtual const char *ClassInfo_FileName(ClassInfo_t *info) const;
virtual const char *ClassInfo_FullName(ClassInfo_t *info) const; virtual const char *ClassInfo_FullName(ClassInfo_t *info) const;
virtual const char *ClassInfo_Name(ClassInfo_t *info) const; virtual const char *ClassInfo_Name(ClassInfo_t *info) const;
virtual const char *ClassInfo_Title(ClassInfo_t *info) const; virtual const char *ClassInfo_Title(ClassInfo_t *info) const;
virtual const char *ClassInfo_TmpltName(ClassInfo_t *info) const; virtual const char *ClassInfo_TmpltName(ClassInfo_t *info) const;
// G__BaseClassInfo interface // G__BaseClassInfo interface
virtual void BaseClassInfo_Delete(BaseClassInfo_t *bcinfo) const; virtual void BaseClassInfo_Delete(BaseClassInfo_t *bcinfo) const;
virtual void *BaseClassInfo_Factory(ClassInfo_t *info) const; virtual BaseClassInfo_t *BaseClassInfo_Factory(ClassInfo_t *info) const ;
virtual int BaseClassInfo_Next(BaseClassInfo_t *bcinfo) const; virtual int BaseClassInfo_Next(BaseClassInfo_t *bcinfo) const;
virtual int BaseClassInfo_Next(BaseClassInfo_t *bcinfo, int onlyDirec t) const; virtual int BaseClassInfo_Next(BaseClassInfo_t *bcinfo, int onlyDirec t) const;
virtual Long_t BaseClassInfo_Offset(BaseClassInfo_t *bcinfo) const; virtual Long_t BaseClassInfo_Offset(BaseClassInfo_t *bcinfo) const;
virtual Long_t BaseClassInfo_Property(BaseClassInfo_t *bcinfo) const; virtual Long_t BaseClassInfo_Property(BaseClassInfo_t *bcinfo) const;
virtual Long_t BaseClassInfo_Tagnum(BaseClassInfo_t *bcinfo) const; virtual Long_t BaseClassInfo_Tagnum(BaseClassInfo_t *bcinfo) const;
virtual const char *BaseClassInfo_FullName(BaseClassInfo_t *bcinfo) cons t; virtual const char *BaseClassInfo_FullName(BaseClassInfo_t *bcinfo) cons t;
virtual const char *BaseClassInfo_Name(BaseClassInfo_t *bcinfo) const; virtual const char *BaseClassInfo_Name(BaseClassInfo_t *bcinfo) const;
virtual const char *BaseClassInfo_TmpltName(BaseClassInfo_t *bcinfo) con st; virtual const char *BaseClassInfo_TmpltName(BaseClassInfo_t *bcinfo) con st;
// G__DataMemberInfo interface // G__DataMemberInfo interface
virtual int DataMemberInfo_ArrayDim(DataMemberInfo_t *dminfo) const; virtual int DataMemberInfo_ArrayDim(DataMemberInfo_t *dminfo) const;
virtual void DataMemberInfo_Delete(DataMemberInfo_t *dminfo) const; virtual void DataMemberInfo_Delete(DataMemberInfo_t *dminfo) const;
virtual void *DataMemberInfo_Factory(ClassInfo_t *clinfo = 0) const; virtual DataMemberInfo_t *DataMemberInfo_Factory(ClassInfo_t *clinfo =
virtual void *DataMemberInfo_FactoryCopy(DataMemberInfo_t *dminfo) cons 0) const;
t; virtual DataMemberInfo_t *DataMemberInfo_FactoryCopy(DataMemberInfo_t *
dminfo) const;
virtual bool DataMemberInfo_IsValid(DataMemberInfo_t *dminfo) const; virtual bool DataMemberInfo_IsValid(DataMemberInfo_t *dminfo) const;
virtual int DataMemberInfo_MaxIndex(DataMemberInfo_t *dminfo, Int_t d im) const; virtual int DataMemberInfo_MaxIndex(DataMemberInfo_t *dminfo, Int_t d im) const;
virtual int DataMemberInfo_Next(DataMemberInfo_t *dminfo) const; virtual int DataMemberInfo_Next(DataMemberInfo_t *dminfo) const;
virtual Long_t DataMemberInfo_Offset(DataMemberInfo_t *dminfo) const; virtual Long_t DataMemberInfo_Offset(DataMemberInfo_t *dminfo) const;
virtual Long_t DataMemberInfo_Property(DataMemberInfo_t *dminfo) const; virtual Long_t DataMemberInfo_Property(DataMemberInfo_t *dminfo) const;
virtual Long_t DataMemberInfo_TypeProperty(DataMemberInfo_t *dminfo) con st; virtual Long_t DataMemberInfo_TypeProperty(DataMemberInfo_t *dminfo) con st;
virtual int DataMemberInfo_TypeSize(DataMemberInfo_t *dminfo) const; virtual int DataMemberInfo_TypeSize(DataMemberInfo_t *dminfo) const;
virtual const char *DataMemberInfo_TypeName(DataMemberInfo_t *dminfo) co nst; virtual const char *DataMemberInfo_TypeName(DataMemberInfo_t *dminfo) co nst;
virtual const char *DataMemberInfo_TypeTrueName(DataMemberInfo_t *dminfo ) const; virtual const char *DataMemberInfo_TypeTrueName(DataMemberInfo_t *dminfo ) const;
virtual const char *DataMemberInfo_Name(DataMemberInfo_t *dminfo) const; virtual const char *DataMemberInfo_Name(DataMemberInfo_t *dminfo) const;
virtual const char *DataMemberInfo_Title(DataMemberInfo_t *dminfo) const ; virtual const char *DataMemberInfo_Title(DataMemberInfo_t *dminfo) const ;
virtual const char *DataMemberInfo_ValidArrayIndex(DataMemberInfo_t *dmi nfo) const; virtual const char *DataMemberInfo_ValidArrayIndex(DataMemberInfo_t *dmi nfo) const;
// G__MethodInfo interface // G__MethodInfo interface
virtual void MethodInfo_CreateSignature(MethodInfo_t *minfo, TString & signature) const; virtual void MethodInfo_CreateSignature(MethodInfo_t *minfo, TString & signature) const;
virtual void MethodInfo_Delete(MethodInfo_t *minfo) const; virtual void MethodInfo_Delete(MethodInfo_t *minfo) const;
virtual void *MethodInfo_Factory() const; virtual MethodInfo_t *MethodInfo_Factory() const;
virtual void *MethodInfo_FactoryCopy(MethodInfo_t *minfo) const; virtual MethodInfo_t *MethodInfo_FactoryCopy(MethodInfo_t *minfo) const
virtual void *MethodInfo_InterfaceMethod(MethodInfo_t *minfo) const; ;
virtual MethodInfo_t *MethodInfo_InterfaceMethod(MethodInfo_t *minfo) c
onst;
virtual bool MethodInfo_IsValid(MethodInfo_t *minfo) const; virtual bool MethodInfo_IsValid(MethodInfo_t *minfo) const;
virtual int MethodInfo_NArg(MethodInfo_t *minfo) const; virtual int MethodInfo_NArg(MethodInfo_t *minfo) const;
virtual int MethodInfo_NDefaultArg(MethodInfo_t *minfo) const; virtual int MethodInfo_NDefaultArg(MethodInfo_t *minfo) const;
virtual int MethodInfo_Next(MethodInfo_t *minfo) const; virtual int MethodInfo_Next(MethodInfo_t *minfo) const;
virtual Long_t MethodInfo_Property(MethodInfo_t *minfo) const; virtual Long_t MethodInfo_Property(MethodInfo_t *minfo) const;
virtual void *MethodInfo_Type(MethodInfo_t *minfo) const; virtual TypeInfo_t *MethodInfo_Type(MethodInfo_t *minfo) const;
virtual const char *MethodInfo_GetMangledName(MethodInfo_t *minfo) const ; virtual const char *MethodInfo_GetMangledName(MethodInfo_t *minfo) const ;
virtual const char *MethodInfo_GetPrototype(MethodInfo_t *minfo) const; virtual const char *MethodInfo_GetPrototype(MethodInfo_t *minfo) const;
virtual const char *MethodInfo_Name(MethodInfo_t *minfo) const; virtual const char *MethodInfo_Name(MethodInfo_t *minfo) const;
virtual const char *MethodInfo_TypeName(MethodInfo_t *minfo) const; virtual const char *MethodInfo_TypeName(MethodInfo_t *minfo) const;
virtual const char *MethodInfo_Title(MethodInfo_t *minfo) const; virtual const char *MethodInfo_Title(MethodInfo_t *minfo) const;
// G__MethodArgInfo interface // G__MethodArgInfo interface
virtual void MethodArgInfo_Delete(MethodArgInfo_t *marginfo) const; virtual void MethodArgInfo_Delete(MethodArgInfo_t *marginfo) const;
virtual void *MethodArgInfo_Factory() const; virtual MethodArgInfo_t *MethodArgInfo_Factory() const;
virtual void *MethodArgInfo_FactoryCopy(MethodArgInfo_t *marginfo) cons virtual MethodArgInfo_t *MethodArgInfo_FactoryCopy(MethodArgInfo_t *mar
t; ginfo) const;
virtual bool MethodArgInfo_IsValid(MethodArgInfo_t *marginfo) const; virtual bool MethodArgInfo_IsValid(MethodArgInfo_t *marginfo) const;
virtual int MethodArgInfo_Next(MethodArgInfo_t *marginfo) const; virtual int MethodArgInfo_Next(MethodArgInfo_t *marginfo) const;
virtual Long_t MethodArgInfo_Property(MethodArgInfo_t *marginfo) const; virtual Long_t MethodArgInfo_Property(MethodArgInfo_t *marginfo) const;
virtual const char *MethodArgInfo_DefaultValue(MethodArgInfo_t *marginfo ) const; virtual const char *MethodArgInfo_DefaultValue(MethodArgInfo_t *marginfo ) const;
virtual const char *MethodArgInfo_Name(MethodArgInfo_t *marginfo) const; virtual const char *MethodArgInfo_Name(MethodArgInfo_t *marginfo) const;
virtual const char *MethodArgInfo_TypeName(MethodArgInfo_t *marginfo) co nst; virtual const char *MethodArgInfo_TypeName(MethodArgInfo_t *marginfo) co nst;
// G__TypeInfo interface // G__TypeInfo interface
virtual void TypeInfo_Delete(TypeInfo_t *tinfo) const; virtual void TypeInfo_Delete(TypeInfo_t *tinfo) const;
virtual void *TypeInfo_Factory() const; virtual TypeInfo_t *TypeInfo_Factory() const;
virtual TypeInfo_t *TypeInfo_Factory(G__value * /* value */) const;
virtual TypeInfo_t *TypeInfo_FactoryCopy(TypeInfo_t * /* tinfo */) const
;
virtual void TypeInfo_Init(TypeInfo_t *tinfo, const char *funcname) co nst; virtual void TypeInfo_Init(TypeInfo_t *tinfo, const char *funcname) co nst;
virtual bool TypeInfo_IsValid(TypeInfo_t *tinfo) const; virtual bool TypeInfo_IsValid(TypeInfo_t *tinfo) const;
virtual const char *TypeInfo_Name(TypeInfo_t * /* info */) const;
virtual Long_t TypeInfo_Property(TypeInfo_t *tinfo) const; virtual Long_t TypeInfo_Property(TypeInfo_t *tinfo) const;
virtual int TypeInfo_RefType(TypeInfo_t * /* tinfo */) const;
virtual int TypeInfo_Size(TypeInfo_t *tinfo) const; virtual int TypeInfo_Size(TypeInfo_t *tinfo) const;
virtual const char *TypeInfo_TrueName(TypeInfo_t *tinfo) const; virtual const char *TypeInfo_TrueName(TypeInfo_t *tinfo) const;
// G__TypedefInfo interface // G__TypedefInfo interface
virtual void TypedefInfo_Delete(TypedefInfo_t *tinfo) const; virtual void TypedefInfo_Delete(TypedefInfo_t *tinfo) const;
virtual void *TypedefInfo_Factory() const; virtual TypedefInfo_t *TypedefInfo_Factory() const;
virtual TypedefInfo_t *TypedefInfo_FactoryCopy(TypedefInfo_t *tinfo) co
nst;
virtual void TypedefInfo_Init(TypedefInfo_t *tinfo, const char *funcna me) const; virtual void TypedefInfo_Init(TypedefInfo_t *tinfo, const char *funcna me) const;
virtual bool TypedefInfo_IsValid(TypedefInfo_t *tinfo) const; virtual bool TypedefInfo_IsValid(TypedefInfo_t *tinfo) const;
virtual Long_t TypedefInfo_Property(TypedefInfo_t *tinfo) const; virtual Long_t TypedefInfo_Property(TypedefInfo_t *tinfo) const;
virtual int TypedefInfo_Size(TypedefInfo_t *tinfo) const; virtual int TypedefInfo_Size(TypedefInfo_t *tinfo) const;
virtual const char *TypedefInfo_TrueName(TypedefInfo_t *tinfo) const; virtual const char *TypedefInfo_TrueName(TypedefInfo_t *tinfo) const;
virtual const char *TypedefInfo_Name(TypedefInfo_t *tinfo) const; virtual const char *TypedefInfo_Name(TypedefInfo_t *tinfo) const;
virtual const char *TypedefInfo_Title(TypedefInfo_t *tinfo) const; virtual const char *TypedefInfo_Title(TypedefInfo_t *tinfo) const;
ClassDef(TCint,0) //Interface to CINT C/C++ interpreter ClassDef(TCint,0) //Interface to CINT C/C++ interpreter
}; };
 End of changes. 12 change blocks. 
20 lines changed or deleted 31 lines changed or added


 TClass.h   TClass.h 
// @(#)root/meta:$Id: TClass.h 25450 2008-09-18 21:13:42Z pcanal $ // @(#)root/meta:$Id: TClass.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 07/01/95 // Author: Rene Brun 07/01/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 182 skipping to change at line 182
// These are the above-referenced hash tables. (The pointers are null // These are the above-referenced hash tables. (The pointers are null
// if no entries have been made.) There are actually two variants. // if no entries have been made.) There are actually two variants.
// In the first, the typedef names are resolved with // In the first, the typedef names are resolved with
// TClassEdit::ResolveTypedef; in the second, the class names // TClassEdit::ResolveTypedef; in the second, the class names
// are first massaged with TClassEdit::ShortType with kDropStlDefault. // are first massaged with TClassEdit::ShortType with kDropStlDefault.
// (??? Are the two distinct tables really needed?) // (??? Are the two distinct tables really needed?)
static THashTable* fgClassTypedefHash; static THashTable* fgClassTypedefHash;
static THashTable* fgClassShortTypedefHash; static THashTable* fgClassShortTypedefHash;
protected: private:
TClass(const TClass& tc); TClass(const TClass& tc);
TClass& operator=(const TClass&); TClass& operator=(const TClass&);
protected:
TVirtualStreamerInfo *FindStreamerInfo(TObjArray* arr, UInt_t checks um) const; TVirtualStreamerInfo *FindStreamerInfo(TObjArray* arr, UInt_t checks um) const;
public: public:
TClass(); TClass();
TClass(const char *name, Bool_t silent = kFALSE); TClass(const char *name, Bool_t silent = kFALSE);
TClass(const char *name, Version_t cversion, TClass(const char *name, Version_t cversion,
const char *dfil = 0, const char *ifil = 0, const char *dfil = 0, const char *ifil = 0,
Int_t dl = 0, Int_t il = 0, Bool_t silent = kFALSE); Int_t dl = 0, Int_t il = 0, Bool_t silent = kFALSE);
TClass(const char *name, Version_t cversion, TClass(const char *name, Version_t cversion,
const type_info &info, TVirtualIsAProxy *isa, const type_info &info, TVirtualIsAProxy *isa,
 End of changes. 3 change blocks. 
2 lines changed or deleted 4 lines changed or added


 TContextMenu.h   TContextMenu.h 
// @(#)root/base:$Id: TContextMenu.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TContextMenu.h 26615 2008-12-03 00:57:41Z pcanal $
// Author: Nenad Buncic 08/02/96 // Author: Nenad Buncic 08/02/96
/************************************************************************* /*************************************************************************
* 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 46 skipping to change at line 46
class TVirtualPad; class TVirtualPad;
class TObjArray; class TObjArray;
class TBrowser; class TBrowser;
class TToggle; class TToggle;
class TClassMenuItem; class TClassMenuItem;
class TContextMenu : public TNamed { class TContextMenu : public TNamed {
friend class TContextMenuImp; friend class TContextMenuImp;
private:
TContextMenu(const TContextMenu&); // TContextMenu can not be
copied since we do not know the actual type of the TContextMenuImp (and it
can not be 'Cloned')
TContextMenu& operator=(const TContextMenu&); // TContextMenu can not be
copied since we do not know the actual type of the TContextMenuImp (and it
can not be 'Cloned')
protected: protected:
TContextMenuImp *fContextMenuImp; //!Context menu system specific i mplementation TContextMenuImp *fContextMenuImp; //!Context menu system specific i mplementation
TFunction *fSelectedMethod; //selected method TFunction *fSelectedMethod; //selected method
TObject *fSelectedObject; //selected object TObject *fSelectedObject; //selected object
TObject *fCalledObject; //object to call TObject *fCalledObject; //object to call
TClassMenuItem *fSelectedMenuItem; //selected class menu item TClassMenuItem *fSelectedMenuItem; //selected class menu item
TVirtualPad *fSelectedCanvas; //selected canvas (if exist) TVirtualPad *fSelectedCanvas; //selected canvas (if exist)
TVirtualPad *fSelectedPad; //selected pad (if exist) TVirtualPad *fSelectedPad; //selected pad (if exist)
TBrowser *fBrowser; //selected browser (if exist) TBrowser *fBrowser; //selected browser (if exist)
TContextMenu(const TContextMenu&);
TContextMenu& operator=(const TContextMenu&);
virtual void DisplayPopUp(Int_t x, Int_t y) virtual void DisplayPopUp(Int_t x, Int_t y)
{ if (fContextMenuImp) fContextMenuImp->DisplayPopup(x, y); } { if (fContextMenuImp) fContextMenuImp->DisplayPopup(x, y); }
private: private:
TContextMenu(); TContextMenu();
public: public:
TContextMenu(const char *name, const char *title = "Context sensitive po pup menu"); TContextMenu(const char *name, const char *title = "Context sensitive po pup menu");
virtual ~TContextMenu(); virtual ~TContextMenu();
 End of changes. 3 change blocks. 
4 lines changed or deleted 9 lines changed or added


 TDocOutput.h   TDocOutput.h 
// @(#)root/html:$Id: TDocOutput.h 23908 2008-05-19 15:25:29Z axel $ // @(#)root/html:$Id: TDocOutput.h 26807 2008-12-10 17:47:42Z axel $
// Author: Axel Naumann 2007-01-09 // Author: Axel Naumann 2007-01-09
/************************************************************************* /*************************************************************************
* 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 36 skipping to change at line 36
#ifndef ROOT_Riosfwd #ifndef ROOT_Riosfwd
#include "Riosfwd.h" #include "Riosfwd.h"
#endif #endif
#ifndef ROOT_TDocParser #ifndef ROOT_TDocParser
#include "TDocParser.h" #include "TDocParser.h"
#endif #endif
class TClass; class TClass;
class TDataMember; class TDataMember;
class TDataType; class TDataType;
class TGClient;
class THtml; class THtml;
class TModuleDocInfo; class TModuleDocInfo;
class TString; class TString;
class TSubString; class TSubString;
class TVirtualPad; class TVirtualPad;
class TDocOutput: public TObject { class TDocOutput: public TObject {
protected: protected:
enum EGraphvizTool { enum EGraphvizTool {
kDot, kDot,
skipping to change at line 75 skipping to change at line 76
void WriteModuleLinks(std::ostream& out, TModuleDocInfo* super ); void WriteModuleLinks(std::ostream& out, TModuleDocInfo* super );
void WriteTopLinks(std::ostream& out, TModuleDocInfo* module, const char* classname = 0); void WriteTopLinks(std::ostream& out, TModuleDocInfo* module, const char* classname = 0);
public: public:
enum EFileType { kSource, kInclude, kTree, kDoc }; enum EFileType { kSource, kInclude, kTree, kDoc };
TDocOutput(THtml& html); TDocOutput(THtml& html);
virtual ~TDocOutput(); virtual ~TDocOutput();
virtual void AdjustSourcePath(TString& line, const char* relpath = ".. /"); virtual void AdjustSourcePath(TString& line, const char* relpath = ".. /");
void Convert(std::istream& in, const char* outfilename, const void Convert(std::istream& in, const char* infilename,
char *title, const char* outfilename, const char *title,
const char *relpath = "../"); const char *relpath = "../",
Int_t includeOutput = 0,
const char* context = "",
TGClient* gclient = 0);
Bool_t CopyHtmlFile(const char *sourceName, const char *destName =""); Bool_t CopyHtmlFile(const char *sourceName, const char *destName ="");
virtual void CreateClassIndex(); virtual void CreateClassIndex();
virtual void CreateModuleIndex(); virtual void CreateModuleIndex();
virtual void CreateProductIndex(); virtual void CreateProductIndex();
virtual void CreateTypeIndex(); virtual void CreateTypeIndex();
virtual void CreateClassTypeDefs(); virtual void CreateClassTypeDefs();
virtual void CreateHierarchy(); virtual void CreateHierarchy();
virtual void DecorateEntityBegin(TString& str, Ssiz_t& pos, TDocParser ::EParseContext type); virtual void DecorateEntityBegin(TString& str, Ssiz_t& pos, TDocParser ::EParseContext type);
 End of changes. 3 change blocks. 
4 lines changed or deleted 8 lines changed or added


 TDocParser.h   TDocParser.h 
// @(#)root/html:$Id: TDocParser.h 23908 2008-05-19 15:25:29Z axel $ // @(#)root/html:$Id: TDocParser.h 26807 2008-12-10 17:47:42Z axel $
// Author: Axel Naumann 2007-01-09 // Author: Axel Naumann 2007-01-09
/************************************************************************* /*************************************************************************
* 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 104 skipping to change at line 104
TDocOutput* fDocOutput; // TDocOutput invoking us TDocOutput* fDocOutput; // TDocOutput invoking us
UInt_t fLineNo; // current line number UInt_t fLineNo; // current line number
TString fLineRaw; // current line TString fLineRaw; // current line
TString fLineStripped; // current line without surrounding spa ces TString fLineStripped; // current line without surrounding spa ces
TString fLineComment; // current line with links and dire ctives for doc TString fLineComment; // current line with links and dire ctives for doc
TString fLineSource; // current line with links TString fLineSource; // current line with links
TString fComment; // current comment TString fComment; // current comment
TString fFirstClassDoc; // first class-doc found - per file, ta ken if fLastClassDoc is empty TString fFirstClassDoc; // first class-doc found - per file, ta ken if fLastClassDoc is empty
TString fLastClassDoc; // last class-doc found - becomes class doc at ClassImp or first method TString fLastClassDoc; // last class-doc found - becomes class doc at ClassImp or first method
TClass* fCurrentClass; // current class context of sources bei ng parsed TClass* fCurrentClass; // current class context of sources bei ng parsed
TClass* fRecentClass; // recently seen class context of sourc es being parsed, e.g. for Convert()
TString fCurrentModule; // current module context of sources be ing parsed TString fCurrentModule; // current module context of sources be ing parsed
TString fCurrentMethodTag;// name_idx of the currently parsed met hod TString fCurrentMethodTag;// name_idx of the currently parsed met hod
Int_t fDirectiveCount; // index of directive for current metho d Int_t fDirectiveCount; // index of directive for current metho d
TString fCurrentFile; // current source / header file name TString fCurrentFile; // current source / header file name
std::map<std::string /*name*/, Int_t > fMethodCounts; // current cla ss's method names std::map<std::string /*name*/, Int_t > fMethodCounts; // current cla ss's method names
EDocContext fDocContext; // current context of parsed sources fo r documenting EDocContext fDocContext; // current context of parsed sources fo r documenting
std::list<UInt_t> fParseContext; // current context of parsed sources std::list<UInt_t> fParseContext; // current context of parsed sources
Bool_t fCheckForMethod; // whether to check the current line fo r a method Bool_t fCheckForMethod; // whether to check the current line fo r a method
enum { enum {
kClassDoc_Uninitialized, kClassDoc_Uninitialized,
skipping to change at line 133 skipping to change at line 134
TList fDirectiveHandlers;// handler for doc directives (TDocDir ective objects) TList fDirectiveHandlers;// handler for doc directives (TDocDir ective objects)
std::set<UInt_t> fExtraLinesWithAnchor; // lines that need an additional anchor std::set<UInt_t> fExtraLinesWithAnchor; // lines that need an additional anchor
TString fSourceInfo[kNumSourceInfos];// author, last changed, ... TString fSourceInfo[kNumSourceInfos];// author, last changed, ...
TList fMethods[3]; // methods as TMethodWrapper objects (b y access) TList fMethods[3]; // methods as TMethodWrapper objects (b y access)
TList fDataMembers[6]; // data members (by access, plus enums) TList fDataMembers[6]; // data members (by access, plus enums)
static std::set<std::string> fgKeywords; // C++ keywords static std::set<std::string> fgKeywords; // C++ keywords
void AddClassMethodsRecursively(TBaseClass* bc); void AddClassMethodsRecursively(TBaseClass* bc);
void AddClassDataMembersRecursively(TBaseClass* bc); void AddClassDataMembersRecursively(TBaseClass* bc);
void AnchorFromLine(TString& anchor);
EParseContext Context() const { return fParseContext.empty() ? kComment : (EParseContext)(fParseContext.back() & kParseContextMask); } EParseContext Context() const { return fParseContext.empty() ? kComment : (EParseContext)(fParseContext.back() & kParseContextMask); }
virtual void ExpandCPPLine(TString& line, Ssiz_t& pos); virtual void ExpandCPPLine(TString& line, Ssiz_t& pos);
virtual Bool_t HandleDirective(TString& keyword, Ssiz_t& pos, virtual Bool_t HandleDirective(TString& keyword, Ssiz_t& pos,
TString& word, Ssiz_t& copiedToCommentUpTo); TString& word, Ssiz_t& copiedToCommentUpTo);
virtual void InitKeywords() const; virtual void InitKeywords() const;
virtual TClass* IsDirective(const TString& line, Ssiz_t pos, const TStri ng& word, Bool_t& begin) const; virtual TClass* IsDirective(const TString& line, Ssiz_t pos, const TStri ng& word, Bool_t& begin) const;
TMethod* LocateMethodInCurrentLine(Ssiz_t& posMethodName, TString& ret, TMethod* LocateMethodInCurrentLine(Ssiz_t& posMethodName, TString& ret,
TString& name, TString& params, std::ostream &srcOut, TString &anchor , TString& name, TString& params, std::ostream &srcOut, TString &anchor ,
std::ifstream& sourcefile, Bool_t allowPureVirtual); std::ifstream& sourcefile, Bool_t allowPureVirtual);
void LocateMethodsInSource(std::ostream& out); void LocateMethodsInSource(std::ostream& out);
skipping to change at line 166 skipping to change at line 166
TString& name, TString& params, TString& name, TString& params,
const char* file, TString& anchor, const char* file, TString& anchor,
TString& codeOneLiner); TString& codeOneLiner);
void WriteSourceLine(std::ostream& out); void WriteSourceLine(std::ostream& out);
public: public:
TDocParser(TClassDocOutput& docOutput, TClass* cl); TDocParser(TClassDocOutput& docOutput, TClass* cl);
TDocParser(TDocOutput& docOutput); TDocParser(TDocOutput& docOutput);
virtual ~TDocParser(); virtual ~TDocParser();
void Convert(std::ostream& out, std::istream& in, const char* r static void AnchorFromLine(const TString& line, TString& anchor);
elpath); void Convert(std::ostream& out, std::istream& in, const char* r
elpath,
Bool_t isCode);
void DecrementMethodCount(const char* name); void DecrementMethodCount(const char* name);
virtual void DecorateKeywords(std::ostream& out, const char* text); virtual void DecorateKeywords(std::ostream& out, const char* text);
virtual void DecorateKeywords(TString& text); virtual void DecorateKeywords(TString& text);
virtual void DeleteDirectiveOutput() const; virtual void DeleteDirectiveOutput() const;
const TList* GetMethods(EAccess access) const { return &fMethods[access ]; } const TList* GetMethods(EAccess access) const { return &fMethods[access ]; }
TClass* GetCurrentClass() const { return fCurrentClass; } TClass* GetCurrentClass() const { return fCurrentClass; }
void GetCurrentModule(TString& out_module) const; void GetCurrentModule(TString& out_module) const;
TDocOutput* GetDocOutput() const { return fDocOutput; } TDocOutput* GetDocOutput() const { return fDocOutput; }
const TList* GetDataMembers(EAccess access) const { return &fDataMember s[access]; } const TList* GetDataMembers(EAccess access) const { return &fDataMember s[access]; }
const TList* GetEnums(EAccess access) const { return &fDataMembers[acce ss+3]; } const TList* GetEnums(EAccess access) const { return &fDataMembers[acce ss+3]; }
 End of changes. 4 change blocks. 
4 lines changed or deleted 6 lines changed or added


 TEveCalo.h   TEveCalo.h 
// @(#)root/eve:$Id: TEveCalo.h 25245 2008-08-25 21:44:09Z matevz $ // @(#)root/eve:$Id: TEveCalo.h 26772 2008-12-09 19:57:49Z 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 151 skipping to change at line 151
class TEveCalo3D : public TEveCaloViz class TEveCalo3D : public TEveCaloViz
{ {
friend class TEveCalo3DGL; friend class TEveCalo3DGL;
private: private:
TEveCalo3D(const TEveCalo3D&); // Not implemented TEveCalo3D(const TEveCalo3D&); // Not implemented
TEveCalo3D& operator=(const TEveCalo3D&); // Not implemented TEveCalo3D& operator=(const TEveCalo3D&); // Not implemented
protected: protected:
TEveCaloData::vCellId_t fCellList; TEveCaloData::vCellId_t fCellList;
Bool_t fRnrEndCapFrame;
Bool_t fRnrBarrelFrame;
Color_t fFrameColor;
UChar_t fFrameTransparency;
virtual void BuildCellIdCache(); virtual void BuildCellIdCache();
public: public:
TEveCalo3D(TEveCaloData* d=0, const Text_t* n="TEveCalo3D", const Text_t * t="xx"):TEveCaloViz(d, n, t){} TEveCalo3D(TEveCaloData* d=0, const Text_t* n="TEveCalo3D", const Text_t * t="xx");
virtual ~TEveCalo3D() {} virtual ~TEveCalo3D() {}
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual Bool_t CanEditMainTransparency() const { return kTRUE; }
void SetRnrFrame(Bool_t e, Bool_t b) { fRnrEndCapFrame = e; fRnr
BarrelFrame = b; }
void GetRnrFrame(Bool_t &e, Bool_t &b) const { e = fRnrEndCapFrame; b =
fRnrBarrelFrame; }
ClassDef(TEveCalo3D, 0); // Class for 3D visualization of calorimeter ev ent data. ClassDef(TEveCalo3D, 0); // Class for 3D visualization of calorimeter ev ent data.
}; };
/************************************************************************** / /************************************************************************** /
/************************************************************************** / /************************************************************************** /
class TEveCalo2D : public TEveCaloViz, class TEveCalo2D : public TEveCaloViz,
public TEveProjected public TEveProjected
{ {
friend class TEveCalo2DGL; friend class TEveCalo2DGL;
 End of changes. 4 change blocks. 
2 lines changed or deleted 16 lines changed or added


 TEveCalo3DGL.h   TEveCalo3DGL.h 
// @(#)root/eve:$Id: TEveCalo3DGL.h 24214 2008-06-11 14:48:35Z matevz $ // @(#)root/eve:$Id: TEveCalo3DGL.h 26772 2008-12-09 19:57:49Z 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 29 skipping to change at line 29
class TEveCalo3DGL : public TGLObject class TEveCalo3DGL : public TGLObject
{ {
private: private:
TEveCalo3DGL(const TEveCalo3DGL&); // Not implemented TEveCalo3DGL(const TEveCalo3DGL&); // Not implemented
TEveCalo3DGL& operator=(const TEveCalo3DGL&); // Not implemented TEveCalo3DGL& operator=(const TEveCalo3DGL&); // Not implemented
void CrossProduct(const Float_t a[3], const Float_t b[3], const Float _t c[3], Float_t out[3]) const; void CrossProduct(const Float_t a[3], const Float_t b[3], const Float _t c[3], Float_t out[3]) const;
void RenderBox(const Float_t pnts[8]) const; void RenderBox(const Float_t pnts[8]) const;
void RenderGridEndCap() const;
void RenderGridBarrel() const;
void RenderGrid(TGLRnrCtx & rnrCtx) const;
Float_t RenderBarrelCell(const TEveCaloData::CellData_t &cell, Float_t t owerH, Float_t offset) const; Float_t RenderBarrelCell(const TEveCaloData::CellData_t &cell, Float_t t owerH, Float_t offset) const;
Float_t RenderEndCapCell(const TEveCaloData::CellData_t &cell, Float_t t owerH, Float_t offset) const; Float_t RenderEndCapCell(const TEveCaloData::CellData_t &cell, Float_t t owerH, Float_t offset) const;
protected: protected:
TEveCalo3D *fM; // Model object. TEveCalo3D *fM; // Model object.
public: public:
TEveCalo3DGL(); TEveCalo3DGL();
virtual ~TEveCalo3DGL() {} virtual ~TEveCalo3DGL() {}
virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0); virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
virtual void SetBBox(); virtual void SetBBox();
virtual void DirectDraw(TGLRnrCtx & rnrCtx) const; virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
virtual Bool_t ShouldDLCache(const TGLRnrCtx& rnrCtx) const;
virtual Bool_t SupportsSecondarySelect() const { return kTRUE; } virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & re c); virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & re c);
ClassDef(TEveCalo3DGL, 0); // GL renderer class for TEveCalo. ClassDef(TEveCalo3DGL, 0); // GL renderer class for TEveCalo.
}; };
#endif #endif
 End of changes. 3 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TEveCaloData.h   TEveCaloData.h 
// @(#)root/eve:$Id: TEveCaloData.h 25245 2008-08-25 21:44:09Z matevz $ // @(#)root/eve:$Id: TEveCaloData.h 26561 2008-12-01 17:35:55Z 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 242 skipping to change at line 242
Float_t phi, Float_t phiRng, Float_t phi, Float_t phiRng,
vCellId_t &out) const; vCellId_t &out) const;
virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, Rebin Data_t &out) const; virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, Rebin Data_t &out) const;
virtual void GetCellData(const TEveCaloData::CellId_t &id, TEveCaloData: :CellData_t& data) const; virtual void GetCellData(const TEveCaloData::CellId_t &id, TEveCaloData: :CellData_t& data) const;
virtual void GetEtaLimits(Double_t &min, Double_t &max) const { min=fEta Min, max=fEtaMax;} virtual void GetEtaLimits(Double_t &min, Double_t &max) const { min=fEta Min, max=fEtaMax;}
virtual void GetPhiLimits(Double_t &min, Double_t &max) const { min=fPhi Min; max=fPhiMax;} virtual void GetPhiLimits(Double_t &min, Double_t &max) const { min=fPhi Min; max=fPhiMax;}
virtual void DataChanged(); virtual void DataChanged();
void SetAxisFromBins(Double_t epsX=0.001, Double_t epsY=0.001);
ClassDef(TEveCaloDataVec, 0); // Manages calorimeter event data. ClassDef(TEveCaloDataVec, 0); // Manages calorimeter event data.
}; };
/************************************************************************** / /************************************************************************** /
/************************************************************************** / /************************************************************************** /
class TEveCaloDataHist: public TEveCaloData class TEveCaloDataHist: public TEveCaloData
{ {
private: private:
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TEveElement.h   TEveElement.h 
// @(#)root/eve:$Id: TEveElement.h 26367 2008-11-21 18:08:30Z matevz $ // @(#)root/eve:$Id: TEveElement.h 26717 2008-12-07 22:07:55Z 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 101 skipping to change at line 101
UChar_t fMainTransparency; // Main-transparency variable. UChar_t fMainTransparency; // Main-transparency variable.
Color_t *fMainColorPtr; // Pointer to main-color variab le. Color_t *fMainColorPtr; // Pointer to main-color variab le.
TEveTrans *fMainTrans; // Pointer to main transformati on matrix. TEveTrans *fMainTrans; // Pointer to main transformati on matrix.
sLTI_t fItems; //! Set of list-tree-items. sLTI_t fItems; //! Set of list-tree-items.
TRef fSource; // External object that is repr esented by this element. TRef fSource; // External object that is repr esented by this element.
void *fUserData; //! Externally assigned and cont rolled user data. void *fUserData; //! Externally assigned and cont rolled user data.
virtual void PreDeleteElement();
virtual void RemoveElementsInternal(); virtual void RemoveElementsInternal();
public: public:
TEveElement(); TEveElement();
TEveElement(Color_t& main_color); TEveElement(Color_t& main_color);
TEveElement(const TEveElement& e); TEveElement(const TEveElement& e);
virtual ~TEveElement(); virtual ~TEveElement();
virtual TEveElement* CloneElement() const { return new TEveElement(*this ); } virtual TEveElement* CloneElement() const { return new TEveElement(*this ); }
virtual TEveElement* CloneElementRecurse(Int_t level=0) const; virtual TEveElement* CloneElementRecurse(Int_t level=0) const;
virtual void CloneChildrenRecurse(TEveElement* dest, Int_t level =0) const; virtual void CloneChildrenRecurse(TEveElement* dest, Int_t level =0) const;
virtual const Text_t* GetElementName() const; virtual const Text_t* GetElementName() const;
virtual const Text_t* GetElementTitle() const; virtual const Text_t* GetElementTitle() const;
virtual void SetElementName (const Text_t* name); virtual void SetElementName (const Text_t* name);
virtual void SetElementTitle(const Text_t* title); virtual void SetElementTitle(const Text_t* title);
virtual void SetElementNameTitle(const Text_t* name, const Text_t* title ); virtual void SetElementNameTitle(const Text_t* name, const Text_t* title );
virtual void NameTitleChanged();
const TString& GetVizTag() const { return fVizTag; } const TString& GetVizTag() const { return fVizTag; }
void SetVizTag(const TString& tag) { fVizTag = tag; } void SetVizTag(const TString& tag) { fVizTag = tag; }
TEveElement* GetVizModel() const { return fVizModel; } TEveElement* GetVizModel() const { return fVizModel; }
void SetVizModel(TEveElement* model); void SetVizModel(TEveElement* model);
Bool_t FindVizModel(); Bool_t FindVizModel();
Bool_t ApplyVizTag(const TString& tag, const TString& fallback_t ag=""); Bool_t ApplyVizTag(const TString& tag, const TString& fallback_t ag="");
skipping to change at line 178 skipping to change at line 180
void EnableListElements (Bool_t rnr_self=kTRUE, Bool_t rnr_children=kTR UE); // *MENU* void EnableListElements (Bool_t rnr_self=kTRUE, Bool_t rnr_children=kTR UE); // *MENU*
void DisableListElements(Bool_t rnr_self=kFALSE, Bool_t rnr_children=kFA LSE); // *MENU* void DisableListElements(Bool_t rnr_self=kFALSE, Bool_t rnr_children=kFA LSE); // *MENU*
Bool_t GetDestroyOnZeroRefCnt() const { return fDestroyOnZeroRefCnt; } Bool_t GetDestroyOnZeroRefCnt() const { return fDestroyOnZeroRefCnt; }
void SetDestroyOnZeroRefCnt(Bool_t d) { fDestroyOnZeroRefCnt = d; } void SetDestroyOnZeroRefCnt(Bool_t d) { fDestroyOnZeroRefCnt = d; }
Int_t GetDenyDestroy() const { return fDenyDestroy; } Int_t GetDenyDestroy() const { return fDenyDestroy; }
void IncDenyDestroy() { ++fDenyDestroy; } void IncDenyDestroy() { ++fDenyDestroy; }
void DecDenyDestroy() { if (--fDenyDestroy <= 0) CheckReferenceC ount("TEveElement::DecDenyDestroy "); } void DecDenyDestroy() { if (--fDenyDestroy <= 0) CheckReferenceC ount("TEveElement::DecDenyDestroy "); }
Int_t GetParentIgnoreCnt() const { return fParentIgnoreCnt; }
void IncParentIgnoreCnt() { ++fParentIgnoreCnt; }
void DecParentIgnoreCnt() { if (--fParentIgnoreCnt <= 0) CheckRe
ferenceCount("TEveElement::DecParentIgnoreCnt "); }
virtual void PadPaint(Option_t* option); virtual void PadPaint(Option_t* option);
virtual TObject* GetObject (const TEveException& eh="TEveElement::G etObject ") const; virtual TObject* GetObject (const TEveException& eh="TEveElement::G etObject ") const;
virtual TObject* GetEditorObject(const TEveException& eh="TEveElement::G etEditorObject ") const { return GetObject(eh); } virtual TObject* GetEditorObject(const TEveException& eh="TEveElement::G etEditorObject ") const { return GetObject(eh); }
virtual TObject* GetRenderObject(const TEveException& eh="TEveElement::G etRenderObject ") const { return GetObject(eh); } virtual TObject* GetRenderObject(const TEveException& eh="TEveElement::G etRenderObject ") const { return GetObject(eh); }
// -------------------------------- // --------------------------------
virtual void ExpandIntoListTree(TGListTree* ltree, TGListTreeItem* paren t); virtual void ExpandIntoListTree(TGListTree* ltree, TGListTreeItem* paren t);
virtual void DestroyListSubTree(TGListTree* ltree, TGListTreeItem* paren t); virtual void DestroyListSubTree(TGListTree* ltree, TGListTreeItem* paren t);
skipping to change at line 403 skipping to change at line 409
TClass *fChildClass; // Class of acceptable children, others are reje cted. TClass *fChildClass; // Class of acceptable children, others are reje cted.
public: public:
TEveElementList(const Text_t* n="TEveElementList", const Text_t* t="", TEveElementList(const Text_t* n="TEveElementList", const Text_t* t="",
Bool_t doColor=kFALSE); Bool_t doColor=kFALSE);
TEveElementList(const TEveElementList& e); TEveElementList(const TEveElementList& e);
virtual ~TEveElementList() {} virtual ~TEveElementList() {}
virtual TEveElementList* CloneElement() const { return new TEveElementLi st(*this); } virtual TEveElementList* CloneElement() const { return new TEveElementLi st(*this); }
virtual const Text_t* GetElementName() const { return TNamed::GetName() virtual const Text_t* GetElementName() const { return GetName(); }
; } virtual const Text_t* GetElementTitle() const { return GetTitle(); }
virtual const Text_t* GetElementTitle() const { return TNamed::GetTitle(
); } virtual void SetElementName (const Text_t* name)
virtual void SetElementName (const Text_t* name) { TNamed::SetName(name { TNamed::SetName(name); NameTitleChanged(); }
); }
virtual void SetElementTitle(const Text_t* title) { TNamed::SetTitle(tit virtual void SetElementTitle(const Text_t* title)
le); } { TNamed::SetTitle(title); NameTitleChanged(); }
virtual void SetElementNameTitle(const Text_t* name, const Text_t* title ) virtual void SetElementNameTitle(const Text_t* name, const Text_t* title )
{ TNamed::SetNameTitle(name, title); } { TNamed::SetNameTitle(name, title); NameTitleChanged(); }
virtual Bool_t CanEditMainColor() const { return fDoColor; } virtual Bool_t CanEditMainColor() const { return fDoColor; }
TClass* GetChildClass() const { return fChildClass; } TClass* GetChildClass() const { return fChildClass; }
void SetChildClass(TClass* c) { fChildClass = c; } void SetChildClass(TClass* c) { fChildClass = c; }
virtual Bool_t AcceptElement(TEveElement* el); virtual Bool_t AcceptElement(TEveElement* el);
ClassDef(TEveElementList, 0); // List of TEveElement objects with a poss ibility to limit the class of accepted elements. ClassDef(TEveElementList, 0); // List of TEveElement objects with a poss ibility to limit the class of accepted elements.
}; };
 End of changes. 6 change blocks. 
10 lines changed or deleted 18 lines changed or added


 TEveManager.h   TEveManager.h 
// @(#)root/eve:$Id: TEveManager.h 26274 2008-11-18 20:32:48Z matevz $ // @(#)root/eve:$Id: TEveManager.h 26717 2008-12-07 22:07:55Z 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 45 skipping to change at line 45
class TEveSelection; class TEveSelection;
class TEveGListTreeEditorFrame; class TEveGListTreeEditorFrame;
class TEveBrowser; class TEveBrowser;
class TEveGedEditor; class TEveGedEditor;
class TEveViewer; class TEveViewerList; class TEveViewer; class TEveViewerList;
class TEveScene; class TEveSceneList; class TEveScene; class TEveSceneList;
class TEveEventManager; class TEveEventManager;
class TEveWindowManager;
class TEveManager class TEveManager
{ {
TEveManager(const TEveManager&); // Not implemented TEveManager(const TEveManager&); // Not implemented
TEveManager& operator=(const TEveManager&); // Not implemented TEveManager& operator=(const TEveManager&); // Not implemented
public: public:
class TRedrawDisabler class TRedrawDisabler
{ {
private: private:
skipping to change at line 94 skipping to change at line 95
TMap *fGeometries; TMap *fGeometries;
TMap *fGeometryAliases; TMap *fGeometryAliases;
TEveBrowser *fBrowser; TEveBrowser *fBrowser;
TEveGListTreeEditorFrame *fLTEFrame; TEveGListTreeEditorFrame *fLTEFrame;
TEveGedEditor *fEditor; TEveGedEditor *fEditor;
TGStatusBar *fStatusBar; TGStatusBar *fStatusBar;
TFolder *fMacroFolder; TFolder *fMacroFolder;
TEveWindowManager *fWindowManager;
TEveViewerList *fViewers; TEveViewerList *fViewers;
TEveSceneList *fScenes; TEveSceneList *fScenes;
TEveViewer *fViewer; // First / default gl-viewer.
TEveScene *fGlobalScene; TEveScene *fGlobalScene;
TEveScene *fEventScene; TEveScene *fEventScene;
TEveEventManager *fCurrentEvent; TEveEventManager *fCurrentEvent;
Int_t fRedrawDisabled; Int_t fRedrawDisabled;
Bool_t fFullRedraw; Bool_t fFullRedraw;
Bool_t fResetCameras; Bool_t fResetCameras;
Bool_t fDropLogicals; Bool_t fDropLogicals;
Bool_t fKeepEmptyCont; Bool_t fKeepEmptyCont;
Bool_t fTimerActive; Bool_t fTimerActive;
skipping to change at line 140 skipping to change at line 141
TEveElementList* GetOrphanage() const { return fOrphanage; } TEveElementList* GetOrphanage() const { return fOrphanage; }
Bool_t GetUseOrphanage() const { return fUseOrphanage; } Bool_t GetUseOrphanage() const { return fUseOrphanage; }
void SetUseOrphanage(Bool_t o) { fUseOrphanage = o; } void SetUseOrphanage(Bool_t o) { fUseOrphanage = o; }
void ClearOrphanage(); void ClearOrphanage();
TEveBrowser* GetBrowser() const { return fBrowser; } TEveBrowser* GetBrowser() const { return fBrowser; }
TEveGListTreeEditorFrame* GetLTEFrame() const { return fLTEFrame; } TEveGListTreeEditorFrame* GetLTEFrame() const { return fLTEFrame; }
TEveGedEditor* GetEditor() const { return fEditor; } TEveGedEditor* GetEditor() const { return fEditor; }
TGStatusBar* GetStatusBar() const { return fStatusBar; } TGStatusBar* GetStatusBar() const { return fStatusBar; }
TEveWindowManager* GetWindowManager() const { return fWindowManager; }
TEveSceneList* GetScenes() const { return fScenes; } TEveSceneList* GetScenes() const { return fScenes; }
TEveViewerList* GetViewers() const { return fViewers; } TEveViewerList* GetViewers() const { return fViewers; }
TEveViewer* GetDefViewer() const { return fViewer; }
TEveScene* GetGlobalScene() const { return fGlobalScene; } TEveScene* GetGlobalScene() const { return fGlobalScene; }
TEveScene* GetEventScene() const { return fEventScene; } TEveScene* GetEventScene() const { return fEventScene; }
TEveEventManager* GetCurrentEvent() const { return fCurrentEvent; } TEveEventManager* GetCurrentEvent() const { return fCurrentEvent; }
void SetCurrentEvent(TEveEventManager* mgr) { fCurrentEvent = mgr; } void SetCurrentEvent(TEveEventManager* mgr) { fCurrentEvent = mgr; }
TCanvas* AddCanvasTab(const char* name); TCanvas* AddCanvasTab(const char* name);
TGWindow* GetMainWindow() const; TGWindow* GetMainWindow() const;
TGLViewer* GetGLViewer() const; TEveViewer* GetDefaultViewer() const;
TGLViewer* GetDefaultGLViewer() const;
TEveViewer* SpawnNewViewer(const Text_t* name, const Text_t* title="", Bool_t embed=kTRUE); TEveViewer* SpawnNewViewer(const Text_t* name, const Text_t* title="", Bool_t embed=kTRUE);
TEveScene* SpawnNewScene(const Text_t* name, const Text_t* title=""); TEveScene* SpawnNewScene(const Text_t* name, const Text_t* title="");
TFolder* GetMacroFolder() const { return fMacroFolder; } TFolder* GetMacroFolder() const { return fMacroFolder; }
TMacro* GetMacro(const Text_t* name) const; TMacro* GetMacro(const Text_t* name) const;
void EditElement(TEveElement* element); void EditElement(TEveElement* element);
void DisableRedraw() { ++fRedrawDisabled; } void DisableRedraw() { ++fRedrawDisabled; }
void EnableRedraw() { --fRedrawDisabled; if (fRedrawDisabled <= 0) Redr aw3D(); } void EnableRedraw() { --fRedrawDisabled; if (fRedrawDisabled <= 0) Redr aw3D(); }
skipping to change at line 225 skipping to change at line 228
TGeoManager* GetGeometry(const TString& filename); TGeoManager* GetGeometry(const TString& filename);
TGeoManager* GetGeometryByAlias(const TString& alias); TGeoManager* GetGeometryByAlias(const TString& alias);
TGeoManager* GetDefaultGeometry(); TGeoManager* GetDefaultGeometry();
void RegisterGeometryAlias(const TString& alias, const TString& filename); void RegisterGeometryAlias(const TString& alias, const TString& filename);
void SetStatusLine(const char* text); void SetStatusLine(const char* text);
void ClearROOTClassSaved(); void ClearROOTClassSaved();
void CloseEveWindow(); void CloseEveWindow();
static TEveManager* Create(Bool_t map_window=kTRUE, Option_t* opt="FI"); static TEveManager* Create(Bool_t map_window=kTRUE, Option_t* opt="FIV") ;
static void Terminate(); static void Terminate();
ClassDef(TEveManager, 0); // Eve application manager. ClassDef(TEveManager, 0); // Eve application manager.
}; };
R__EXTERN TEveManager* gEve; R__EXTERN TEveManager* gEve;
#endif #endif
 End of changes. 8 change blocks. 
5 lines changed or deleted 8 lines changed or added


 TEvePointSet.h   TEvePointSet.h 
// @(#)root/eve:$Id: TEvePointSet.h 26168 2008-11-12 21:21:29Z matevz $ // @(#)root/eve:$Id: TEvePointSet.h 26662 2008-12-04 20:25:08Z 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 66 skipping to change at line 66
virtual TEvePointSet* CloneElement() const { return new TEvePointSet(*th is); } virtual TEvePointSet* CloneElement() const { return new TEvePointSet(*th is); }
virtual void ComputeBBox(); virtual void ComputeBBox();
void Reset(Int_t n_points=0, Int_t n_int_ids=0); void Reset(Int_t n_points=0, Int_t n_int_ids=0);
Int_t GrowFor(Int_t n_points); Int_t GrowFor(Int_t n_points);
virtual const Text_t* GetTitle() const { return fTitle; } virtual const Text_t* GetTitle() const { return fTitle; }
virtual const Text_t* GetElementName() const { return TPointSet3D::Get Name(); } virtual const Text_t* GetElementName() const { return TPointSet3D::Get Name(); }
virtual const Text_t* GetElementTitle() const { return fTitle; } virtual const Text_t* GetElementTitle() const { return fTitle; }
virtual void SetElementName (const Text_t* n) { fName = n; } virtual void SetElementName (const Text_t* n) { fName = n; NameTitleCh
virtual void SetTitle(const Text_t* t) { fTitle = t; } anged(); }
virtual void SetElementTitle(const Text_t* t) { fTitle = t; } virtual void SetTitle(const Text_t* t) { fTitle = t; NameTitleCh
anged(); }
virtual void SetElementTitle(const Text_t* t) { fTitle = t; NameTitleCh
anged(); }
virtual void SetElementNameTitle(const Text_t* n, const Text_t* t) virtual void SetElementNameTitle(const Text_t* n, const Text_t* t)
{ fName = n; fTitle = t; } { fName = n; fTitle = t; NameTitleChanged(); }
Int_t GetIntIdsPerPoint() const { return fIntIdsPerPoint; } Int_t GetIntIdsPerPoint() const { return fIntIdsPerPoint; }
Int_t* GetPointIntIds(Int_t p) const; Int_t* GetPointIntIds(Int_t p) const;
Int_t GetPointIntId(Int_t p, Int_t i) const; Int_t GetPointIntId(Int_t p, Int_t i) const;
void SetPointIntIds(Int_t* ids); void SetPointIntIds(Int_t* ids);
void SetPointIntIds(Int_t n, Int_t* ids); void SetPointIntIds(Int_t n, Int_t* ids);
virtual void SetMarkerColor(Color_t col) { SetMainColor(col); } virtual void SetMarkerColor(Color_t col) { SetMainColor(col); }
 End of changes. 3 change blocks. 
5 lines changed or deleted 8 lines changed or added


 TEveTrackPropagator.h   TEveTrackPropagator.h 
// @(#)root/eve:$Id: TEveTrackPropagator.h 26367 2008-11-21 18:08:30Z matev z $ // @(#)root/eve:$Id: TEveTrackPropagator.h 26778 2008-12-09 21:56:51Z matev z $
// 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 46 skipping to change at line 46
virtual Bool_t IsConst() const {return fFieldConstant;}; virtual Bool_t IsConst() const {return fFieldConstant;};
virtual void PrintField(Float_t x, Float_t y, Float_t z) const virtual void PrintField(Float_t x, Float_t y, Float_t z) const
{ {
TEveVector b = GetField(x, y, z); TEveVector b = GetField(x, y, z);
printf("v(%f, %f, %f) B(%f, %f, %f) \n", x, y, z, b.fX, b.fY, b.fZ); printf("v(%f, %f, %f) B(%f, %f, %f) \n", x, y, z, b.fX, b.fY, b.fZ);
} }
virtual TEveVector GetField(const TEveVector &v) const { return GetField (v.fX, v.fY, v.fZ);} virtual TEveVector GetField(const TEveVector &v) const { return GetField (v.fX, v.fY, v.fZ);}
virtual TEveVector GetField(Float_t x, Float_t y, Float_t z) const = 0; virtual TEveVector GetField(Float_t x, Float_t y, Float_t z) const = 0;
virtual Float_t GetMaxFieldMag() const = 0;
ClassDef(TEveMagField, 0); // Abstract interface to magnetic field ClassDef(TEveMagField, 0); // Abstract interface to magnetic field
}; };
//========================================================================= ===== //========================================================================= =====
// TEveMagFieldConst // TEveMagFieldConst
//========================================================================= ===== //========================================================================= =====
class TEveMagFieldConst : public TEveMagField class TEveMagFieldConst : public TEveMagField
{ {
protected: protected:
TEveVector fB; TEveVector fB;
public: public:
TEveMagFieldConst(Float_t x, Float_t y, Float_t z) : TEveMagField(), fB(x, y, z) TEveMagFieldConst(Float_t x, Float_t y, Float_t z) : TEveMagField(), fB(x, y, z)
{ fFieldConstant = kTRUE; } { fFieldConstant = kTRUE; }
virtual ~TEveMagFieldConst() {} virtual ~TEveMagFieldConst() {}
using TEveMagField::GetField; using TEveMagField::GetField;
virtual TEveVector GetField(Float_t /*x*/, Float_t /*y*/, Float_t /*z*/) const { return fB; } virtual TEveVector GetField(Float_t /*x*/, Float_t /*y*/, Float_t /*z*/) const { return fB; }
virtual Float_t GetMaxFieldMag() const { return fB.Mag(); }
ClassDef(TEveMagFieldConst, 0); // Interface to constant magnetic field. ClassDef(TEveMagFieldConst, 0); // Interface to constant magnetic field.
}; };
//========================================================================= ===== //========================================================================= =====
// TEveMagFieldDuo // TEveMagFieldDuo
//========================================================================= ===== //========================================================================= =====
class TEveMagFieldDuo : public TEveMagField class TEveMagFieldDuo : public TEveMagField
{ {
protected: protected:
skipping to change at line 95 skipping to change at line 98
fBIn(0,0,bIn), fBOut(0,0,bOut), fR2(r*r) fBIn(0,0,bIn), fBOut(0,0,bOut), fR2(r*r)
{ {
fFieldConstant = kFALSE; fFieldConstant = kFALSE;
} }
virtual ~TEveMagFieldDuo() {} virtual ~TEveMagFieldDuo() {}
using TEveMagField::GetField; using TEveMagField::GetField;
virtual TEveVector GetField(Float_t x, Float_t y, Float_t /*z*/) const virtual TEveVector GetField(Float_t x, Float_t y, Float_t /*z*/) const
{ return ((x*x+y*y)<fR2) ? fBIn : fBOut; } { return ((x*x+y*y)<fR2) ? fBIn : fBOut; }
virtual Float_t GetMaxFieldMag() const { return TMath::Max(fBIn.Mag()
, fBOut.Mag()); }
ClassDef(TEveMagFieldDuo, 0); // Interface to magnetic field with two di fferent values depending of radius. ClassDef(TEveMagFieldDuo, 0); // Interface to magnetic field with two di fferent values depending of radius.
}; };
//========================================================================= ===== //========================================================================= =====
// TEveTrackPropagator // TEveTrackPropagator
//========================================================================= ===== //========================================================================= =====
class TEveTrackPropagator : public TEveElementList, class TEveTrackPropagator : public TEveElementList,
public TEveRefBackPtr public TEveRefBackPtr
{ {
skipping to change at line 137 skipping to change at line 142
TEveVector fE1, fE2, fE3; // Base vectors: E1 -> B dir, E2->pT dir, E 3 = E1xE2. TEveVector fE1, fE2, fE3; // Base vectors: E1 -> B dir, E2->pT dir, E 3 = E1xE2.
TEveVector fPt, fPl; // Transverse and longitudinal momentum. TEveVector fPt, fPl; // Transverse and longitudinal momentum.
Float_t fPtMag; // Magnitude of pT Float_t fPtMag; // Magnitude of pT
Float_t fPlDir; // Momentum parallel to mag field. Float_t fPlDir; // Momentum parallel to mag field.
Float_t fTStep; // Transverse step arc-length in cm. Float_t fTStep; // Transverse step arc-length in cm.
// ---------------------------------------------------------------- // ----------------------------------------------------------------
Helix_t(); Helix_t();
void Update(const TEveVector & p, const TEveVector& b, Bool_t fullUpd void UpdateHelix(const TEveVector & p, const TEveVector& b, Bool_t fu
ate, Float_t fraction = -1); llUpdate, Float_t fraction = -1);
void UpdateRG (const TEveVector & p, const TEveVector& b, Float_t b
Max = -1, Float_t maxStep = -1);
void Step (const TEveVector4& v, const TEveVector& p, TEveVector4& v Out, TEveVector& pOut); void Step (const TEveVector4& v, const TEveVector& p, TEveVector4& v Out, TEveVector& pOut);
Float_t GetStep() { return fTStep * TMath::Sqrt(1 + fLam*fLam); } Float_t GetStep() { return fTStep * TMath::Sqrt(1 + fLam*fLam); }
Float_t GetStep2() { return fTStep * fTStep * (1 + fLam*fLam); } Float_t GetStep2() { return fTStep * fTStep * (1 + fLam*fLam); }
}; };
enum EStepper_e { kHelix, kRungeKutta };
private: private:
TEveTrackPropagator(const TEveTrackPropagator&); // Not imple mented TEveTrackPropagator(const TEveTrackPropagator&); // Not imple mented
TEveTrackPropagator& operator=(const TEveTrackPropagator&); // Not imple mented TEveTrackPropagator& operator=(const TEveTrackPropagator&); // Not imple mented
protected: protected:
// Magnetic field EStepper_e fStepper;
TEveMagField* fMagFieldObj; TEveMagField* fMagFieldObj;
// Track extrapolation limits // Track extrapolation limits
Float_t fMaxR; // Max radius for track extrapo lation Float_t fMaxR; // Max radius for track extrapo lation
Float_t fMaxZ; // Max z-coordinate for track e xtrapolation. Float_t fMaxZ; // Max z-coordinate for track e xtrapolation.
Int_t fNMax; // max steps Int_t fNMax; // max steps
// Helix limits // Helix limits
Float_t fMaxOrbs; // Maximal angular path of trac ks' orbits (1 ~ 2Pi). Float_t fMaxOrbs; // Maximal angular path of trac ks' orbits (1 ~ 2Pi).
Float_t fMaxStepRG; // Maximum step size in stepper
RungeKuta.
// Path-mark / first-vertex control // Path-mark / first-vertex control
Bool_t fEditPathMarks; // Show widgets for path-mark c ontrol in GUI editor. Bool_t fEditPathMarks; // Show widgets for path-mark c ontrol in GUI editor.
Bool_t fFitDaughters; // Pass through daughter creati on points when extrapolating a track. Bool_t fFitDaughters; // Pass through daughter creati on points when extrapolating a track.
Bool_t fFitReferences; // Pass through given track-ref erences when extrapolating a track. Bool_t fFitReferences; // Pass through given track-ref erences when extrapolating a track.
Bool_t fFitDecay; // Pass through decay point whe n extrapolating a track. Bool_t fFitDecay; // Pass through decay point whe n extrapolating a track.
Bool_t fFitCluster2Ds; // Pass through 2D-clusters whe n extrapolating a track. Bool_t fFitCluster2Ds; // Pass through 2D-clusters whe n extrapolating a track.
Bool_t fRnrDaughters; // Render daughter path-marks. Bool_t fRnrDaughters; // Render daughter path-marks.
Bool_t fRnrReferences; // Render track-reference path- marks. Bool_t fRnrReferences; // Render track-reference path- marks.
Bool_t fRnrDecay; // Render decay path-marks. Bool_t fRnrDecay; // Render decay path-marks.
Bool_t fRnrCluster2Ds; // Render 2D-clusters. Bool_t fRnrCluster2Ds; // Render 2D-clusters.
skipping to change at line 181 skipping to change at line 191
TMarker fFVAtt; // Marker attributes for fits v ertex. TMarker fFVAtt; // Marker attributes for fits v ertex.
// ---------------------------------------------------------------- // ----------------------------------------------------------------
// Propagation, state of current track // Propagation, state of current track
std::vector<TEveVector4> fPoints; // Calculated point. std::vector<TEveVector4> fPoints; // Calculated point.
TEveVector fV; // Start vertex. TEveVector fV; // Start vertex.
Helix_t fH; // Helix. Helix_t fH; // Helix.
void RebuildTracks(); void RebuildTracks();
void StepHelix(TEveVector4 &v, TEveVector &p, TEveVector4 &vOut, TEve Vector &pOut); void Step(TEveVector4 &v, TEveVector &p, TEveVector4 &vOut, TEveVecto r &pOut, Float_t fraction);
Bool_t HelixToVertex(TEveVector& v, TEveVector& p); Bool_t LoopToVertex(TEveVector& v, TEveVector& p);
void HelixToBounds(TEveVector& p); void LoopToBounds(TEveVector& p);
Bool_t LineToVertex (TEveVector& v); Bool_t LineToVertex (TEveVector& v);
void LineToBounds (TEveVector& p); void LineToBounds (TEveVector& p);
void OneStepRungeKutta(Double_t charge, Double_t step, Double_t* vect
, Double_t* vout);
Bool_t HelixIntersectPlane(const TEveVector& p, const TEveVector& point , const TEveVector& normal, Bool_t HelixIntersectPlane(const TEveVector& p, const TEveVector& point , const TEveVector& normal,
TEveVector& itsect); TEveVector& itsect);
Bool_t LineIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal, Bool_t LineIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal,
TEveVector& itsect); TEveVector& itsect);
Bool_t PointOverVertex(const TEveVector4& v0, const TEveVector4& v); Bool_t PointOverVertex(const TEveVector4& v0, const TEveVector4& v);
public: public:
TEveTrackPropagator(const Text_t* n="TEveTrackPropagator", const Text_t* t="", TEveTrackPropagator(const Text_t* n="TEveTrackPropagator", const Text_t* t="",
TEveMagField* field=0); TEveMagField* field=0);
virtual ~TEveTrackPropagator(); virtual ~TEveTrackPropagator();
virtual void OnZeroRefCount(); virtual void OnZeroRefCount();
virtual void CheckReferenceCount(const TEveException& eh="TEveElement::C heckReferenceCount "); virtual void CheckReferenceCount(const TEveException& eh="TEveElement::C heckReferenceCount ");
virtual void ElementChanged(Bool_t update_scenes=kTRUE, Bool_t redraw=kF ALSE); virtual void ElementChanged(Bool_t update_scenes=kTRUE, Bool_t redraw=kF ALSE);
// propagation // propagation
void InitTrack(TEveVector &v, TEveVector &p, Float_t beta, Int_t charg e); void InitTrack(TEveVector& v, Int_t charge);
void ResetTrack(); void ResetTrack();
void GoToBounds(TEveVector& p); void GoToBounds(TEveVector& p);
Bool_t GoToVertex(TEveVector& v, TEveVector& p); Bool_t GoToVertex(TEveVector& v, TEveVector& p);
Bool_t IntersectPlane(const TEveVector& p, const TEveVector& point, cons t TEveVector& normal, Bool_t IntersectPlane(const TEveVector& p, const TEveVector& point, cons t TEveVector& normal,
TEveVector& itsect); TEveVector& itsect);
void FillPointSet(TEvePointSet* ps) const; void FillPointSet(TEvePointSet* ps) const;
void SetStepper(EStepper_e s) { fStepper = s; }
void SetMagField(Float_t bX, Float_t bY, Float_t bZ); void SetMagField(Float_t bX, Float_t bY, Float_t bZ);
void SetMagField(Float_t b) { SetMagField(0.f, 0.f, b); } void SetMagField(Float_t b) { SetMagField(0.f, 0.f, b); }
void SetMagFieldObj(TEveMagField * x); void SetMagFieldObj(TEveMagField * x);
void SetMaxR(Float_t x); void SetMaxR(Float_t x);
void SetMaxZ(Float_t x); void SetMaxZ(Float_t x);
void SetMaxOrbs(Float_t x); void SetMaxOrbs(Float_t x);
void SetMinAng(Float_t x); void SetMinAng(Float_t x);
void SetDelta(Float_t x); void SetDelta(Float_t x);
skipping to change at line 242 skipping to change at line 256
void SetRnrCluster2Ds(Bool_t x); void SetRnrCluster2Ds(Bool_t x);
void SetFitDaughters(Bool_t x); void SetFitDaughters(Bool_t x);
void SetFitReferences(Bool_t x); void SetFitReferences(Bool_t x);
void SetFitDecay(Bool_t x); void SetFitDecay(Bool_t x);
void SetFitCluster2Ds(Bool_t x); void SetFitCluster2Ds(Bool_t x);
void SetRnrFV(Bool_t x) { fRnrFV = x; } void SetRnrFV(Bool_t x) { fRnrFV = x; }
TEveVector GetMagField(Float_t x, Float_t y, Float_t z) { return fMagFie ldObj->GetField(x, y, z); } TEveVector GetMagField(Float_t x, Float_t y, Float_t z) { return fMagFie ldObj->GetField(x, y, z); }
void PrintMagField(Float_t x, Float_t y, Float_t z) const; void PrintMagField(Float_t x, Float_t y, Float_t z) const;
EStepper_e GetStepper() const { return fStepper;}
Float_t GetMaxR() const { return fMaxR; } Float_t GetMaxR() const { return fMaxR; }
Float_t GetMaxZ() const { return fMaxZ; } Float_t GetMaxZ() const { return fMaxZ; }
Float_t GetMaxOrbs() const { return fMaxOrbs; } Float_t GetMaxOrbs() const { return fMaxOrbs; }
Float_t GetMinAng() const { return fH.fMinAng; } Float_t GetMinAng() const { return fH.fMinAng; }
Float_t GetDelta() const { return fH.fDelta; } Float_t GetDelta() const { return fH.fDelta; }
Bool_t GetEditPathMarks() const { return fEditPathMarks; } Bool_t GetEditPathMarks() const { return fEditPathMarks; }
Bool_t GetRnrDaughters() const { return fRnrDaughters; } Bool_t GetRnrDaughters() const { return fRnrDaughters; }
Bool_t GetRnrReferences() const { return fRnrReferences; } Bool_t GetRnrReferences() const { return fRnrReferences; }
Bool_t GetRnrDecay() const { return fRnrDecay; } Bool_t GetRnrDecay() const { return fRnrDecay; }
skipping to change at line 271 skipping to change at line 287
static Bool_t IsOutsideBounds(const TEveVector& point, Float_t maxRsqr, Float_t maxZ); static Bool_t IsOutsideBounds(const TEveVector& point, Float_t maxRsqr, Float_t maxZ);
static Float_t fgDefMagField; // Default value for constant solenoid magnetic field. static Float_t fgDefMagField; // Default value for constant solenoid magnetic field.
static const Float_t fgkB2C; // Constant for conversion of momentum to curvature. static const Float_t fgkB2C; // Constant for conversion of momentum to curvature.
static TEveTrackPropagator fgDefStyle; // Default track render-style. static TEveTrackPropagator fgDefStyle; // Default track render-style.
ClassDef(TEveTrackPropagator, 0); // Calculates path of a particle takin g into account special path-marks and imposed boundaries. ClassDef(TEveTrackPropagator, 0); // Calculates path of a particle takin g into account special path-marks and imposed boundaries.
}; };
//_________________________________________________________________________ _____
inline Bool_t TEveTrackPropagator::IsOutsideBounds(const TEveVector& point, inline Bool_t TEveTrackPropagator::IsOutsideBounds(const TEveVector& point,
Float_t maxRsq r, Float_t maxRsq r,
Float_t maxZ) Float_t maxZ)
{ {
// Return true if point% is outside of cylindrical bounds detrmined by // Return true if point% is outside of cylindrical bounds detrmined by
// square radius and z. // square radius and z.
return TMath::Abs(point.fZ) > maxZ || return TMath::Abs(point.fZ) > maxZ ||
point.fX*point.fX + point.fY*point.fY > maxRsqr; point.fX*point.fX + point.fY*point.fY > maxRsqr;
} }
//_________________________________________________________________________ _____
inline Bool_t TEveTrackPropagator::PointOverVertex(const TEveVector4 &v0, inline Bool_t TEveTrackPropagator::PointOverVertex(const TEveVector4 &v0,
const TEveVector4 &v) const TEveVector4 &v)
{ {
Float_t dotV = fH.fB.fX*(v0.fX-v.fX) Float_t dotV = fH.fB.fX*(v0.fX-v.fX)
+ fH.fB.fY*(v0.fY-v.fY) + fH.fB.fY*(v0.fY-v.fY)
+ fH.fB.fZ*(v0.fZ-v.fZ); + fH.fB.fZ*(v0.fZ-v.fZ);
return (fH.fPlDir > 0 && dotV < 0) || (fH.fPlDir < 0 && dotV >0); return (fH.fPlDir > 0 && dotV < 0) || (fH.fPlDir < 0 && dotV >0);
} }
 End of changes. 17 change blocks. 
9 lines changed or deleted 31 lines changed or added


 TEveViewer.h   TEveViewer.h 
// @(#)root/eve:$Id: TEveViewer.h 25245 2008-08-25 21:44:09Z matevz $ // @(#)root/eve:$Id: TEveViewer.h 26850 2008-12-11 21:45:13Z 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TEveViewer #ifndef ROOT_TEveViewer
#define ROOT_TEveViewer #define ROOT_TEveViewer
#include "TEveElement.h" #include "TEveElement.h"
#include "TEveWindow.h"
class TGWindow; class TGWindow;
class TGedEditor; class TGedEditor;
class TGLViewer; class TGLViewer;
class TGLPhysicalShape; class TGLPhysicalShape;
class TEveScene; class TEveScene;
/************************************************************************** ****/ /************************************************************************** ****/
// TEveViewer // TEveViewer
/************************************************************************** ****/ /************************************************************************** ****/
class TEveViewer : public TEveElementList class TEveViewer : public TEveWindowFrame
{ {
private: private:
TEveViewer(const TEveViewer&); // Not implemented TEveViewer(const TEveViewer&); // Not implemented
TEveViewer& operator=(const TEveViewer&); // Not implemented TEveViewer& operator=(const TEveViewer&); // Not implemented
protected: protected:
TGLViewer *fGLViewer; TGLViewer *fGLViewer;
TGFrame *fGLViewerFrame;
public: public:
TEveViewer(const Text_t* n="TEveViewer", const Text_t* t=""); TEveViewer(const Text_t* n="TEveViewer", const Text_t* t="");
virtual ~TEveViewer() {} virtual ~TEveViewer();
virtual void PreUndock();
virtual void PostDock();
TGLViewer* GetGLViewer() const { return fGLViewer; } TGLViewer* GetGLViewer() const { return fGLViewer; }
void SetGLViewer(TGLViewer* s); void SetGLViewer(TGLViewer* viewer, TGFrame* frame);
void SpawnGLViewer(const TGWindow* parent, TGedEditor* ged); void SpawnGLViewer(TGedEditor* ged);
void SpawnGLEmbeddedViewer(Int_t border=0);
void Redraw(Bool_t resetCameras=kFALSE); void Redraw(Bool_t resetCameras=kFALSE);
virtual void AddScene(TEveScene* scene); virtual void AddScene(TEveScene* scene);
virtual void RemoveElementLocal(TEveElement* el); virtual void RemoveElementLocal(TEveElement* el);
virtual void RemoveElementsLocal(); virtual void RemoveElementsLocal();
virtual TObject* GetEditorObject(const TEveException& eh="TEveViewer::Ge tEditorObject ") const; virtual TObject* GetEditorObject(const TEveException& eh="TEveViewer::Ge tEditorObject ") const;
virtual Bool_t HandleElementPaste(TEveElement* el); virtual Bool_t HandleElementPaste(TEveElement* el);
skipping to change at line 77 skipping to change at line 83
TEveViewerList(const TEveViewerList&); // Not implemented TEveViewerList(const TEveViewerList&); // Not implemented
TEveViewerList& operator=(const TEveViewerList&); // Not implemented TEveViewerList& operator=(const TEveViewerList&); // Not implemented
protected: protected:
Bool_t fShowTooltip; Bool_t fShowTooltip;
public: public:
TEveViewerList(const Text_t* n="TEveViewerList", const Text_t* t=""); TEveViewerList(const Text_t* n="TEveViewerList", const Text_t* t="");
virtual ~TEveViewerList() {} virtual ~TEveViewerList() {}
virtual void AddElement(TEveElement* el);
virtual void RemoveElementLocal(TEveElement* el);
virtual void RemoveElementsLocal();
// --------------------------------
virtual void Connect(); virtual void Connect();
void RepaintChangedViewers(Bool_t resetCameras, Bool_t dropLogicals); void RepaintChangedViewers(Bool_t resetCameras, Bool_t dropLogicals);
void RepaintAllViewers(Bool_t resetCameras, Bool_t dropLogicals); void RepaintAllViewers(Bool_t resetCameras, Bool_t dropLogicals);
void SceneDestructing(TEveScene* scene); void SceneDestructing(TEveScene* scene);
// -------------------------------- // --------------------------------
void OnMouseOver(TGLPhysicalShape* shape, UInt_t state); void OnMouseOver(TGLPhysicalShape* shape, UInt_t state);
 End of changes. 7 change blocks. 
5 lines changed or deleted 17 lines changed or added


 TFitEditor.h   TFitEditor.h 
// @(#)root/fitpanel:$Id: TFitEditor.h 26245 2008-11-17 16:32:49Z moneta $ // @(#)root/fitpanel:$Id: TFitEditor.h 26866 2008-12-12 10:50:07Z moneta $
// Author: Ilka Antcheva, Lorenzo Moneta, David Gonzalez Maline 10/08/2006 // Author: Ilka Antcheva, Lorenzo Moneta, David Gonzalez Maline 10/08/2006
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2006, 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 156 skipping to change at line 156
TGNumberEntryField *fTolerance; // contains tolerance set for mi nimization TGNumberEntryField *fTolerance; // contains tolerance set for mi nimization
TGNumberEntryField *fIterations; // contains maximum number of it erations TGNumberEntryField *fIterations; // contains maximum number of it erations
TGStatusBar *fStatusBar; // statusbar widget TGStatusBar *fStatusBar; // statusbar widget
static TFitEditor *fgFitDialog; // singleton fit panel static TFitEditor *fgFitDialog; // singleton fit panel
TGComboBox* BuildDataSetList(TGFrame *parent, Int_t id); TGComboBox* BuildDataSetList(TGFrame *parent, Int_t id);
TGComboBox* BuildMethodList(TGFrame *parent, Int_t id); TGComboBox* BuildMethodList(TGFrame *parent, Int_t id);
void GetRanges(ROOT::Fit::DataRange&); void GetRanges(ROOT::Fit::DataRange&);
TF1* GetFitFunction();
TList* GetFitObjectListOfFunctions(); TList* GetFitObjectListOfFunctions();
void DrawSelection(bool restore = false); void DrawSelection(bool restore = false);
Int_t CheckFunctionString(const char* str); Int_t CheckFunctionString(const char* str);
void CreateFunctionGroup(); void CreateFunctionGroup();
void CreateGeneralTab(); void CreateGeneralTab();
void CreateMinimizationTab(); void CreateMinimizationTab();
void MakeTitle(TGCompositeFrame *parent, const char *title); void MakeTitle(TGCompositeFrame *parent, const char *title);
TF1* HasFitFunction(); TF1* HasFitFunction();
void SetEditable(Bool_t); void SetEditable(Bool_t);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TFumiliMinimizer.h   TFumiliMinimizer.h 
// @(#)root/fumili:$Id: TFumiliMinimizer.h 25486 2008-09-22 12:43:03Z monet a $ // @(#)root/fumili:$Id: TFumiliMinimizer.h 26866 2008-12-12 10:50:07Z monet a $
// Author: L. Moneta Wed Oct 25 16:28:55 2006 // Author: L. Moneta Wed Oct 25 16:28:55 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class TFumiliMinimizer // Header file for class TFumiliMinimizer
skipping to change at line 94 skipping to change at line 94
#ifdef LATER #ifdef LATER
/// set lower limit variable (override if minimizer supports them ) /// set lower limit variable (override if minimizer supports them )
virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower ); virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower );
/// set upper limit variable (override if minimizer supports them ) /// set upper limit variable (override if minimizer supports them )
virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper ); virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper );
#endif #endif
/// set fixed variable (override if minimizer supports them ) /// set fixed variable (override if minimizer supports them )
virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */); virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */);
/// set the value of an existing variable
virtual bool SetVariableValue(unsigned int ivar, double val );
/// method to perform the minimization /// method to perform the minimization
virtual bool Minimize(); virtual bool Minimize();
/// return minimum function value /// return minimum function value
virtual double MinValue() const { return fMinVal; } virtual double MinValue() const { return fMinVal; }
/// return expected distance reached from the minimum /// return expected distance reached from the minimum
virtual double Edm() const { return fEdm; } virtual double Edm() const { return fEdm; }
/// return pointer to X values at the minimum /// return pointer to X values at the minimum
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TGHtml.h   TGHtml.h 
skipping to change at line 139 skipping to change at line 139
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Various data types. This code is designed to run on a modern cached // Various data types. This code is designed to run on a modern cached
// architecture where the CPU runs a lot faster than the memory bus. Hence // architecture where the CPU runs a lot faster than the memory bus. Hence
// we try to pack as much data into as small a space as possible so that it // we try to pack as much data into as small a space as possible so that it
// is more likely to fit in cache. The extra CPU instruction or two needed // is more likely to fit in cache. The extra CPU instruction or two needed
// to unpack the data is not normally an issue since we expect the speed of // to unpack the data is not normally an issue since we expect the speed of
// the memory bus to be the limiting factor. // the memory bus to be the limiting factor.
typedef unsigned char Html_u8; // 8-bit unsigned integer typedef unsigned char Html_u8_t; // 8-bit unsigned integer
typedef short Html_16; // 16-bit signed integer typedef short Html_16_t; // 16-bit signed integer
typedef unsigned short Html_u16; // 16-bit unsigned integer typedef unsigned short Html_u16_t; // 16-bit unsigned integer
typedef int Html_32; // 32-bit signed integer typedef int Html_32_t; // 32-bit signed integer
// An instance of the following structure is used to record style // An instance of the following structure is used to record style
// information on each Html element. // information on each Html element.
struct SHtmlStyle { struct SHtmlStyle_t {
unsigned int font : 6; // Font to use for display unsigned int fFont : 6; // Font to use for display
unsigned int color : 6; // Foreground color unsigned int fColor : 6; // Foreground color
signed int subscript : 4; // Positive for <sup>, negative for <sub> signed int fSubscript : 4; // Positive for <sup>, negative for <su
unsigned int align : 2; // Horizontal alignment b>
unsigned int bgcolor : 6; // Background color unsigned int fAlign : 2; // Horizontal alignment
unsigned int expbg : 1; // Set to 1 if bgcolor explicitely set unsigned int fBgcolor : 6; // Background color
unsigned int flags : 7; // the STY_ flags below unsigned int fExpbg : 1; // Set to 1 if bgcolor explicitely set
unsigned int fFlags : 7; // the STY_ flags below
}; };
// We allow 8 different font families: Normal, Bold, Italic and Bold-Italic // We allow 8 different font families: Normal, Bold, Italic and Bold-Italic
// in either variable or constant width. Within each family there can be up // in either variable or constant width. Within each family there can be up
// to 7 font sizes from 1 (the smallest) up to 7 (the largest). Hence, the // to 7 font sizes from 1 (the smallest) up to 7 (the largest). Hence, the
// widget can use a maximum of 56 fonts. The ".font" field of the style is // widget can use a maximum of 56 fonts. The ".font" field of the style is
// an integer between 0 and 55 which indicates which font to use. // an integer between 0 and 55 which indicates which font to use.
// HP: we further subdivide the .font field into two 3-bit subfields (size // HP: we further subdivide the .font field into two 3-bit subfields (size
// and family). That makes easier to manipulate the family field. // and family). That makes easier to manipulate the family field.
skipping to change at line 182 skipping to change at line 182
#define CWFont(X) ((X) | 32) #define CWFont(X) ((X) | 32)
#define FontSize(X) ((X) & 007) #define FontSize(X) ((X) & 007)
#define FontFamily(X) ((X) & 070) #define FontFamily(X) ((X) & 070)
#define FONT_Any -1 #define FONT_Any -1
#define FONT_Default 3 #define FONT_Default 3
#define FontSwitch(Size, Bold, Italic, Cw) \ #define FontSwitch(Size, Bold, Italic, Cw) \
((Size) | ((Bold+(Italic)*2+(Cw)*4) << 3)) ((Size) | ((Bold+(Italic)*2+(Cw)*4) << 3))
// Macros for manipulating the fontValid bitmap of an TGHtml object. // Macros for manipulating the fontValid bitmap of an TGHtml object.
#define FontIsValid(I) ((fontValid[(I)>>3] & (1<<((I)&3)))!=0) #define FontIsValid(I) ((fFontValid[(I)>>3] & (1<<((I)&3)))!=0)
#define FontSetValid(I) (fontValid[(I)>>3] |= (1<<((I)&3))) #define FontSetValid(I) (fFontValid[(I)>>3] |= (1<<((I)&3)))
#define FontClearValid(I) (fontValid[(I)>>3] &= ~(1<<((I)&3))) #define FontClearValid(I) (fFontValid[(I)>>3] &= ~(1<<((I)&3)))
// Information about available colors. // Information about available colors.
// //
// The widget will use at most N_COLOR colors. 4 of these colors are // The widget will use at most N_COLOR colors. 4 of these colors are
// predefined. The rest are user selectable by options to various markups. // predefined. The rest are user selectable by options to various markups.
// (Ex: <font color=red>) // (Ex: <font color=red>)
// //
// All colors are stored in the apColor[] array of the main widget object. // All colors are stored in the apColor[] array of the main widget object.
// The ".color" field of the SHtmlStyle is an integer between 0 and // The ".color" field of the SHtmlStyle_t is an integer between 0 and
// N_COLOR-1 which indicates which of these colors to use. // N_COLOR-1 which indicates which of these colors to use.
#define N_COLOR 32 // Total number of colors #define N_COLOR 32 // Total number of colors
#define COLOR_Normal 0 // Index for normal color (black) #define COLOR_Normal 0 // Index for normal color (black)
#define COLOR_Unvisited 1 // Index for unvisited hyperlinks #define COLOR_Unvisited 1 // Index for unvisited hyperlinks
#define COLOR_Visited 2 // Color for visited hyperlinks #define COLOR_Visited 2 // Color for visited hyperlinks
#define COLOR_Selection 3 // Background color for the selection #define COLOR_Selection 3 // Background color for the selection
#define COLOR_Background 4 // Default background color #define COLOR_Background 4 // Default background color
#define N_PREDEFINED_COLOR 5 // Number of predefined colors #define N_PREDEFINED_COLOR 5 // Number of predefined colors
// The "align" field of the style determines how text is justified // The "align" field of the style determines how text is justified
// horizontally. ALIGN_None means that the alignment is not specified. // horizontally. ALIGN_None means that the alignment is not specified.
// (It should probably default to ALIGN_Left in this case.) // (It should probably default to ALIGN_Left in this case.)
#define ALIGN_Left 1 #define ALIGN_Left 1
#define ALIGN_Right 2 #define ALIGN_Right 2
#define ALIGN_Center 3 #define ALIGN_Center 3
#define ALIGN_None 0 #define ALIGN_None 0
// Possible value of the "flags" field of SHtmlStyle are shown below. // Possible value of the "flags" field of SHtmlStyle_t are shown below.
// //
// STY_Preformatted If set, the current text occurred within // STY_Preformatted If set, the current text occurred within
// <pre>..</pre> // <pre>..</pre>
// //
// STY_StrikeThru Draw a solid line thru the middle of this text. // STY_StrikeThru Draw a solid line thru the middle of this text.
// //
// STY_Underline This text should drawn with an underline. // STY_Underline This text should drawn with an underline.
// //
// STY_NoBreak This text occurs within <nobr>..</nobr> // STY_NoBreak This text occurs within <nobr>..</nobr>
// //
skipping to change at line 250 skipping to change at line 250
#define STY_FontMask (STY_StrikeThru|STY_Underline) #define STY_FontMask (STY_StrikeThru|STY_Underline)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// The first thing done with input HTML text is to parse it into // The first thing done with input HTML text is to parse it into
// TGHtmlElements. All sizing and layout is done using these elements. // TGHtmlElements. All sizing and layout is done using these elements.
// Every element contains at least this much information: // Every element contains at least this much information:
class TGHtmlElement : public TObject { class TGHtmlElement : public TObject {
public: public:
TGHtmlElement(int etype = 0); TGHtmlElement(int etype = 0);
virtual int IsMarkup() const { return (type > Html_Block); } virtual int IsMarkup() const { return (fType > Html_Block); }
virtual const char *MarkupArg(const char * /*tag*/, const char * /*zDefau virtual const char *MarkupArg(const char * /*tag*/, const char * /*zDefa
lt*/) { return 0; } ult*/) { return 0; }
virtual int GetAlignment(int dflt) { return dflt; } virtual int GetAlignment(int dflt) { return dflt; }
virtual int GetOrderedListType(int dflt) { return dflt; } virtual int GetOrderedListType(int dflt) { return dflt; }
virtual int GetUnorderedListType(int dflt) { return dflt; } virtual int GetUnorderedListType(int dflt) { return dflt; }
virtual int GetVerticalAlignment(int dflt) { return dflt; } virtual int GetVerticalAlignment(int dflt) { return dflt; }
public: public:
TGHtmlElement *pNext; // Next input token in a list of them all TGHtmlElement *fPNext; // Next input token in a list of them all
TGHtmlElement *pPrev; // Previous token in a list of them all TGHtmlElement *fPPrev; // Previous token in a list of them all
SHtmlStyle style; // The rendering style for this token SHtmlStyle_t fStyle; // The rendering style for this token
Html_u8 type; // The token type. Html_u8_t fType; // The token type.
Html_u8 flags; // The HTML_ flags below Html_u8_t fFlags; // The HTML_ flags below
Html_16 count; // Various uses, depending on "type" Html_16_t fCount; // Various uses, depending on "type"
int id; // Unique identifier int fElId; // Unique identifier
int offs; // Offset within zText int fOffs; // Offset within zText
}; };
// Bitmasks for the "flags" field of the TGHtmlElement // Bitmasks for the "flags" field of the TGHtmlElement
#define HTML_Visible 0x01 // This element produces "ink" #define HTML_Visible 0x01 // This element produces "ink"
#define HTML_NewLine 0x02 // type == Html_Space and ends with newline #define HTML_NewLine 0x02 // type == Html_Space and ends with newline
#define HTML_Selected 0x04 // Some or all of this Html_Block is selected #define HTML_Selected 0x04 // Some or all of this Html_Block is selected
// Used by Html_Block elements only. // Used by Html_Block elements only.
// Each text element holds additional information as shown here. Notice tha t // Each text element holds additional information as shown here. Notice tha t
// extra space is allocated so that zText[] will be large enough to hold th e // extra space is allocated so that zText[] will be large enough to hold th e
// complete text of the element. X and y coordinates are relative to the // complete text of the element. X and y coordinates are relative to the
// virtual canvas. The y coordinate refers to the baseline. // virtual canvas. The y coordinate refers to the baseline.
class TGHtmlTextElement : public TGHtmlElement { class TGHtmlTextElement : public TGHtmlElement {
public: public:
TGHtmlTextElement(int size); TGHtmlTextElement(int size);
virtual ~TGHtmlTextElement(); virtual ~TGHtmlTextElement();
Html_32 y; // y coordinate where text should be rendered Html_32_t fY; // y coordinate where text should be ren
Html_16 x; // x coordinate where text should be rendered dered
Html_16 w; // width of this token in pixels Html_16_t fX; // x coordinate where text should be ren
Html_u8 ascent; // height above the baseline dered
Html_u8 descent; // depth below the baseline Html_16_t fW; // width of this token in pixels
Html_u8 spaceWidth; // Width of one space in the current font Html_u8_t fAscent; // height above the baseline
char *zText; // Text for this element. Null terminated Html_u8_t fDescent; // depth below the baseline
Html_u8_t fSpaceWidth; // Width of one space in the current fon
t
char *fZText; // Text for this element. Null terminate
d
}; };
// Each space element is represented like this: // Each space element is represented like this:
class TGHtmlSpaceElement : public TGHtmlElement { class TGHtmlSpaceElement : public TGHtmlElement {
public: public:
TGHtmlSpaceElement() : TGHtmlElement(Html_Space) {} TGHtmlSpaceElement() : TGHtmlElement(Html_Space) {}
Html_16 w; // Width of a single space in current font Html_16_t fW; // Width of a single space in current fon
Html_u8 ascent; // height above the baseline t
Html_u8 descent; // depth below the baseline Html_u8_t fAscent; // height above the baseline
Html_u8_t fDescent; // depth below the baseline
}; };
// Most markup uses this class. Some markup extends this class with // Most markup uses this class. Some markup extends this class with
// additional information, but most use it as is, at the very least. // additional information, but most use it as is, at the very least.
// //
// If the markup doesn't have arguments (the "count" field of // If the markup doesn't have arguments (the "count" field of
// TGHtmlElement is 0) then the extra "argv" field of this class // TGHtmlElement is 0) then the extra "argv" field of this class
// is not allocated and should not be used. // is not allocated and should not be used.
class TGHtmlMarkupElement : public TGHtmlElement { class TGHtmlMarkupElement : public TGHtmlElement {
public: public:
TGHtmlMarkupElement(int type, int argc, int arglen[], char *argv[]); TGHtmlMarkupElement(int type, int argc, int arglen[], char *argv[]);
virtual ~TGHtmlMarkupElement(); virtual ~TGHtmlMarkupElement();
virtual const char *MarkupArg(const char *tag, const char *zDefault); virtual const char *MarkupArg(const char *tag, const char *zDefault);
virtual int GetAlignment(int dflt); virtual int GetAlignment(int dflt);
virtual int GetOrderedListType(int dflt); virtual int GetOrderedListType(int dflt);
virtual int GetUnorderedListType(int dflt); virtual int GetUnorderedListType(int dflt);
virtual int GetVerticalAlignment(int dflt); virtual int GetVerticalAlignment(int dflt);
public://protected: public://protected:
char **argv; char **fArgv;
}; };
// The maximum number of columns allowed in a table. Any columns beyond // The maximum number of columns allowed in a table. Any columns beyond
// this number are ignored. // this number are ignored.
#define HTML_MAX_COLUMNS 40 #define HTML_MAX_COLUMNS 40
// This class is used for each <table> element. // This class is used for each <table> element.
// //
// In the minW[] and maxW[] arrays, the [0] element is the overall // In the minW[] and maxW[] arrays, the [0] element is the overall
// minimum and maximum width, including cell padding, spacing and // minimum and maximum width, including cell padding, spacing and
// the "hspace". All other elements are the minimum and maximum // the "hspace". All other elements are the minimum and maximum
// width for the contents of individual cells without any spacing or // width for the contents of individual cells without any spacing or
// padding. // padding.
class TGHtmlTable : public TGHtmlMarkupElement { class TGHtmlTable : public TGHtmlMarkupElement {
public: public:
TGHtmlTable(int type, int argc, int arglen[], char *argv[]); TGHtmlTable(int type, int argc, int arglen[], char *argv[]);
~TGHtmlTable(); ~TGHtmlTable();
public: public:
Html_u8 borderWidth; // Width of the border Html_u8_t fBorderWidth; // Width of the border
Html_u8 nCol; // Number of columns Html_u8_t fNCol; // Number of columns
Html_u16 nRow; // Number of rows Html_u16_t fNRow; // Number of rows
Html_32 y; // top edge of table border Html_32_t fY; // top edge of table border
Html_32 h; // height of the table border Html_32_t fH; // height of the table border
Html_16 x; // left edge of table border Html_16_t fX; // left edge of table border
Html_16 w; // width of the table border Html_16_t fW; // width of the table border
int minW[HTML_MAX_COLUMNS+1]; // minimum width of each column int fMinW[HTML_MAX_COLUMNS+1]; // minimum width of each colum
int maxW[HTML_MAX_COLUMNS+1]; // maximum width of each column n
TGHtmlElement *pEnd; // Pointer to the end tag element int fMaxW[HTML_MAX_COLUMNS+1]; // maximum width of each colum
TImage *bgImage; // A background for the entire table n
int hasbg; // 1 if a table above has bgImage TGHtmlElement *fPEnd; // Pointer to the end tag elem
ent
TImage *fBgImage; // A background for the entire
table
int fHasbg; // 1 if a table above has bgIm
age
}; };
// Each <td> or <th> markup is represented by an instance of the // Each <td> or <th> markup is represented by an instance of the
// following class. // following class.
// //
// Drawing for a cell is a sunken 3D border with the border width given // Drawing for a cell is a sunken 3D border with the border width given
// by the borderWidth field in the associated <table> object. // by the borderWidth field in the associated <table> object.
class TGHtmlCell : public TGHtmlMarkupElement { class TGHtmlCell : public TGHtmlMarkupElement {
public: public:
TGHtmlCell(int type, int argc, int arglen[], char *argv[]); TGHtmlCell(int type, int argc, int arglen[], char *argv[]);
~TGHtmlCell(); ~TGHtmlCell();
public: public:
Html_16 rowspan; // Number of rows spanned by this cell Html_16_t fRowspan; // Number of rows spanned by this cell
Html_16 colspan; // Number of columns spanned by this cell Html_16_t fColspan; // Number of columns spanned by this cell
Html_16 x; // X coordinate of left edge of border Html_16_t fX; // X coordinate of left edge of border
Html_16 w; // Width of the border Html_16_t fW; // Width of the border
Html_32 y; // Y coordinate of top of border indentation Html_32_t fY; // Y coordinate of top of border indentati
Html_32 h; // Height of the border on
TGHtmlTable *pTable; // Pointer back to the <table> Html_32_t fH; // Height of the border
TGHtmlElement *pRow; // Pointer back to the <tr> TGHtmlTable *fPTable; // Pointer back to the <table>
TGHtmlElement *pEnd; // Element that ends this cell TGHtmlElement *fPRow; // Pointer back to the <tr>
TImage *bgImage; // Background for the cell TGHtmlElement *fPEnd; // Element that ends this cell
TImage *fBgImage; // Background for the cell
}; };
// This class is used for </table>, </td>, <tr>, </tr> and </th> elements. // This class is used for </table>, </td>, <tr>, </tr> and </th> elements.
// It points back to the <table> element that began the table. It is also // It points back to the <table> element that began the table. It is also
// used by </a> to point back to the original <a>. I'll probably think of // used by </a> to point back to the original <a>. I'll probably think of
// other uses before all is said and done... // other uses before all is said and done...
class TGHtmlRef : public TGHtmlMarkupElement { class TGHtmlRef : public TGHtmlMarkupElement {
public: public:
TGHtmlRef(int type, int argc, int arglen[], char *argv[]); TGHtmlRef(int type, int argc, int arglen[], char *argv[]);
~TGHtmlRef(); ~TGHtmlRef();
public: public:
TGHtmlElement *pOther; // Pointer to some other Html element TGHtmlElement *fPOther; // Pointer to some other Html element
TImage *bgImage; // A background for the entire row TImage *fBgImage; // A background for the entire row
}; };
// An instance of the following class is used to represent // An instance of the following class is used to represent
// each <LI> markup. // each <LI> markup.
class TGHtmlLi : public TGHtmlMarkupElement { class TGHtmlLi : public TGHtmlMarkupElement {
public: public:
TGHtmlLi(int type, int argc, int arglen[], char *argv[]); TGHtmlLi(int type, int argc, int arglen[], char *argv[]);
public: public:
Html_u8 ltype; // What type of list is this? Html_u8_t fLtype; // What type of list is this?
Html_u8 ascent; // height above the baseline Html_u8_t fAscent; // height above the baseline
Html_u8 descent; // depth below the baseline Html_u8_t fDescent; // depth below the baseline
Html_16 cnt; // Value for this element (if inside <OL>) Html_16_t fCnt; // Value for this element (if inside <OL>)
Html_16 x; // X coordinate of the bullet Html_16_t fX; // X coordinate of the bullet
Html_32 y; // Y coordinate of the bullet Html_32_t fY; // Y coordinate of the bullet
}; };
// The ltype field of an TGHtmlLi or TGHtmlListStart object can take on // The ltype field of an TGHtmlLi or TGHtmlListStart object can take on
// any of the following values to indicate what type of bullet to draw. // any of the following values to indicate what type of bullet to draw.
// The value in TGHtmlLi will take precedence over the value in // The value in TGHtmlLi will take precedence over the value in
// TGHtmlListStart if the two values differ. // TGHtmlListStart if the two values differ.
#define LI_TYPE_Undefined 0 // If in TGHtmlLi, use the TGHtmlListStart value #define LI_TYPE_Undefined 0 // If in TGHtmlLi, use the TGHtmlListStart value
#define LI_TYPE_Bullet1 1 // A solid circle #define LI_TYPE_Bullet1 1 // A solid circle
#define LI_TYPE_Bullet2 2 // A hollow circle #define LI_TYPE_Bullet2 2 // A hollow circle
skipping to change at line 436 skipping to change at line 436
#define LI_TYPE_Enum_1 4 // Arabic numbers #define LI_TYPE_Enum_1 4 // Arabic numbers
#define LI_TYPE_Enum_A 5 // A, B, C, ... #define LI_TYPE_Enum_A 5 // A, B, C, ...
#define LI_TYPE_Enum_a 6 // a, b, c, ... #define LI_TYPE_Enum_a 6 // a, b, c, ...
#define LI_TYPE_Enum_I 7 // Capitalized roman numerals #define LI_TYPE_Enum_I 7 // Capitalized roman numerals
#define LI_TYPE_Enum_i 8 // Lower-case roman numerals #define LI_TYPE_Enum_i 8 // Lower-case roman numerals
// An instance of this class is used for <UL> or <OL> markup. // An instance of this class is used for <UL> or <OL> markup.
class TGHtmlListStart : public TGHtmlMarkupElement { class TGHtmlListStart : public TGHtmlMarkupElement {
public: public:
TGHtmlListStart(int type, int argc, int arglen[], char *argv[]); TGHtmlListStart(int type, int argc, int arglen[], char *argv[]);
public: public:
Html_u8 ltype; // One of the LI_TYPE_ defines above Html_u8_t fLtype; // One of the LI_TYPE_ defines above
Html_u8 compact; // True if the COMPACT flag is present Html_u8_t fCompact; // True if the COMPACT flag is present
Html_u16 cnt; // Next value for <OL> Html_u16_t fCnt; // Next value for <OL>
Html_u16 width; // How much space to allow for indentation Html_u16_t fWidth; // How much space to allow for indentation
TGHtmlListStart *lPrev; // Next higher level list, or NULL TGHtmlListStart *fLPrev; // Next higher level list, or NULL
}; };
#define HTML_MAP_RECT 1 #define HTML_MAP_RECT 1
#define HTML_MAP_CIRCLE 2 #define HTML_MAP_CIRCLE 2
#define HTML_MAP_POLY 3 #define HTML_MAP_POLY 3
class TGHtmlMapArea : public TGHtmlMarkupElement { class TGHtmlMapArea : public TGHtmlMarkupElement {
public: public:
TGHtmlMapArea(int type, int argc, int arglen[], char *argv[]); TGHtmlMapArea(int type, int argc, int arglen[], char *argv[]);
public: public:
int mType; int fMType;
int *coords; int *fCoords;
int num; int fNum;
}; };
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Structure to chain extension data onto. // Structure to chain extension data onto.
struct SHtmlExtensions { struct SHtmlExtensions_t {
void *exts; void *fExts;
int typ; int fTyp;
int flags; int fFlags;
SHtmlExtensions *next; SHtmlExtensions_t *fNext;
}; };
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Information about each image on the HTML widget is held in an instance // Information about each image on the HTML widget is held in an instance
// of the following class. All images are held on a list attached to the // of the following class. All images are held on a list attached to the
// main widget object. // main widget object.
// //
// This class is NOT an element. The <IMG> element is represented by an // This class is NOT an element. The <IMG> element is represented by an
// TGHtmlImageMarkup object below. There is one TGHtmlImageMarkup for each // TGHtmlImageMarkup object below. There is one TGHtmlImageMarkup for each
// <IMG> in the source HTML. There is one of these objects for each unique // <IMG> in the source HTML. There is one of these objects for each unique
// image loaded. (If two <IMG> specify the same image, there are still two // image loaded. (If two <IMG> specify the same image, there are still two
// TGHtmlImageMarkup objects but only one TGHtmlImage object that is shared // TGHtmlImageMarkup objects but only one TGHtmlImage object that is shared
// between them.) // between them.)
class TGHtml; class TGHtml;
class TGHtmlImageMarkup; class TGHtmlImageMarkup;
class TGHtmlImage : public TObject { class TGHtmlImage : public TObject {
public: public:
TGHtmlImage(TGHtml *htm, const char *url, const char *width, TGHtmlImage(TGHtml *htm, const char *url, const char *width,
const char *height); const char *height);
virtual ~TGHtmlImage(); virtual ~TGHtmlImage();
public: public:
TGHtml *_html; // The owner of this image TGHtml *fHtml; // The owner of this image
TImage *image; // The image token TImage *fImage; // The image token
Html_32 w; // Requested width of this image (0 if none) Html_32_t fW; // Requested width of this image
Html_32 h; // Requested height of this image (0 if none) (0 if none)
char *zUrl; // The URL for this image. Html_32_t fH; // Requested height of this image
char *zWidth, *zHeight; // Width and height in the <img> markup. (0 if none)
TGHtmlImage *pNext; // Next image on the list char *fZUrl; // The URL for this image.
TGHtmlImageMarkup *pList; // List of all <IMG> markups that use this char *fZWidth, *fZHeight; // Width and height in the <img>
// same image markup.
TTimer *timer; // for animations TGHtmlImage *fPNext; // Next image on the list
TGHtmlImageMarkup *fPList; // List of all <IMG> markups that
use this
// same image
TTimer *fTimer; // for animations
}; };
// Each <img> markup is represented by an instance of the following // Each <img> markup is represented by an instance of the following
// class. // class.
// //
// If pImage == 0, then we use the alternative text in zAlt. // If pImage == 0, then we use the alternative text in zAlt.
class TGHtmlImageMarkup : public TGHtmlMarkupElement { class TGHtmlImageMarkup : public TGHtmlMarkupElement {
public: public:
TGHtmlImageMarkup(int type, int argc, int arglen[], char *argv[]); TGHtmlImageMarkup(int type, int argc, int arglen[], char *argv[]);
public: public:
Html_u8 align; // Alignment. See IMAGE_ALIGN_ defines below Html_u8_t fAlign; // Alignment. See IMAGE_ALIGN_ defin
Html_u8 textAscent; // Ascent of text font in force at the <IMG> es below
Html_u8 textDescent; // Descent of text font in force at the <IMG> Html_u8_t fTextAscent; // Ascent of text font in force at t
Html_u8 redrawNeeded; // Need to redraw this image because the image he <IMG>
// content changed. Html_u8_t fTextDescent; // Descent of text font in force at
Html_16 h; // Actual height of the image the <IMG>
Html_16 w; // Actual width of the image Html_u8_t fRedrawNeeded; // Need to redraw this image because
Html_16 ascent; // How far image extends above "y" the image
Html_16 descent; // How far image extends below "y" // content changed.
Html_16 x; // X coordinate of left edge of the image Html_16_t fH; // Actual height of the image
Html_32 y; // Y coordinate of image baseline Html_16_t fW; // Actual width of the image
const char *zAlt; // Alternative text Html_16_t fAscent; // How far image extends above "y"
TGHtmlImage *pImage; // Corresponding TGHtmlImage object Html_16_t fDescent; // How far image extends below "y"
TGHtmlElement *pMap; // usemap Html_16_t fX; // X coordinate of left edge of the
TGHtmlImageMarkup *iNext; // Next markup using the same TGHtmlImage objec image
t Html_32_t fY; // Y coordinate of image baseline
const char *fZAlt; // Alternative text
TGHtmlImage *fPImage; // Corresponding TGHtmlImage object
TGHtmlElement *fPMap; // usemap
TGHtmlImageMarkup *fINext; // Next markup using the same TGHtml
Image object
}; };
// Allowed alignments for images. These represent the allowed arguments // Allowed alignments for images. These represent the allowed arguments
// to the "align=" field of the <IMG> markup. // to the "align=" field of the <IMG> markup.
#define IMAGE_ALIGN_Bottom 0 #define IMAGE_ALIGN_Bottom 0
#define IMAGE_ALIGN_Middle 1 #define IMAGE_ALIGN_Middle 1
#define IMAGE_ALIGN_Top 2 #define IMAGE_ALIGN_Top 2
#define IMAGE_ALIGN_TextTop 3 #define IMAGE_ALIGN_TextTop 3
#define IMAGE_ALIGN_AbsMiddle 4 #define IMAGE_ALIGN_AbsMiddle 4
skipping to change at line 558 skipping to change at line 558
// (later...) We also use this for the <APPLET> markup. That way, // (later...) We also use this for the <APPLET> markup. That way,
// the window we create for an <APPLET> responds to the TGHtml::MapControls () // the window we create for an <APPLET> responds to the TGHtml::MapControls ()
// and TGHtml::UnmapControls() function calls. For an <APPLET>, the // and TGHtml::UnmapControls() function calls. For an <APPLET>, the
// pForm field is NULL. (Later still...) <EMBED> works just like // pForm field is NULL. (Later still...) <EMBED> works just like
// <APPLET> so it uses this class too. // <APPLET> so it uses this class too.
class TGHtmlForm; class TGHtmlForm;
class TGHtmlInput : public TGHtmlMarkupElement { class TGHtmlInput : public TGHtmlMarkupElement {
public: public:
TGHtmlInput(int type, int argc, int arglen[], char *argv[]); TGHtmlInput(int type, int argc, int arglen[], char *argv[]);
void Empty(); void Empty();
public: public:
TGHtmlForm *pForm; // The <FORM> to which this belongs TGHtmlForm *fPForm; // The <FORM> to which this belongs
TGHtmlInput *iNext; // Next element in a list of all input elements TGHtmlInput *fINext; // Next element in a list of all input ele
TGFrame *frame; // The xclass window that implements this contro ments
l TGFrame *fFrame; // The xclass window that implements this
TGHtml *html; // The HTML widget this control is attached to control
TGHtmlElement *pEnd; // End tag for <TEXTAREA>, etc. TGHtml *fHtml; // The HTML widget this control is attache
Html_u16 inpId; // Unique id for this element d to
Html_u16 subId; // For radio - an id, for select - option count TGHtmlElement *fPEnd; // End tag for <TEXTAREA>, etc.
Html_32 y; // Baseline for this input element Html_u16_t fInpId; // Unique id for this element
Html_u16 x; // Left edge Html_u16_t fSubId; // For radio - an id, for select - option
Html_u16 w, h; // Width and height of this control count
Html_u8 padLeft; // Extra padding on left side of the control Html_32_t fY; // Baseline for this input element
Html_u8 align; // One of the IMAGE_ALIGN_xxx types Html_u16_t fX; // Left edge
Html_u8 textAscent; // Ascent for the current font Html_u16_t fW, fH; // Width and height of this control
Html_u8 textDescent; // descent for the current font Html_u8_t fPadLeft; // Extra padding on left side of the contr
Html_u8 itype; // What type of input is this? ol
Html_u8 sized; // True if this input has been sized already Html_u8_t fAlign; // One of the IMAGE_ALIGN_xxx types
Html_u16 cnt; // Used to derive widget name. 0 if no widget Html_u8_t fTextAscent; // Ascent for the current font
Html_u8_t fTextDescent; // descent for the current font
Html_u8_t fItype; // What type of input is this?
Html_u8_t fSized; // True if this input has been sized alrea
dy
Html_u16_t fCnt; // Used to derive widget name. 0 if no wid
get
}; };
// An input control can be one of the following types. See the // An input control can be one of the following types. See the
// comment about <APPLET> on the TGHtmlInput class insight into // comment about <APPLET> on the TGHtmlInput class insight into
// INPUT_TYPE_Applet. // INPUT_TYPE_Applet.
#define INPUT_TYPE_Unknown 0 #define INPUT_TYPE_Unknown 0
#define INPUT_TYPE_Checkbox 1 #define INPUT_TYPE_Checkbox 1
#define INPUT_TYPE_File 2 #define INPUT_TYPE_File 2
#define INPUT_TYPE_Hidden 3 #define INPUT_TYPE_Hidden 3
skipping to change at line 608 skipping to change at line 608
#define INPUT_TYPE_Applet 12 #define INPUT_TYPE_Applet 12
#define INPUT_TYPE_Button 13 #define INPUT_TYPE_Button 13
// There can be multiple <FORM> entries on a single HTML page. // There can be multiple <FORM> entries on a single HTML page.
// Each one must be given a unique number for identification purposes, // Each one must be given a unique number for identification purposes,
// and so we can generate unique state variable names for radiobuttons, // and so we can generate unique state variable names for radiobuttons,
// checkbuttons, and entry boxes. // checkbuttons, and entry boxes.
class TGHtmlForm : public TGHtmlMarkupElement { class TGHtmlForm : public TGHtmlMarkupElement {
public: public:
TGHtmlForm(int type, int argc, int arglen[], char *argv[]); TGHtmlForm(int type, int argc, int arglen[], char *argv[]);
public: public:
Html_u16 formId; // Unique number assigned to this form Html_u16_t fFormId; // Unique number assigned to this form
unsigned int elements; // Number of elements unsigned int fElements; // Number of elements
unsigned int hasctl; // Has controls unsigned int fHasctl; // Has controls
TGHtmlElement *pFirst; // First form element TGHtmlElement *fPFirst; // First form element
TGHtmlElement *pEnd; // Pointer to end tag element TGHtmlElement *fPEnd; // Pointer to end tag element
}; };
// Information used by a <HR> markup // Information used by a <HR> markup
class TGHtmlHr : public TGHtmlMarkupElement { class TGHtmlHr : public TGHtmlMarkupElement {
public: public:
TGHtmlHr(int type, int argc, int arglen[], char *argv[]); TGHtmlHr(int type, int argc, int arglen[], char *argv[]);
public: public:
Html_32 y; // Baseline for this input element Html_32_t fY; // Baseline for this input element
Html_u16 x; // Left edge Html_u16_t fX; // Left edge
Html_u16 w, h; // Width and height of this control Html_u16_t fW, fH; // Width and height of this control
Html_u8 is3D; // Is it drawn 3D? Html_u8_t fIs3D; // Is it drawn 3D?
}; };
// Information used by a <A> markup // Information used by a <A> markup
class TGHtmlAnchor : public TGHtmlMarkupElement { class TGHtmlAnchor : public TGHtmlMarkupElement {
public: public:
TGHtmlAnchor(int type, int argc, int arglen[], char *argv[]); TGHtmlAnchor(int type, int argc, int arglen[], char *argv[]);
public: public:
Html_32 y; // Top edge for this element Html_32_t fY; // Top edge for this element
}; };
// Information about the <SCRIPT> markup. The parser treats <SCRIPT> // Information about the <SCRIPT> markup. The parser treats <SCRIPT>
// specially. All text between <SCRIPT> and </SCRIPT> is captured and // specially. All text between <SCRIPT> and </SCRIPT> is captured and
// is indexed to by the nStart field of this class. // is indexed to by the nStart field of this class.
// //
// The nStart field indexs to a spot in the zText field of the TGHtml objec t. // The nStart field indexs to a spot in the zText field of the TGHtml objec t.
// The nScript field determines how long the script is. // The nScript field determines how long the script is.
class TGHtmlScript : public TGHtmlMarkupElement { class TGHtmlScript : public TGHtmlMarkupElement {
public: public:
TGHtmlScript(int type, int argc, int arglen[], char *argv[]); TGHtmlScript(int type, int argc, int arglen[], char *argv[]);
public: public:
int nStart; // Start of the script (index into TGHtml::zText int fNStart; // Start of the script (index into TGHtml::zText)
) int fNScript; // Number of characters of text in zText holding
int nScript; // Number of characters of text in zText holding // the complete text of this script
// the complete text of this script
}; };
// A block is a single unit of display information. This can be one or more // A block is a single unit of display information. This can be one or more
// text elements, or the border of table, or an image, etc. // text elements, or the border of table, or an image, etc.
// //
// Blocks are used to improve display speed and to improve the speed of // Blocks are used to improve display speed and to improve the speed of
// linear searchs through the token list. A single block will typically // linear searchs through the token list. A single block will typically
// contain enough information to display a dozen or more Text and Space // contain enough information to display a dozen or more Text and Space
// elements all with a single call to OXFont::DrawChars(). The blocks are // elements all with a single call to OXFont::DrawChars(). The blocks are
// linked together on their own list, so we can search them much faster tha n // linked together on their own list, so we can search them much faster tha n
// elements (since there are fewer of them.) // elements (since there are fewer of them.)
// //
// Of course, you can construct pathological HTML that has as many Blocks a s // Of course, you can construct pathological HTML that has as many Blocks a s
// it has normal tokens. But you haven't lost anything. Using blocks just // it has normal tokens. But you haven't lost anything. Using blocks just
// speeds things up in the common case. // speeds things up in the common case.
// //
// Much of the information needed for display is held in the original // Much of the information needed for display is held in the original
// TGHtmlElement objects. "pNext" points to the first object in the list // TGHtmlElement objects. "fPNext" points to the first object in the list
// which can be used to find the "style" "x" and "y". // which can be used to find the "style" "x" and "y".
// //
// If n is zero, then "pNext" might point to a special TGHtmlElement // If n is zero, then "fPNext" might point to a special TGHtmlElement
// that defines some other kind of drawing, like <LI> or <IMG> or <INPUT>. // that defines some other kind of drawing, like <LI> or <IMG> or <INPUT>.
class TGHtmlBlock : public TGHtmlElement { class TGHtmlBlock : public TGHtmlElement {
public: public:
TGHtmlBlock(); TGHtmlBlock();
virtual ~TGHtmlBlock(); virtual ~TGHtmlBlock();
public: public:
char *z; // Space to hold text when n > 0 char *fZ; // Space to hold text when n > 0
int top, bottom; // Extremes of y coordinates int fTop, fBottom; // Extremes of y coordinates
Html_u16 left, right; // Left and right boundry of this object Html_u16_t fLeft, fRight; // Left and right boundry of this objec
Html_u16 n; // Number of characters in z[] t
TGHtmlBlock *bPrev, *bNext; // Linked list of all Blocks Html_u16_t fN; // Number of characters in z[]
TGHtmlBlock *fBPrev, *fBNext; // Linked list of all Blocks
}; };
// A stack of these structures is used to keep track of nested font and // A stack of these structures is used to keep track of nested font and
// style changes. This allows us to easily revert to the previous style // style changes. This allows us to easily revert to the previous style
// when we encounter and end-tag like </em> or </h3>. // when we encounter and end-tag like </em> or </h3>.
// //
// This stack is used to keep track of the current style while walking // This stack is used to keep track of the current style while walking
// the list of elements. After all elements have been assigned a style, // the list of elements. After all elements have been assigned a style,
// the information in this stack is no longer used. // the information in this stack is no longer used.
struct SHtmlStyleStack { struct SHtmlStyleStack_t {
SHtmlStyleStack *pNext; // Next style on the stack SHtmlStyleStack_t *fPNext; // Next style on the stack
int type; // A markup that ends this style. Ex: Html_EndEM int fType; // A markup that ends this style. Ex: Html_
SHtmlStyle style; // The currently active style. EndEM
SHtmlStyle_t fStyle; // The currently active style.
}; };
// A stack of the following structures is used to remember the // A stack of the following structures is used to remember the
// left and right margins within a layout context. // left and right margins within a layout context.
struct SHtmlMargin { struct SHtmlMargin_t {
int indent; // Size of the current margin int fIndent; // Size of the current margin
int bottom; // Y value at which this margin expires int fBottom; // Y value at which this margin expires
int tag; // Markup that will cancel this margin int fTag; // Markup that will cancel this margin
SHtmlMargin *pNext; // Previous margin SHtmlMargin_t *fPNext; // Previous margin
}; };
// How much space (in pixels) used for a single level of indentation due // How much space (in pixels) used for a single level of indentation due
// to a <UL> or <DL> or <BLOCKQUOTE>, etc. // to a <UL> or <DL> or <BLOCKQUOTE>, etc.
#define HTML_INDENT 36 #define HTML_INDENT 36
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// A layout context holds all state information used by the layout engine. // A layout context holds all state information used by the layout engine.
class TGHtmlLayoutContext : public TObject { class TGHtmlLayoutContext : public TObject {
public: public:
TGHtmlLayoutContext(); TGHtmlLayoutContext();
void LayoutBlock(); void LayoutBlock();
void Reset(); void Reset();
void PopIndent(); void PopIndent();
void PushIndent(); void PushIndent();
protected: protected:
void PushMargin(SHtmlMargin **ppMargin, int indent, int bottom, int tag); void PushMargin(SHtmlMargin_t **ppMargin, int indent, int bottom, int ta
void PopOneMargin(SHtmlMargin **ppMargin); g);
void PopMargin(SHtmlMargin **ppMargin, int tag); void PopOneMargin(SHtmlMargin_t **ppMargin);
void PopExpiredMargins(SHtmlMargin **ppMarginStack, int y); void PopMargin(SHtmlMargin_t **ppMargin, int tag);
void ClearMarginStack(SHtmlMargin **ppMargin); void PopExpiredMargins(SHtmlMargin_t **ppMarginStack, int y);
void ClearMarginStack(SHtmlMargin_t **ppMargin);
TGHtmlElement *GetLine(TGHtmlElement *pStart, TGHtmlElement *pEnd,
int width, int minX, int *actualWidth); TGHtmlElement *GetLine(TGHtmlElement *pStart, TGHtmlElement *pEnd,
int width, int minX, int *actualWidth);
void FixAnchors(TGHtmlElement *p, TGHtmlElement *pEnd, int y);
int FixLine(TGHtmlElement *pStart, TGHtmlElement *pEnd, void FixAnchors(TGHtmlElement *p, TGHtmlElement *pEnd, int y);
int bottom, int width, int actualWidth, int leftMargin, int FixLine(TGHtmlElement *pStart, TGHtmlElement *pEnd,
int *maxX); int bottom, int width, int actualWidth, int leftMargin,
void Paragraph(TGHtmlElement *p); int *maxX);
void ComputeMargins(int *pX, int *pY, int *pW); void Paragraph(TGHtmlElement *p);
void ClearObstacle(int mode); void ComputeMargins(int *pX, int *pY, int *pW);
TGHtmlElement *DoBreakMarkup(TGHtmlElement *p); void ClearObstacle(int mode);
int InWrapAround(); TGHtmlElement *DoBreakMarkup(TGHtmlElement *p);
void WidenLine(int reqWidth, int *pX, int *pY, int *pW); int InWrapAround();
void WidenLine(int reqWidth, int *pX, int *pY, int *pW);
TGHtmlElement *TableLayout(TGHtmlTable *p);
TGHtmlElement *TableLayout(TGHtmlTable *p);
public:
TGHtml *html; // The html widget undergoing layout public:
TGHtmlElement *pStart; // Start of elements to layout TGHtml *fHtml; // The html widget undergoing layout
TGHtmlElement *pEnd; // Stop when reaching this element TGHtmlElement *fPStart; // Start of elements to layout
int headRoom; // Extra space wanted above this line TGHtmlElement *fPEnd; // Stop when reaching this element
int top; // Absolute top of drawing area int fHeadRoom; // Extra space wanted above this lin
int bottom; // Bottom of previous line e
int left, right; // Left and right extremes of drawing area int fTop; // Absolute top of drawing area
int pageWidth; // Width of the layout field, including int fBottom; // Bottom of previous line
// the margins int fLeft, fRight; // Left and right extremes of drawin
int maxX, maxY; // Maximum X and Y values of paint g area
SHtmlMargin *leftMargin; // Stack of left margins int fPageWidth; // Width of the layout field, includ
SHtmlMargin *rightMargin; // Stack of right margins ing
// the margins
int fMaxX, fMaxY; // Maximum X and Y values of paint
SHtmlMargin_t *fLeftMargin; // Stack of left margins
SHtmlMargin_t *fRightMargin; // Stack of right margins
}; };
// With 28 different fonts and 16 colors, we could in principle have // With 28 different fonts and 16 colors, we could in principle have
// as many as 448 different GCs. But in practice, a single page of // as many as 448 different GCs. But in practice, a single page of
// HTML will typically have much less than this. So we won't try to // HTML will typically have much less than this. So we won't try to
// keep all GCs on hand. Instead, we'll keep around the most recently // keep all GCs on hand. Instead, we'll keep around the most recently
// used GCs and allocate new ones as necessary. // used GCs and allocate new ones as necessary.
// //
// The following structure is used to build a cache of GCs in the // The following structure is used to build a cache of GCs in the
// main widget object. // main widget object.
#define N_CACHE_GC 32 #define N_CACHE_GC 32
struct GcCache {
GContext_t gc; // The graphics context struct GcCache_t {
Html_u8 font; // Font used for this context GContext_t fGc; // The graphics context
Html_u8 color; // Color used for this context Html_u8_t fFont; // Font used for this context
Html_u8 index; // Index used for LRU replacement Html_u8_t fColor; // Color used for this context
Html_u8_t fIndex; // Index used for LRU replacement
}; };
// An SHtmlIndex is a reference to a particular character within a // An SHtmlIndex_t is a reference to a particular character within a
// particular Text or Space token. // particular Text or Space token.
struct SHtmlIndex { struct SHtmlIndex_t {
TGHtmlElement *p; // The token containing the character TGHtmlElement *fP; // The token containing the character
int i; // Index of the character int fI; // Index of the character
}; };
// Used by the tokenizer // Used by the tokenizer
struct SHtmlTokenMap { struct SHtmlTokenMap_t {
const char *zName; // Name of a markup const char *fZName; // Name of a markup
Html_16 type; // Markup type code Html_16_t fType; // Markup type code
Html_16 objType; // Which kind of TGHtml... object to alocate Html_16_t fObjType; // Which kind of TGHtml... object to al
SHtmlTokenMap *pCollide; // Hash table collision chain ocate
SHtmlTokenMap_t *fPCollide; // Hash table collision chain
}; };
// Markup element types to be allocated by the tokenizer. // Markup element types to be allocated by the tokenizer.
// Do not confuse with .type field in TGHtmlElement // Do not confuse with .type field in TGHtmlElement
#define O_HtmlMarkupElement 0 #define O_HtmlMarkupElement 0
#define O_HtmlCell 1 #define O_HtmlCell 1
#define O_HtmlTable 2 #define O_HtmlTable 2
#define O_HtmlRef 3 #define O_HtmlRef 3
#define O_HtmlLi 4 #define O_HtmlLi 4
skipping to change at line 826 skipping to change at line 827
#define O_HtmlImageMarkup 6 #define O_HtmlImageMarkup 6
#define O_HtmlInput 7 #define O_HtmlInput 7
#define O_HtmlForm 8 #define O_HtmlForm 8
#define O_HtmlHr 9 #define O_HtmlHr 9
#define O_HtmlAnchor 10 #define O_HtmlAnchor 10
#define O_HtmlScript 11 #define O_HtmlScript 11
#define O_HtmlMapArea 12 #define O_HtmlMapArea 12
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// The HTML widget. A derivate of OXView. // The HTML widget. A derivate of TGView.
class TGListBox; class TGListBox;
class THashTable; class THashTable;
class TGHtml : public TGView { class TGHtml : public TGView {
public: public:
TGHtml(const TGWindow *p, int w, int h, int id = -1); TGHtml(const TGWindow *p, int w, int h, int id = -1);
virtual ~TGHtml(); virtual ~TGHtml();
virtual Bool_t HandleFocusChange(Event_t *event); virtual Bool_t HandleFocusChange(Event_t *event);
virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleButton(Event_t *event);
virtual Bool_t HandleMotion(Event_t *event); virtual Bool_t HandleMotion(Event_t *event);
virtual Bool_t HandleIdleEvent(TGIdleHandler *i); virtual Bool_t HandleIdleEvent(TGIdleHandler *i);
virtual Bool_t HandleTimer(TTimer *timer); virtual Bool_t HandleTimer(TTimer *timer);
virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t); virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t);
virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h);
virtual Bool_t ItemLayout(); virtual Bool_t ItemLayout();
Bool_t HandleHtmlInput(TGHtmlInput *pr, Event_t *event); Bool_t HandleHtmlInput(TGHtmlInput *pr, Event_t *event);
Bool_t HandleRadioButton(TGHtmlInput *p); Bool_t HandleRadioButton(TGHtmlInput *p);
public: // user commands public: // user commands
int ParseText(char *text, const char *index = 0); int ParseText(char *text, const char *index = 0);
void SetTableRelief(int relief); void SetTableRelief(int relief);
int GetTableRelief() const { return tableRelief; } int GetTableRelief() const { return fTableRelief; }
void SetRuleRelief(int relief); void SetRuleRelief(int relief);
int GetRuleRelief() const { return ruleRelief; } int GetRuleRelief() const { return fRuleRelief; }
int GetRulePadding() const { return rulePadding; } int GetRulePadding() const { return fRulePadding; }
void UnderlineLinks(int onoff); void UnderlineLinks(int onoff);
void SetBaseUri(const char *uri); void SetBaseUri(const char *uri);
const char *GetBaseUri() const { return zBase; } const char *GetBaseUri() const { return fZBase; }
int GotoAnchor(const char *name); int GotoAnchor(const char *name);
public: // reloadable methods public: // reloadable methods
// called when the widget is cleared // called when the widget is cleared
virtual void Clear(Option_t * = ""); virtual void Clear(Option_t * = "");
// User function to resolve URIs // User function to resolve URIs
virtual char *ResolveUri(const char *uri); virtual char *ResolveUri(const char *uri);
// User function to get an image from a URL // User function to get an image from a URL
virtual TImage *LoadImage(const char *uri, int w = 0, int h = 0) ;// virtual TImage *LoadImage(const char *uri, int w = 0, int h = 0) ;//
// { return 0; } // { return 0; }
// User function to tell if a hyperlink has already been visited // User function to tell if a hyperlink has already been visited
virtual int IsVisited(const char * /*url*/) virtual int IsVisited(const char * /*url*/)
{ return kFALSE; } { return kFALSE; }
// User function to to process tokens of the given type // User function to to process tokens of the given type
virtual int ProcessToken(TGHtmlElement * /*pElem*/, const char * /*name*/ virtual int ProcessToken(TGHtmlElement * /*pElem*/, const char * /*name*
, int /*type*/) /, int /*type*/)
{ return kFALSE; } { return kFALSE; }
virtual TGFont *GetFont(int iFont); virtual TGFont *GetFont(int iFont);
// The HTML parser will invoke the following methods from time // The HTML parser will invoke the following methods from time
// to time to find out information it needs to complete formatting of // to time to find out information it needs to complete formatting of
// the document. // the document.
// Method for handling <frameset> markup // Method for handling <frameset> markup
virtual int ProcessFrame() virtual int ProcessFrame()
{ return kFALSE; } { return kFALSE; }
// Method to process applets // Method to process applets
virtual TGFrame *ProcessApplet(TGHtmlInput * /*input*/) virtual TGFrame *ProcessApplet(TGHtmlInput * /*input*/)
{ return 0; } { return 0; }
// Called when parsing forms // Called when parsing forms
virtual int FormCreate(TGHtmlForm * /*form*/, const char * /*zUrl*/, cons virtual int FormCreate(TGHtmlForm * /*form*/, const char * /*zUrl*/, con
t char * /*args*/) st char * /*args*/)
{ return kFALSE; } { return kFALSE; }
// Called when user presses Submit // Called when user presses Submit
virtual int FormAction(TGHtmlForm * /*form*/, int /*id*/) virtual int FormAction(TGHtmlForm * /*form*/, int /*id*/)
{ return kFALSE; } { return kFALSE; }
// Invoked to find font names // Invoked to find font names
virtual char *GetFontName() virtual char *GetFontName()
{ return 0; } { return 0; }
// Invoked for each <SCRIPT> markup // Invoked for each <SCRIPT> markup
virtual char *ProcessScript(TGHtmlScript * /*script*/) virtual char *ProcessScript(TGHtmlScript * /*script*/)
{ return 0; } { return 0; }
public: public:
const char *GetText() const { return zText; } const char *GetText() const { return fZText; }
int GetMarginWidth() { return margins.fL + margins.fR; } int GetMarginWidth() { return fMargins.fL + fMargins.fR; }
int GetMarginHeight() { return margins.fT + margins.fB; } int GetMarginHeight() { return fMargins.fT + fMargins.fB; }
TGHtmlInput *GetInputElement(int x, int y); TGHtmlInput *GetInputElement(int x, int y);
const char *GetHref(int x, int y, const char **target = 0); const char *GetHref(int x, int y, const char **target = 0);
TGHtmlImage *GetImage(TGHtmlImageMarkup *p); TGHtmlImage *GetImage(TGHtmlImageMarkup *p);
int InArea(TGHtmlMapArea *p, int left, int top, int x, int y); int InArea(TGHtmlMapArea *p, int left, int top, int x, int y);
TGHtmlElement *GetMap(const char *name); TGHtmlElement *GetMap(const char *name);
void ResetBlocks() { firstBlock = lastBlock = 0; } void ResetBlocks() { fFirstBlock = fLastBlock = 0; }
int ElementCoords(TGHtmlElement *p, int i, int pct, int *coords); int ElementCoords(TGHtmlElement *p, int i, int pct, int *coords);
TGHtmlElement *TableDimensions(TGHtmlTable *pStart, int lineWidth); TGHtmlElement *TableDimensions(TGHtmlTable *pStart, int lineWidth);
int CellSpacing(TGHtmlElement *pTable); int CellSpacing(TGHtmlElement *pTable);
void MoveVertically(TGHtmlElement *p, TGHtmlElement *pLast, int dy); void MoveVertically(TGHtmlElement *p, TGHtmlElement *pLast, int dy);
void PrintList(TGHtmlElement *first, TGHtmlElement *last); void PrintList(TGHtmlElement *first, TGHtmlElement *last);
char *GetTokenName(TGHtmlElement *p); char *GetTokenName(TGHtmlElement *p);
char *DumpToken(TGHtmlElement *p); char *DumpToken(TGHtmlElement *p);
void EncodeText(TGString *str, const char *z); void EncodeText(TGString *str, const char *z);
protected: protected:
void _Clear(); void HClear();
void ClearGcCache(); void ClearGcCache();
void ResetLayoutContext(); void ResetLayoutContext();
void Redraw(); void Redraw();
void ComputeVirtualSize(); void ComputeVirtualSize();
void ScheduleRedraw(); void ScheduleRedraw();
void RedrawArea(int left, int top, int right, int bottom); void RedrawArea(int left, int top, int right, int bottom);
void RedrawBlock(TGHtmlBlock *p); void RedrawBlock(TGHtmlBlock *p);
void RedrawEverything(); void RedrawEverything();
void RedrawText(int y); void RedrawText(int y);
float colorDistance(ColorStruct_t *pA, ColorStruct_t *pB); float ColorDistance(ColorStruct_t *pA, ColorStruct_t *pB);
int isDarkColor(ColorStruct_t *p); int IsDarkColor(ColorStruct_t *p);
int isLightColor(ColorStruct_t *p); int IsLightColor(ColorStruct_t *p);
int GetColorByName(const char *zColor); int GetColorByName(const char *zColor);
int GetDarkShadowColor(int iBgColor); int GetDarkShadowColor(int iBgColor);
int GetLightShadowColor(int iBgColor); int GetLightShadowColor(int iBgColor);
int GetColorByValue(ColorStruct_t *pRef); int GetColorByValue(ColorStruct_t *pRef);
void FlashCursor(); void FlashCursor();
GContext_t GetGC(int color, int font); GContext_t GetGC(int color, int font);
GContext_t GetAnyGC(); GContext_t GetAnyGC();
void AnimateImage(TGHtmlImage *image); void AnimateImage(TGHtmlImage *image);
void ImageChanged(TGHtmlImage *image, int newWidth, int newHeight); void ImageChanged(TGHtmlImage *image, int newWidth, int newHeight);
int GetImageAlignment(TGHtmlElement *p); int GetImageAlignment(TGHtmlElement *p);
int GetImageAt(int x, int y); int GetImageAt(int x, int y);
const char *GetPctWidth(TGHtmlElement *p, char *opt, char *ret); const char *GetPctWidth(TGHtmlElement *p, char *opt, char *ret);
void TableBgndImage(TGHtmlElement *p); void TableBgndImage(TGHtmlElement *p);
TGHtmlElement *FillOutBlock(TGHtmlBlock *p); TGHtmlElement *FillOutBlock(TGHtmlBlock *p);
void UnlinkAndFreeBlock(TGHtmlBlock *pBlock); void UnlinkAndFreeBlock(TGHtmlBlock *pBlock);
void AppendBlock(TGHtmlElement *pToken, TGHtmlBlock *pBlock); void AppendBlock(TGHtmlElement *pToken, TGHtmlBlock *pBlock);
void StringHW(const char *str, int *h, int *w); void StringHW(const char *str, int *h, int *w);
TGHtmlElement *MinMax(TGHtmlElement *p, int *pMin, int *pMax, TGHtmlElement *MinMax(TGHtmlElement *p, int *pMin, int *pMax,
int lineWidth, int hasbg); int lineWidth, int hasbg);
void DrawSelectionBackground(TGHtmlBlock *pBlock, Drawable_t Drawable_t, void DrawSelectionBackground(TGHtmlBlock *pBlock, Drawable_t Drawable_t,
int x, int y); int x, int y);
void DrawRect(Drawable_t drawable, TGHtmlElement *src, void DrawRect(Drawable_t drawable, TGHtmlElement *src,
int x, int y, int w, int h, int depth, int relief); int x, int y, int w, int h, int depth, int relief);
void BlockDraw(TGHtmlBlock *pBlock, Drawable_t wid, void BlockDraw(TGHtmlBlock *pBlock, Drawable_t wid,
int left, int top, int left, int top,
int width, int height, Pixmap_t pixmap); int width, int height, Pixmap_t pixmap);
void DrawImage(TGHtmlImageMarkup *image, Drawable_t wid, void DrawImage(TGHtmlImageMarkup *image, Drawable_t wid,
int left, int top, int left, int top,
int right, int bottom); int right, int bottom);
void DrawTableBgnd(int x, int y, int w, int h, Drawable_t d, TImage *imag void DrawTableBgnd(int x, int y, int w, int h, Drawable_t d, TImage *ima
e); ge);
TGHtmlElement *FindStartOfNextBlock(TGHtmlElement *p, int *pCnt); TGHtmlElement *FindStartOfNextBlock(TGHtmlElement *p, int *pCnt);
void FormBlocks(); void FormBlocks();
void AppendElement(TGHtmlElement *pElem); void AppendElement(TGHtmlElement *pElem);
int Tokenize(); int Tokenize();
void AppToken(TGHtmlElement *pNew, TGHtmlElement *p, int offs); void AppToken(TGHtmlElement *pNew, TGHtmlElement *p, int offs);
TGHtmlMarkupElement *MakeMarkupEntry(int objType, int type, int argc, TGHtmlMarkupElement *MakeMarkupEntry(int objType, int type, int argc,
int arglen[], char *argv[]); int arglen[], char *argv[]);
void TokenizerAppend(const char *text); void TokenizerAppend(const char *text);
TGHtmlElement *InsertToken(TGHtmlElement *pToken, TGHtmlElement *InsertToken(TGHtmlElement *pToken,
char *zType, char *zArgs, int offs); char *zType, char *zArgs, int offs);
SHtmlTokenMap *NameToPmap(char *zType); SHtmlTokenMap_t *NameToPmap(char *zType);
int NameToType(char *zType); int NameToType(char *zType);
const char *TypeToName(int type); const char *TypeToName(int type);
int TextInsertCmd(int argc, char **argv); int TextInsertCmd(int argc, char **argv);
SHtmlTokenMap* GetMarkupMap(int n); SHtmlTokenMap_t* GetMarkupMap(int n);
TGHtmlElement *TokenByIndex(int N, int flag); TGHtmlElement *TokenByIndex(int N, int flag);
int TokenNumber(TGHtmlElement *p); int TokenNumber(TGHtmlElement *p);
void maxIndex(TGHtmlElement *p, int *pIndex, int isLast); void MaxIndex(TGHtmlElement *p, int *pIndex, int isLast);
int IndexMod(TGHtmlElement **pp, int *ip, char *cp); int IndexMod(TGHtmlElement **pp, int *ip, char *cp);
void FindIndexInBlock(TGHtmlBlock *pBlock, int x, void FindIndexInBlock(TGHtmlBlock *pBlock, int x,
TGHtmlElement **ppToken, int *pIndex);
void IndexToBlockIndex(SHtmlIndex_t sIndex,
TGHtmlBlock **ppBlock, int *piIndex);
int DecodeBaseIndex(const char *zBase,
TGHtmlElement **ppToken, int *pIndex); TGHtmlElement **ppToken, int *pIndex);
void IndexToBlockIndex(SHtmlIndex sIndex, int GetIndex(const char *zIndex, TGHtmlElement **ppToken, int *pIndex);
TGHtmlBlock **ppBlock, int *piIndex);
int DecodeBaseIndex(const char *zBase, void LayoutDoc();
TGHtmlElement **ppToken, int *pIndex);
int GetIndex(const char *zIndex, TGHtmlElement **ppToken, int *pIndex); int MapControls();
void UnmapControls();
void LayoutDoc(); void DeleteControls();
int ControlSize(TGHtmlInput *p);
int MapControls(); void SizeAndLink(TGFrame *frame, TGHtmlInput *pElem);
void UnmapControls(); int FormCount(TGHtmlInput *p, int radio);
void DeleteControls(); void AddFormInfo(TGHtmlElement *p);
int ControlSize(TGHtmlInput *p); void AddSelectOptions(TGListBox *lb, TGHtmlElement *p, TGHtmlElement *pE
void SizeAndLink(TGFrame *frame, TGHtmlInput *pElem); nd);
int FormCount(TGHtmlInput *p, int radio); void AppendText(TGString *str, TGHtmlElement *pFirst, TGHtmlElement *pEn
void AddFormInfo(TGHtmlElement *p); d);
void AddSelectOptions(TGListBox *lb, TGHtmlElement *p, TGHtmlElement *pEn
d); void UpdateSelection(int forceUpdate);
void AppendText(TGString *str, TGHtmlElement *pFirst, TGHtmlElement *pEnd void UpdateSelectionDisplay();
); void LostSelection();
int SelectionSet(const char *startIx, const char *endIx);
void UpdateSelection(int forceUpdate); void UpdateInsert();
void UpdateSelectionDisplay(); int SetInsert(const char *insIx);
void LostSelection();
int SelectionSet(const char *startIx, const char *endIx); const char *GetUid(const char *string);
void UpdateInsert(); ColorStruct_t *AllocColor(const char *name);
int SetInsert(const char *insIx); ColorStruct_t *AllocColorByValue(ColorStruct_t *color);
void FreeColor(ColorStruct_t *color);
const char *GetUid(const char *string);
ColorStruct_t *AllocColor(const char *name); SHtmlStyle_t GetCurrentStyle();
ColorStruct_t *AllocColorByValue(ColorStruct_t *color); void PushStyleStack(int tag, SHtmlStyle_t style);
void FreeColor(ColorStruct_t *color); SHtmlStyle_t PopStyleStack(int tag);
SHtmlStyle GetCurrentStyle(); void MakeInvisible(TGHtmlElement *p_first, TGHtmlElement *p_last);
void PushStyleStack(int tag, SHtmlStyle style); int GetLinkColor(const char *zURL);
SHtmlStyle PopStyleStack(int tag); void AddStyle(TGHtmlElement *p);
void Sizer();
void MakeInvisible(TGHtmlElement *p_first, TGHtmlElement *p_last);
int GetLinkColor(const char *zURL); int NextMarkupType(TGHtmlElement *p);
void AddStyle(TGHtmlElement *p);
void Sizer(); TGHtmlElement *AttrElem(const char *name, char *value);
int NextMarkupType(TGHtmlElement *p); public:
void AppendArglist(TGString *str, TGHtmlMarkupElement *pElem);
TGHtmlElement *AttrElem(const char *name, char *value); TGHtmlElement *FindEndNest(TGHtmlElement *sp, int en, TGHtmlElement *lp)
;
public: TGString *ListTokens(TGHtmlElement *p, TGHtmlElement *pEnd);
void AppendArglist(TGString *str, TGHtmlMarkupElement *pElem); TGString *TableText(TGHtmlTable *pTable, int flags);
TGHtmlElement *FindEndNest(TGHtmlElement *sp, int en, TGHtmlElement *lp);
TGString *ListTokens(TGHtmlElement *p, TGHtmlElement *pEnd); virtual void MouseOver(const char *uri) { Emit("MouseOver(const char *)"
TGString *TableText(TGHtmlTable *pTable, int flags); ,uri); } // *SIGNAL*
virtual void MouseDown(const char *uri) { Emit("MouseDown(const char *)
virtual void MouseOver(const char *uri) { Emit("MouseOver(const char *)", ",uri); } // *SIGNAL*
uri); } // *SIGNAL* virtual void ButtonClicked(const char *name, const char *val); // *SIGNA
virtual void MouseDown(const char *uri) { Emit("MouseDown(const char *)" L*
,uri); } // *SIGNAL* virtual void SubmitClicked(const char *val); // *SIGNAL*
virtual void ButtonClicked(const char *name, const char *val); // *SIGNAL virtual void CheckToggled(const char *name, Bool_t on, const char *val);
* // *SIGNAL*
virtual void SubmitClicked(const char *val); // *SIGNAL* virtual void RadioChanged(const char *name, const char *val); // *SIGNAL
virtual void CheckToggled(const char *name, Bool_t on, const char *val); *
// *SIGNAL* virtual void InputSelected(const char *name, const char *val); //*SIGN
virtual void RadioChanged(const char *name, const char *val); // *SIGNAL* AL*
virtual void InputSelected(const char *name, const char *val); //*SIGNA virtual void SavePrimitive(ostream &out, Option_t * = "");
L*
virtual void SavePrimitive(ostream &out, Option_t * = "");
protected: protected:
virtual void UpdateBackgroundStart(); virtual void UpdateBackgroundStart();
protected: protected:
TGHtmlElement *pFirst; // First HTML token on a list of them all TGHtmlElement *fPFirst; // First HTML token on a list of them a
TGHtmlElement *pLast; // Last HTML token on the list ll
int nToken; // Number of HTML tokens on the list. TGHtmlElement *fPLast; // Last HTML token on the list
// Html_Block tokens don't count. int fNToken; // Number of HTML tokens on the list.
TGHtmlElement *lastSized; // Last HTML element that has been sized // Html_Block tokens don't count.
TGHtmlElement *nextPlaced; // Next HTML element that needs to be TGHtmlElement *fLastSized; // Last HTML element that has been size
// positioned on canvas. d
TGHtmlBlock *firstBlock; // List of all TGHtmlBlock tokens TGHtmlElement *fNextPlaced; // Next HTML element that needs to be
TGHtmlBlock *lastBlock; // Last TGHtmlBlock in the list // positioned on canvas.
TGHtmlInput *firstInput; // First <INPUT> element TGHtmlBlock *fFirstBlock; // List of all TGHtmlBlock tokens
TGHtmlInput *lastInput; // Last <INPUT> element TGHtmlBlock *fLastBlock; // Last TGHtmlBlock in the list
int nInput; // The number of <INPUT> elements TGHtmlInput *fFirstInput; // First <INPUT> element
int nForm; // The number of <FORM> elements TGHtmlInput *fLastInput; // Last <INPUT> element
int varId; // Used to construct a unique name for a int fNInput; // The number of <INPUT> elements
// global array used by <INPUT> elements int fNForm; // The number of <FORM> elements
int inputIdx; // Unique input index int fVarId; // Used to construct a unique name for
int radioIdx; // Unique radio index a
// global array used by <INPUT> element
// Information about the selected region of text s
int fInputIdx; // Unique input index
SHtmlIndex selBegin; // Start of the selection int fRadioIdx; // Unique radio index
SHtmlIndex selEnd; // End of the selection
TGHtmlBlock *pSelStartBlock; // Block in which selection starts // Information about the selected region of text
Html_16 selStartIndex; // Index in pSelStartBlock of first selecte
d SHtmlIndex_t fSelBegin; // Start of the selection
// character SHtmlIndex_t fSelEnd; // End of the selection
Html_16 selEndIndex; // Index of last selecte char in pSelEndBlo TGHtmlBlock *fPSelStartBlock; // Block in which selection starts
ck Html_16_t fSelStartIndex; // Index in pSelStartBlock of first sel
TGHtmlBlock *pSelEndBlock; // Block in which selection ends ected
// character
// Information about the insertion cursor Html_16_t fSelEndIndex; // Index of last selecte char in pSelEn
dBlock
int insOnTime; // How long the cursor states one (millisec TGHtmlBlock *fPSelEndBlock; // Block in which selection ends
)
int insOffTime; // How long it is off (milliseconds) // Information about the insertion cursor
int insStatus; // Is it visible?
TTimer *insTimer; // Timer used to flash the insertion cursor int fInsOnTime; // How long the cursor states one (mill
SHtmlIndex ins; // The insertion cursor position isec)
TGHtmlBlock *pInsBlock; // The TGHtmlBlock containing the cursor int fInsOffTime; // How long it is off (milliseconds)
int insIndex; // Index in pInsBlock of the cursor int fInsStatus; // Is it visible?
TTimer *fInsTimer; // Timer used to flash the insertion cu
// The following fields hold state information used by the tokenizer. rsor
SHtmlIndex_t fIns; // The insertion cursor position
char *zText; // Complete text of the unparsed HTML TGHtmlBlock *fPInsBlock; // The TGHtmlBlock containing the curso
int nText; // Number of characters in zText r
int nAlloc; // Space allocated for zText int fInsIndex; // Index in pInsBlock of the cursor
int nComplete; // How much of zText has actually been
// converted into tokens // The following fields hold state information used by the tokenizer.
int iCol; // The column in which zText[nComplete]
// occurs. Used to resolve tabs in input char *fZText; // Complete text of the unparsed HTML
int iPlaintext; // If not zero, this is the token type that int fNText; // Number of characters in zText
// caused us to go into plaintext mode. One int fNAlloc; // Space allocated for zText
// of Html_PLAINTEXT, Html_LISTING or int fNComplete; // How much of zText has actually been
// Html_XMP // converted into tokens
TGHtmlScript *pScript; // <SCRIPT> currently being parsed int fICol; // The column in which zText[nComplete]
// occurs. Used to resolve tabs in inpu
TGIdleHandler *fIdle; t
int fIPlaintext; // If not zero, this is the token type
// These fields hold state information used by the HtmlAddStyle routine. that
// We have to store this state information here since HtmlAddStyle // caused us to go into plaintext mode.
// operates incrementally. This information must be carried from One
// one incremental execution to the next. // of Html_PLAINTEXT, Html_LISTING or
// Html_XMP
SHtmlStyleStack *styleStack; // The style stack TGHtmlScript *fPScript; // <SCRIPT> currently being parsed
int paraAlignment; // Justification associated with <p>
int rowAlignment; // Justification associated with <tr> TGIdleHandler *fIdle;
int anchorFlags; // Style flags associated with <A>...</A>
int inDt; // Style flags associated with <DT>...</DT> // These fields hold state information used by the HtmlAddStyle routine.
int inTr; // True if within <tr>..</tr> // We have to store this state information here since HtmlAddStyle
int inTd; // True if within <td>..</td> or <th>..</th // operates incrementally. This information must be carried from
> // one incremental execution to the next.
TGHtmlAnchor *anchorStart; // Most recent <a href=...>
TGHtmlForm *formStart; // Most recent <form> SHtmlStyleStack_t *fStyleStack; // The style stack
TGHtmlInput *formElemStart; // Most recent <textarea> or <select> int fParaAlignment; // Justification associated with <p>
TGHtmlInput *formElemLast; // Most recent <input>, <textarea> or <sel int fRowAlignment; // Justification associated with <tr
ect> >
TGHtmlListStart *innerList; // The inner most <OL> or <UL> int fAnchorFlags; // Style flags associated with <A>..
TGHtmlElement *loEndPtr; // How far AddStyle has gone to .</A>
TGHtmlForm *loFormStart; // For AddStyle int fInDt; // Style flags associated with <DT>.
..</DT>
// These fields are used to hold the state of the layout engine. int fInTr; // True if within <tr>..</tr>
// Because the layout is incremental, this state must be held for int fInTd; // True if within <td>..</td> or <th
// the life of the widget. >..</th>
TGHtmlAnchor *fAnchorStart; // Most recent <a href=...>
TGHtmlLayoutContext layoutContext; TGHtmlForm *fFormStart; // Most recent <form>
TGHtmlInput *fFormElemStart; // Most recent <textarea> or <select
// Information used when displaying the widget: >
TGHtmlInput *fFormElemLast; // Most recent <input>, <textarea> o
int highlightWidth; // Width in pixels of highlight to draw r <select>
// around widget when it has the focus. TGHtmlListStart *fInnerList; // The inner most <OL> or <UL>
// <= 0 means don't draw a highlight. TGHtmlElement *fLoEndPtr; // How far AddStyle has gone to
TGInsets margins; // document margins (separation between th TGHtmlForm *fLoFormStart; // For AddStyle
e
// edge of the clip window and rendered HTM // These fields are used to hold the state of the layout engine.
L). // Because the layout is incremental, this state must be held for
ColorStruct_t *highlightBgColorPtr; // Color for drawing traversal highl // the life of the widget.
ight
// area when highlight is off. TGHtmlLayoutContext fLayoutContext;
ColorStruct_t *highlightColorPtr; // Color for drawing traversal highl
ight. // Information used when displaying the widget:
TGFont *aFont[N_FONT]; // Information about all screen fonts
char fontValid[(N_FONT+7)/8]; // If bit N%8 of work N/8 of this field is int fHighlightWidth; // Width in pixels of highligh
0 t to draw
// if aFont[N] needs to be reallocated befo // around widget when it has t
re he focus.
// being used. // <= 0 means don't draw a hig
ColorStruct_t *apColor[N_COLOR]; // Information about all colors hlight.
long colorUsed; // bit N is 1 if color N is in use. Only TGInsets fMargins; // document margins (separatio
// applies to colors that aren't predefined n between the
int iDark[N_COLOR]; // Dark 3D shadow of color K is iDark[K] // edge of the clip window and
int iLight[N_COLOR]; // Light 3D shadow of color K is iLight[K] rendered HTML).
ColorStruct_t *bgColor; // Background color of the HTML docu ColorStruct_t *fHighlightBgColorPtr; // Color for drawing traversal
ment highlight
ColorStruct_t *fgColor; // Color of normal text. apColor[0] // area when highlight is off.
ColorStruct_t *newLinkColor; // Color of unvisitied links. apColo ColorStruct_t *fHighlightColorPtr; // Color for drawing traversal
r[1] highlight.
ColorStruct_t *oldLinkColor; // Color of visitied links. apColor[ TGFont *fAFont[N_FONT]; // Information about all scree
2] n fonts
ColorStruct_t *selectionColor; // Background color for selections char fFontValid[(N_FONT+7)/8]; // If bit N%8 of work N/8 of
GcCache aGcCache[N_CACHE_GC]; // A cache of GCs for general use this field is 0
int GcNextToFree; // if aFont[N] needs to be rea
int lastGC; // Index of recently used GC llocated before
TGHtmlImage *imageList; // A list of all images // being used.
TImage *bgImage; // Background image ColorStruct_t *fApColor[N_COLOR]; // Information about all color
s
int formPadding; // Amount to pad form elements by Long_t fColorUsed; // bit N is 1 if color N is in
int overrideFonts; // TRUE if we should override fonts use. Only
int overrideColors; // TRUE if we should override colors // applies to colors that aren
int underlineLinks; // TRUE if we should underline hyperlinks 't predefined
int HasScript; // TRUE if we can do scripts for this page int fIDark[N_COLOR]; // Dark 3D shadow of color K i
int HasFrames; // TRUE if we can do frames for this page s iDark[K]
int AddEndTags; // TRUE if we add /LI etc. int fILight[N_COLOR]; // Light 3D shadow of color K
int TableBorderMin; // Force tables to have min border size is iLight[K]
int varind; // Index suffix for unique global var name ColorStruct_t *fBgColor; // Background color of the HTM
L document
// Information about the selection ColorStruct_t *fFgColor; // Color of normal text. apCol
or[0]
int exportSelection; // True if the selection is automatically ColorStruct_t *fNewLinkColor; // Color of unvisitied links.
// exported to the clipboard apColor[1]
ColorStruct_t *fOldLinkColor; // Color of visitied links. ap
// Miscellaneous information: Color[2]
ColorStruct_t *fSelectionColor; // Background color for select
int tableRelief; // 3d effects on <TABLE> ions
int ruleRelief; // 3d effects on <HR> GcCache_t fAGcCache[N_CACHE_GC]; // A cache of GCs for general
int rulePadding; // extra pixels above and below <HR> use
const char *zBase; // The base URI int fGcNextToFree;
char *zBaseHref; // zBase as modified by <BASE HREF=..> mark int fLastGC; // Index of recently used GC
up TGHtmlImage *fImageList; // A list of all images
Cursor_t cursor; // Current cursor for window, or None. TImage *fBgImage; // Background image
int maxX, maxY; // Maximum extent of any "paint" that appea
rs int fFormPadding; // Amount to pad form elements
// on the virtual canvas. Used to compute by
// scrollbar positions. int fOverrideFonts; // TRUE if we should override
int dirtyLeft, dirtyTop; // Top left corner of region to redraw. The fonts
se int fOverrideColors; // TRUE if we should override
// are physical screen coordinates relative colors
to int fUnderlineLinks; // TRUE if we should underline
// the clip win, not main window. hyperlinks
int dirtyRight, dirtyBottom; // Bottom right corner of region to redraw int fHasScript; // TRUE if we can do scripts f
int flags; // Various flags; see below for definitions or this page
. int fHasFrames; // TRUE if we can do frames fo
int idind; r this page
int inParse; // Prevent update if parsing int fAddEndTags; // TRUE if we add /LI etc.
char *zGoto; // Label to goto right after layout int fTableBorderMin; // Force tables to have min bo
rder size
SHtmlExtensions *exts; // Pointer to user extension data int fVarind; // Index suffix for unique glo
bal var name
THashTable *fUidTable; // Hash table for some used string values
// like color names, etc. // Information about the selection
const char *_lastUri; // Used in HandleMotion
int _exiting; // True if the widget is being destroyed int fExportSelection; // True if the selection is au
tomatically
// exported to the clipboard
// Miscellaneous information:
int fTableRelief; // 3d effects on <TABLE>
int fRuleRelief; // 3d effects on <HR>
int fRulePadding; // extra pixels above and belo
w <HR>
const char *fZBase; // The base URI
char *fZBaseHref; // zBase as modified by <BASE
HREF=..> markup
Cursor_t fCursor; // Current cursor for window,
or None.
int fMaxX, fMaxY; // Maximum extent of any "pain
t" that appears
// on the virtual canvas. Used
to compute
// scrollbar positions.
int fDirtyLeft, fDirtyTop; // Top left corner of region t
o redraw. These
// are physical screen coordin
ates relative to
// the clip win, not main wind
ow.
int fDirtyRight, fDirtyBottom; // Bottom right corner of
region to redraw
int fFlags; // Various flags; see below fo
r definitions.
int fIdind;
int fInParse; // Prevent update if parsing
char *fZGoto; // Label to goto right after l
ayout
SHtmlExtensions_t *fExts; // Pointer to user extension d
ata
THashTable *fUidTable; // Hash table for some used st
ring values
// like color names, etc.
const char *fLastUri; // Used in HandleMotion
int fExiting; // True if the widget is being
destroyed
ClassDef(TGHtml, 0); ClassDef(TGHtml, 0); // HTML widget
}; };
// Flag bits "flags" field of the Html widget: // Flag bits "flags" field of the Html widget:
// //
// REDRAW_PENDING An idle handler has already been queued to // REDRAW_PENDING An idle handler has already been queued to
// call the TGHtml::Redraw() method. // call the TGHtml::Redraw() method.
// //
// GOT_FOCUS This widget currently has input focus. // GOT_FOCUS This widget currently has input focus.
// //
// HSCROLL Horizontal scrollbar position needs to be // HSCROLL Horizontal scrollbar position needs to be
skipping to change at line 1278 skipping to change at line 1279
// //
// STYLER_RUNNING There is a call to HtmlAddStyle() in process. // STYLER_RUNNING There is a call to HtmlAddStyle() in process.
// Used to prevent a recursive call to HtmlAddStyle( ). // Used to prevent a recursive call to HtmlAddStyle( ).
// //
// INSERT_FLASHING True if there is a timer scheduled that will togg le // INSERT_FLASHING True if there is a timer scheduled that will togg le
// the state of the insertion cursor. // the state of the insertion cursor.
// //
// REDRAW_IMAGES One or more TGHtmlImageMarkup objects have their // REDRAW_IMAGES One or more TGHtmlImageMarkup objects have their
// redrawNeeded flag set. // redrawNeeded flag set.
#define REDRAW_PENDING 0x000001 #define REDRAW_PENDING 0x000001
#define GOT_FOCUS 0x000002 #define GOT_FOCUS 0x000002
#define HSCROLL 0x000004 #define HSCROLL 0x000004
#define VSCROLL 0x000008 #define VSCROLL 0x000008
#define RELAYOUT 0x000010 #define RELAYOUT 0x000010
#define RESIZE_ELEMENTS 0x000020 #define RESIZE_ELEMENTS 0x000020
#define REDRAW_FOCUS 0x000040 #define REDRAW_FOCUS 0x000040
#define REDRAW_TEXT 0x000080 #define REDRAW_TEXT 0x000080
#define EXTEND_LAYOUT 0x000100 #define EXTEND_LAYOUT 0x000100
#define STYLER_RUNNING 0x000200 #define STYLER_RUNNING 0x000200
#define INSERT_FLASHING 0x000400 #define INSERT_FLASHING 0x000400
 End of changes. 98 change blocks. 
640 lines changed or deleted 719 lines changed or added


 TGHtmlUri.h   TGHtmlUri.h 
skipping to change at line 55 skipping to change at line 55
URI_FRAGMENT_MASK) URI_FRAGMENT_MASK)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// A parsed URI is held in an instance of the following class. // A parsed URI is held in an instance of the following class.
// //
// The examples are from the URI // The examples are from the URI
// http://192.168.1.1:8080/cgi-bin/printenv?name=xyzzy&addr=none#frag // http://192.168.1.1:8080/cgi-bin/printenv?name=xyzzy&addr=none#frag
class TGHtmlUri : public TObject { class TGHtmlUri : public TObject {
public: public:
TGHtmlUri(const char *zUri = 0); TGHtmlUri(const char *zUri = 0);
TGHtmlUri(const TGHtmlUri *uri); TGHtmlUri(const TGHtmlUri *uri);
virtual ~TGHtmlUri(); virtual ~TGHtmlUri();
char *BuildUri(); char *BuildUri();
int EqualsUri(const TGHtmlUri *uri, int field_mask = URI_FULL_MASK); int EqualsUri(const TGHtmlUri *uri, int field_mask = URI_FULL_MASK);
public: public:
int ComponentLength(const char *z, const char *zInit, const char *zTerm); int ComponentLength(const char *z, const char *zInit, const char *zTerm) ;
char *zScheme; // Ex: "http" char *fZScheme; // Ex: "http"
char *zAuthority; // Ex: "192.168.1.1:8080" char *fZAuthority; // Ex: "192.168.1.1:8080"
char *zPath; // Ex: "cgi-bin/printenv" char *fZPath; // Ex: "cgi-bin/printenv"
char *zQuery; // Ex: "name=xyzzy&addr=none" char *fZQuery; // Ex: "name=xyzzy&addr=none"
char *zFragment; // Ex: "frag" char *fZFragment; // Ex: "frag"
}; };
#endif // ROOT_TGHtmlUri #endif // ROOT_TGHtmlUri
 End of changes. 4 change blocks. 
11 lines changed or deleted 11 lines changed or added


 TGLEmbeddedViewer.h   TGLEmbeddedViewer.h 
// @(#)root/gl:$Id: TGLEmbeddedViewer.h 25642 2008-10-01 11:04:06Z matevz $ // @(#)root/gl:$Id: TGLEmbeddedViewer.h 26849 2008-12-11 21:39:15Z matevz $
// Author: Bertrand Bellenot 23/01/2008 // Author: Bertrand Bellenot 23/01/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 31 skipping to change at line 31
#endif #endif
class TGLRenderArea; class TGLRenderArea;
class TGLEventHandler; class TGLEventHandler;
class TGLEmbeddedViewer : public TGLViewer class TGLEmbeddedViewer : public TGLViewer
{ {
private: private:
// GUI components // GUI components
TGCompositeFrame *fFrame; TGCompositeFrame *fFrame;
Int_t fBorder;
void CreateFrames(Int_t border); void CreateFrames();
TGLEmbeddedViewer(const TGLEmbeddedViewer&); // Not implemented TGLEmbeddedViewer(const TGLEmbeddedViewer&); // Not implemented
TGLEmbeddedViewer& operator=(const TGLEmbeddedViewer&); // Not implement ed TGLEmbeddedViewer& operator=(const TGLEmbeddedViewer&); // Not implement ed
public: public:
TGLEmbeddedViewer(const TGWindow *parent, TVirtualPad *pad=0, Int_t bord er=2); TGLEmbeddedViewer(const TGWindow *parent, TVirtualPad *pad=0, Int_t bord er=2);
~TGLEmbeddedViewer(); ~TGLEmbeddedViewer();
virtual void CreateGLWidget();
virtual void DestroyGLWidget();
virtual const char *GetName() const { return "GLViewer"; } virtual const char *GetName() const { return "GLViewer"; }
TGCompositeFrame* GetFrame() const { return fFrame; } TGCompositeFrame* GetFrame() const { return fFrame; }
TGLOrthoCamera *GetOrthoXOYCamera() { return &fOrthoXOYCamera; } TGLOrthoCamera *GetOrthoXOYCamera() { return &fOrthoXOYCamera; }
TGLOrthoCamera *GetOrthoXOZCamera() { return &fOrthoXOZCamera; } TGLOrthoCamera *GetOrthoXOZCamera() { return &fOrthoXOZCamera; }
TGLOrthoCamera *GetOrthoZOYCamera() { return &fOrthoZOYCamera; } TGLOrthoCamera *GetOrthoZOYCamera() { return &fOrthoZOYCamera; }
ClassDef(TGLEmbeddedViewer, 0); // Embedded GL viewer. ClassDef(TGLEmbeddedViewer, 0); // Embedded GL viewer.
}; };
 End of changes. 4 change blocks. 
2 lines changed or deleted 6 lines changed or added


 TGLFontManager.h   TGLFontManager.h 
// @(#)root/gl:$Id: TGLFontManager.h 26772 2008-12-09 19:57:49Z matevz $
// Author: Olivier Couet 12/04/2007
/*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLFontManager #ifndef ROOT_TGLFontManager
#define ROOT_TGLFontManager #define ROOT_TGLFontManager
#include "TObjArray.h" #include "TObjArray.h"
#include <list> #include <list>
#include <vector> #include <vector>
#include <map> #include <map>
class FTFont; class FTFont;
class TGLFontManager; class TGLFontManager;
skipping to change at line 130 skipping to change at line 141
virtual ~TGLFontManager(); virtual ~TGLFontManager();
void RegisterFont(Int_t size, Int_t file, TGLFont::EMode mode, TGLFont & out); void RegisterFont(Int_t size, Int_t file, TGLFont::EMode mode, TGLFont & out);
void RegisterFont(Int_t size, const Text_t* name, TGLFont::EMode mode, TGLFont& out); void RegisterFont(Int_t size, const Text_t* name, TGLFont::EMode mode, TGLFont& out);
void ReleaseFont(TGLFont& font); void ReleaseFont(TGLFont& font);
static TObjArray* GetFontFileArray(); static TObjArray* GetFontFileArray();
static FontSizeVec_t* GetFontSizeArray(); static FontSizeVec_t* GetFontSizeArray();
static Int_t GetFontSize(Float_t ds, Int_t min = -1, Int_t m ax = -1); static Int_t GetFontSize(Float_t ds, Int_t min = -1, Int_t m ax = -1);
static const char* GetFontNameFromId(Int_t);
void ClearFontTrash(); void ClearFontTrash();
ClassDef(TGLFontManager, 0); // A FreeType GL font manager. ClassDef(TGLFontManager, 0); // A FreeType GL font manager.
}; };
#endif #endif
 End of changes. 2 change blocks. 
0 lines changed or deleted 12 lines changed or added


 TGLSAViewer.h   TGLSAViewer.h 
// @(#)root/gl:$Id: TGLSAViewer.h 26274 2008-11-18 20:32:48Z matevz $ // @(#)root/gl:$Id: TGLSAViewer.h 26849 2008-12-11 21:39:15Z matevz $
// Author: Richard Maunder / Timur Pocheptsov // Author: Richard Maunder / Timur Pocheptsov
/************************************************************************* /*************************************************************************
* 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 27 skipping to change at line 27
#endif #endif
#ifndef ROOT_TString #ifndef ROOT_TString
#include "TString.h" #include "TString.h"
#endif #endif
class TGWindow; class TGWindow;
class TGFrame; class TGFrame;
class TGCompositeFrame; class TGCompositeFrame;
class TGPopupMenu; class TGPopupMenu;
class TGLSAFrame;
class TGedEditor; class TGedEditor;
class TGLPShapeObj; class TGLPShapeObj;
class TGLRenderArea; // Remove - replace with TGLManager
class TGLEventHandler; class TGLEventHandler;
class TGMenuBar; class TGMenuBar;
////////////////////////////////////////////////////////////////////////// //_________________________________________________________________________
// // _____
// TGLSAViewer // //
// //
// The top level standalone viewer object - created via plugin manager. //
// TGLSAViewer // TGLSAViewer
////////////////////////////////////////////////////////////////////////// //
// The top-level standalone GL viewer.
// TODO: This really needs to be re-examined along with GUI parts in TGLVie
wer.
// It still contiains lots of legacy parts for binding to external GUI (TGL
Editors)
// which could be neater.
class TGLSAViewer : public TGLViewer class TGLSAViewer : public TGLViewer
{ {
public: public:
enum EGLSACommands { enum EGLSACommands {
kGLHelpAbout, kGLHelpViewer, kGLHelpAbout, kGLHelpViewer,
kGLPerspYOZ, kGLPerspXOZ, kGLPerspXOY, kGLPerspYOZ, kGLPerspXOZ, kGLPerspXOY,
kGLXOY, kGLXOZ, kGLZOY, kGLXOY, kGLXOZ, kGLZOY,
kGLXnOY, kGLXnOZ, kGLZnOY, kGLXnOY, kGLXnOZ, kGLZnOY,
kGLOrthoRotate, kGLOrthoDolly, kGLOrthoRotate, kGLOrthoDolly,
kGLSaveEPS, kGLSavePDF, kGLSavePNG, kGLSaveGIF, kGLSaveAnimGIF, kGLSaveEPS, kGLSavePDF, kGLSavePNG, kGLSaveGIF, kGLSaveAnimGIF,
kGLSaveJPG, kGLSaveAS, kGLCloseViewer, kGLQuitROOT, kGLSaveJPG, kGLSaveAS, kGLCloseViewer, kGLQuitROOT,
kGLEditObject }; kGLEditObject };
private: private:
// GUI components // GUI components
TGLSAFrame *fFrame; TGCompositeFrame *fFrame;
TGPopupMenu *fFileMenu; TGPopupMenu *fFileMenu;
TGPopupMenu *fFileSaveMenu; TGPopupMenu *fFileSaveMenu;
TGPopupMenu *fCameraMenu; TGPopupMenu *fCameraMenu;
TGPopupMenu *fHelpMenu; TGPopupMenu *fHelpMenu;
// Ged // Ged
TGCompositeFrame *fLeftVerticalFrame; TGCompositeFrame *fLeftVerticalFrame;
TGedEditor *fGedEditor; TGedEditor *fGedEditor;
TGLPShapeObj *fPShapeWrap; TGLPShapeObj *fPShapeWrap;
TGCompositeFrame *fRightVerticalFrame;
TString fDirName; TString fDirName;
Int_t fTypeIdx; Int_t fTypeIdx;
Bool_t fOverwrite; Bool_t fOverwrite;
TGMenuBar *fMenuBar; TGMenuBar *fMenuBar;
Bool_t fDeleteMenuBar;
// Initial window positioning // Initial window positioning
static const Int_t fgInitX; static const Int_t fgInitX;
static const Int_t fgInitY; static const Int_t fgInitY;
static const Int_t fgInitW; static const Int_t fgInitW;
static const Int_t fgInitH; static const Int_t fgInitH;
static const char * fgHelpText1; static const char *fgHelpText1;
static const char * fgHelpText2; static const char *fgHelpText2;
void CreateMenus(); void CreateMenus();
void CreateFrames(); void CreateFrames();
// non-copyable class // non-copyable class
TGLSAViewer(const TGLSAViewer &); TGLSAViewer(const TGLSAViewer &);
TGLSAViewer & operator = (const TGLSAViewer &); TGLSAViewer & operator = (const TGLSAViewer &);
public: public:
TGLSAViewer(TVirtualPad *pad); TGLSAViewer(TVirtualPad *pad);
TGLSAViewer(const TGWindow *parent, TVirtualPad *pad, TGedEditor *ged = 0); TGLSAViewer(const TGWindow *parent, TVirtualPad *pad, TGedEditor *ged = 0);
~TGLSAViewer(); ~TGLSAViewer();
virtual void CreateGLWidget();
virtual void DestroyGLWidget();
virtual const char* GetName() const { return "GLViewer"; } virtual const char* GetName() const { return "GLViewer"; }
virtual void SelectionChanged(); // *SIGNAL* virtual void SelectionChanged(); // *SIGNAL*
virtual void OverlayDragFinished(); // *SIGNAL* virtual void OverlayDragFinished(); // *SIGNAL*
virtual void RefreshPadEditor(TObject* changed=0); virtual void RefreshPadEditor(TObject* changed=0);
void Show(); void Show();
void Close(); void Close();
void DeleteMenuBar();
// GUI events - editors, frame etc // GUI events - editors, frame etc
Bool_t ProcessFrameMessage(Long_t msg, Long_t parm1, Long_t); Bool_t ProcessFrameMessage(Long_t msg, Long_t parm1, Long_t);
TGLSAFrame* GetFrame() const { return fFrame; } TGCompositeFrame* GetFrame() const { return fFrame; }
TGCompositeFrame* GetLeftVerticalFrame() const { return fLeftVerticalFra me; } TGCompositeFrame* GetLeftVerticalFrame() const { return fLeftVerticalFra me; }
TGedEditor* GetGedEditor() const { return fGedEditor; } TGedEditor* GetGedEditor() const { return fGedEditor; }
void ToggleEditObject(); void ToggleEditObject();
void ToggleOrthoRotate(); void ToggleOrthoRotate();
void ToggleOrthoDolly(); void ToggleOrthoDolly();
ClassDef(TGLSAViewer, 0); // Standalone GL viewer. ClassDef(TGLSAViewer, 0); // Standalone GL viewer.
}; };
 End of changes. 12 change blocks. 
20 lines changed or deleted 18 lines changed or added


 TGLScenePad.h   TGLScenePad.h 
// @(#)root/gl:$Id: TGLScenePad.h 26367 2008-11-21 18:08:30Z matevz $ // @(#)root/gl:$Id: TGLScenePad.h 26649 2008-12-04 11:30:23Z 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_TGLScenePad #ifndef ROOT_TGLScenePad
#define ROOT_TGLScenePad #define ROOT_TGLScenePad
skipping to change at line 91 skipping to change at line 91
virtual Int_t DistancetoPrimitive(Int_t /*px*/, Int_t /*py*/) { return 9999; } virtual Int_t DistancetoPrimitive(Int_t /*px*/, Int_t /*py*/) { return 9999; }
virtual void ExecuteEvent(Int_t /*event*/, Int_t /*px*/, Int_t /*py*/) {} virtual void ExecuteEvent(Int_t /*event*/, Int_t /*px*/, Int_t /*py*/) {}
virtual Bool_t PreferLocalFrame() const { return kTRUE; } virtual Bool_t PreferLocalFrame() const { return kTRUE; }
virtual void BeginScene(); virtual void BeginScene();
virtual Bool_t BuildingScene() const { return CurrentLock() == kModifyLo ck; } virtual Bool_t BuildingScene() const { return CurrentLock() == kModifyLo ck; }
virtual void EndScene(); virtual void EndScene();
virtual Int_t AddObject(const TBuffer3D& buffer, Bool_t* addChildren = 0); virtual Int_t AddObject(const TBuffer3D& buffer, Bool_t* addChildren = 0);
virtual Int_t AddObject(UInt_t physicalID, const TBuffer3D& buffer, Boo virtual Int_t AddObject(UInt_t physicalID, const TBuffer3D& buffer, Boo
l_t* addChildren = kFALSE); l_t* addChildren = 0);
virtual Bool_t OpenComposite(const TBuffer3D& buffer, Bool_t* addChildre virtual Bool_t OpenComposite(const TBuffer3D& buffer, Bool_t* addChildre
n = kFALSE); n = 0);
virtual void CloseComposite(); virtual void CloseComposite();
virtual void AddCompositeOp(UInt_t operation); virtual void AddCompositeOp(UInt_t operation);
ClassDef(TGLScenePad, 0); // GL-scene filled via TPad-TVirtualViewer int erface. ClassDef(TGLScenePad, 0); // GL-scene filled via TPad-TVirtualViewer int erface.
}; };
#endif #endif
 End of changes. 2 change blocks. 
5 lines changed or deleted 5 lines changed or added


 TGLViewer.h   TGLViewer.h 
// @(#)root/gl:$Id: TGLViewer.h 26367 2008-11-21 18:08:30Z matevz $ // @(#)root/gl:$Id: TGLViewer.h 26849 2008-12-11 21:39:15Z 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 196 skipping to change at line 196
virtual void AddCompositeOp(UInt_t) {} virtual void AddCompositeOp(UInt_t) {}
virtual void PrintObjects(); virtual void PrintObjects();
virtual void ResetCameras() { SetupCameras(kTRUE); } virtual void ResetCameras() { SetupCameras(kTRUE); }
virtual void ResetCamerasAfterNextUpdate() { fResetCamerasOnNextUpdate = kTRUE; } virtual void ResetCamerasAfterNextUpdate() { fResetCamerasOnNextUpdate = kTRUE; }
virtual void RefreshPadEditor(TObject* = 0) {} virtual void RefreshPadEditor(TObject* = 0) {}
TGLWidget* GetGLWidget() { return fGLWidget; } TGLWidget* GetGLWidget() { return fGLWidget; }
virtual void CreateGLWidget() {}
virtual void DestroyGLWidget() {}
Int_t GetDev() const { return fGLDevice; } Int_t GetDev() const { return fGLDevice; }
Color_t GetClearColor() const { return fClearColor; } Color_t GetClearColor() const { return fClearColor; }
void SetClearColor(Color_t col) { fClearColor = col; } void SetClearColor(Color_t col) { fClearColor = col; }
Bool_t GetSmartRefresh() const { return fSmartRefresh; } Bool_t GetSmartRefresh() const { return fSmartRefresh; }
void SetSmartRefresh(Bool_t smart_ref) { fSmartRefresh = smart_ref; } void SetSmartRefresh(Bool_t smart_ref) { fSmartRefresh = smart_ref; }
TGLLightSet* GetLightSet() const { return fLightSet; } TGLLightSet* GetLightSet() const { return fLightSet; }
TGLClipSet * GetClipSet() const { return fClipSet; } TGLClipSet * GetClipSet() const { return fClipSet; }
// External GUI component interface // External GUI component interface
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TGMenu.h   TGMenu.h 
// @(#)root/gui:$Id: TGMenu.h 26290 2008-11-19 11:49:09Z bellenot $ // @(#)root/gui:$Id: TGMenu.h 26554 2008-12-01 16:35:47Z bellenot $
// Author: Fons Rademakers 09/01/98 // Author: Fons Rademakers 09/01/98
/************************************************************************* /*************************************************************************
* 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 259 skipping to change at line 259
class TGMenuTitle : public TGFrame { class TGMenuTitle : public TGFrame {
protected: protected:
TGPopupMenu *fMenu; // attached popup menu TGPopupMenu *fMenu; // attached popup menu
TGHotString *fLabel; // menu title TGHotString *fLabel; // menu title
Int_t fTitleId; // id of selected menu item Int_t fTitleId; // id of selected menu item
void *fTitleData; // user data associated with selected item void *fTitleData; // user data associated with selected item
Bool_t fState; // menu title state (active/not activ e) Bool_t fState; // menu title state (active/not activ e)
Int_t fHkeycode; // hot key code Int_t fHkeycode; // hot key code
FontStruct_t fFontStruct; // font FontStruct_t fFontStruct; // font
Pixel_t fTextColor; // text color
GContext_t fNormGC, fSelGC; // normal and selection graphics cont exts GContext_t fNormGC, fSelGC; // normal and selection graphics cont exts
virtual void DoRedraw(); virtual void DoRedraw();
static const TGFont *fgDefaultFont; static const TGFont *fgDefaultFont;
static const TGGC *fgDefaultSelectedGC; static const TGGC *fgDefaultSelectedGC;
static const TGGC *fgDefaultGC; static const TGGC *fgDefaultGC;
private: private:
TGMenuTitle(const TGMenuTitle&); // not implemented TGMenuTitle(const TGMenuTitle&); // not implemented
skipping to change at line 282 skipping to change at line 283
static FontStruct_t GetDefaultFontStruct(); static FontStruct_t GetDefaultFontStruct();
static const TGGC &GetDefaultSelectedGC(); static const TGGC &GetDefaultSelectedGC();
static const TGGC &GetDefaultGC(); static const TGGC &GetDefaultGC();
TGMenuTitle(const TGWindow *p = 0, TGHotString *s = 0, TGPopupMenu *menu = 0, TGMenuTitle(const TGWindow *p = 0, TGHotString *s = 0, TGPopupMenu *menu = 0,
GContext_t norm = GetDefaultGC()(), GContext_t norm = GetDefaultGC()(),
FontStruct_t font = GetDefaultFontStruct(), FontStruct_t font = GetDefaultFontStruct(),
UInt_t options = 0); UInt_t options = 0);
virtual ~TGMenuTitle() { if (fLabel) delete fLabel; } virtual ~TGMenuTitle() { if (fLabel) delete fLabel; }
Pixel_t GetTextColor() const { return fTextColor; }
void SetTextColor(Pixel_t col) { fTextColor = col; }
virtual void SetState(Bool_t state); virtual void SetState(Bool_t state);
Bool_t GetState() const { return fState; } Bool_t GetState() const { return fState; }
Int_t GetHotKeyCode() const { return fHkeycode; } Int_t GetHotKeyCode() const { return fHkeycode; }
TGPopupMenu *GetMenu() const { return fMenu; } TGPopupMenu *GetMenu() const { return fMenu; }
const char *GetName() const { return fLabel ? fLabel->GetString() : 0; } const char *GetName() const { return fLabel ? fLabel->GetString() : 0; }
virtual void DoSendMessage(); virtual void DoSendMessage();
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
ClassDef(TGMenuTitle,0) // Menu title class ClassDef(TGMenuTitle,0) // Menu title class
}; };
skipping to change at line 345 skipping to change at line 348
TGPopupMenu *before = 0); TGPopupMenu *before = 0);
virtual void AddPopup(const char *s, TGPopupMenu *menu, TGLayoutHints *l , virtual void AddPopup(const char *s, TGPopupMenu *menu, TGLayoutHints *l ,
TGPopupMenu *before = 0); TGPopupMenu *before = 0);
virtual TGPopupMenu *AddPopup(const TString &s, Int_t padleft = 4, Int_t padright = 0, virtual TGPopupMenu *AddPopup(const TString &s, Int_t padleft = 4, Int_t padright = 0,
Int_t padtop = 0, Int_t padbottom = 0); Int_t padtop = 0, Int_t padbottom = 0);
virtual void AddTitle(TGMenuTitle *title, TGLayoutHints *l, TGPopupMenu *before = 0); virtual void AddTitle(TGMenuTitle *title, TGLayoutHints *l, TGPopupMenu *before = 0);
virtual TGPopupMenu *GetPopup(const char *s); virtual TGPopupMenu *GetPopup(const char *s);
virtual TGPopupMenu *RemovePopup(const char *s); virtual TGPopupMenu *RemovePopup(const char *s);
virtual TList *GetTitles() const { return fTitles; }
virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleButton(Event_t *event);
virtual Bool_t HandleMotion(Event_t *event); virtual Bool_t HandleMotion(Event_t *event);
virtual Bool_t HandleKey(Event_t *event); virtual Bool_t HandleKey(Event_t *event);
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void Layout(); virtual void Layout();
void PopupConnection(); void PopupConnection();
TGFrameElement* GetLastOnLeft(); TGFrameElement* GetLastOnLeft();
ClassDef(TGMenuBar,0) // Menu bar class ClassDef(TGMenuBar,0) // Menu bar class
}; };
 End of changes. 4 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TGPack.h   TGPack.h 
// @(#)root/eve:$Id: TGPack.h 25239 2008-08-25 19:08:32Z bellenot $ // @(#)root/eve:$Id: TGPack.h 26800 2008-12-10 16:20:20Z bellenot $
// 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 32 skipping to change at line 32
protected: protected:
Bool_t fVertical; Bool_t fVertical;
Bool_t fUseSplitters; Bool_t fUseSplitters;
Int_t fSplitterLen; Int_t fSplitterLen;
Int_t fDragOverflow; //! Int_t fDragOverflow; //!
Int_t GetFrameLength(const TGFrame* f) const { return fVertical ? f->GetHeight() : f->GetWidth(); } Int_t GetFrameLength(const TGFrame* f) const { return fVertical ? f->GetHeight() : f->GetWidth(); }
Int_t GetLength() const { return GetFrameL ength(this); } Int_t GetLength() const { return GetFrameL ength(this); }
Int_t GetAvailableLength() const;
void SetFrameLength (TGFrame* f, Int_t len); void SetFrameLength (TGFrame* f, Int_t len);
void SetFramePosition(TGFrame* f, Int_t pos); void SetFramePosition(TGFrame* f, Int_t pos);
Int_t NumberOfRealFrames() const; Int_t NumberOfRealFrames() const;
Int_t LengthOfRealFrames() const; Int_t LengthOfRealFrames() const;
void ResizeExistingFrames(Int_t amount); void ResizeExistingFrames(Int_t amount);
void ExpandExistingFrames(Int_t amount); void ExpandExistingFrames(Int_t amount);
void ShrinkExistingFrames(Int_t amount); void ShrinkExistingFrames(Int_t amount);
void RefitFramesToPack(); void RefitFramesToPack();
void FindFrames(TGFrame* splitter, TGFrame*& f0, TGFrame*& f1) ; void FindFrames(TGFrame* splitter, TGFrame*& f0, TGFrame*& f1) ;
void AddFrameInternal(TGFrame *f, TGLayoutHints* l = 0);
Int_t RemoveFrameInternal(TGFrame *f);
public: public:
TGPack(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, TGPack(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options
UInt_t options = 0, = 0,
Pixel_t back = GetDefaultFrameBackground()); Pixel_t back = GetDefaultFrameBackground());
TGPack(TGClient *c, Window_t id, const TGWindow *parent = 0); TGPack(TGClient *c, Window_t id, const TGWindow *parent = 0);
virtual ~TGPack(); virtual ~TGPack();
virtual void AddFrame(TGFrame *f, TGLayoutHints *l = 0); virtual void AddFrame(TGFrame *f, TGLayoutHints *l = 0);
virtual void DeleteFrame(TGFrame *f);
virtual void RemoveFrame(TGFrame *f); virtual void RemoveFrame(TGFrame *f);
virtual void ShowFrame(TGFrame *f); virtual void ShowFrame(TGFrame *f);
virtual void HideFrame(TGFrame *f); virtual void HideFrame(TGFrame *f);
using TGCompositeFrame::Resize; using TGCompositeFrame::Resize;
virtual void Resize(UInt_t w = 0, UInt_t h = 0); virtual void Resize(UInt_t w = 0, UInt_t h = 0);
virtual void MoveResize(Int_t x, Int_t y, UInt_t w = 0, UInt_t h = 0); virtual void MoveResize(Int_t x, Int_t y, UInt_t w = 0, UInt_t h = 0);
virtual void Layout(); virtual void Layout();
void EqualizeFrames();
void HandleSplitterStart(); void HandleSplitterStart();
void HandleSplitterResize(Int_t delta); void HandleSplitterResize(Int_t delta);
// ---------------------------------------------------------------- // ----------------------------------------------------------------
// Once children are present, this should be kept fixed, or rewritten.
// OK to change when there is one child.
Bool_t GetVertical() const { return fVertical; } Bool_t GetVertical() const { return fVertical; }
void SetVertical(Bool_t x) { fVertical = x; } void SetVertical(Bool_t x);
// For now assume this is always true. Lenght of splitter = 4 pixels. // For now assume this is always true. Lenght of splitter = 4 pixels.
//Bool_t GetUseSplitters() const { return fUseSplitters; } // Bool_t GetUseSplitters() const { return fUseSplitters; }
//void SetUseSplitters(Bool_t x) { fUseSplitters = x; } // void SetUseSplitters(Bool_t x) { fUseSplitters = x; }
ClassDef(TGPack, 0); // Short description. ClassDef(TGPack, 0); // Horizontal or vertical stack of frames.
}; };
#endif #endif
 End of changes. 10 change blocks. 
9 lines changed or deleted 14 lines changed or added


 TGStatusBar.h   TGStatusBar.h 
// @(#)root/gui:$Id: TGStatusBar.h 23115 2008-04-10 13:35:37Z rdm $ // @(#)root/gui:$Id: TGStatusBar.h 26692 2008-12-06 10:54:36Z bellenot $
// Author: Fons Rademakers 23/01/98 // Author: Fons Rademakers 23/01/98
/************************************************************************* /*************************************************************************
* 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 64 skipping to change at line 64
TGStatusBar(const TGWindow *p = 0, UInt_t w = 4, UInt_t h = 2, TGStatusBar(const TGWindow *p = 0, UInt_t w = 4, UInt_t h = 2,
UInt_t options = kSunkenFrame | kHorizontalFrame, UInt_t options = kSunkenFrame | kHorizontalFrame,
Pixel_t back = GetDefaultFrameBackground()); Pixel_t back = GetDefaultFrameBackground());
virtual ~TGStatusBar(); virtual ~TGStatusBar();
virtual void DrawBorder(); virtual void DrawBorder();
virtual void SetText(TGString *text, Int_t partidx = 0); virtual void SetText(TGString *text, Int_t partidx = 0);
virtual void SetText(const char *text, Int_t partidx = 0); virtual void SetText(const char *text, Int_t partidx = 0);
void AddText(const char *text, Int_t partidx = 0) void AddText(const char *text, Int_t partidx = 0)
{ SetText(text, partidx); } //*MENU* { SetText(text, partidx); } //*MENU*
const char *GetText(Int_t partidx = 0) const;
virtual void SetParts(Int_t npart); //*MENU* virtual void SetParts(Int_t npart); //*MENU*
virtual void SetParts(Int_t *parts, Int_t npart); virtual void SetParts(Int_t *parts, Int_t npart);
void Draw3DCorner(Bool_t corner) { f3DCorner = corner; } void Draw3DCorner(Bool_t corner) { f3DCorner = corner; }
TGCompositeFrame *GetBarPart(Int_t npart) const; TGCompositeFrame *GetBarPart(Int_t npart) const;
TGDimension GetDefaultSize() const; TGDimension GetDefaultSize() const;
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
ClassDef(TGStatusBar,0) // Status bar widget ClassDef(TGStatusBar,0) // Status bar widget
}; };
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TGTable.h   TGTable.h 
skipping to change at line 42 skipping to change at line 42
class TGTableFrame; class TGTableFrame;
class TGTableHeaderFrame; class TGTableHeaderFrame;
class TGTextButton; class TGTextButton;
class TGNumberEntryField; class TGNumberEntryField;
class TGLabel; class TGLabel;
class TGTextEntry; class TGTextEntry;
class TTableRange; class TTableRange;
class TGTable : public TGCompositeFrame, public TGWidget { class TGTable : public TGCompositeFrame, public TGWidget {
private: protected:
TObjArray *fRows; // Array of rows TObjArray *fRows; // Array of rows
TObjArray *fRowHeaders; // Array of row headers TObjArray *fRowHeaders; // Array of row headers
TObjArray *fColumnHeaders; // Array of column headers TObjArray *fColumnHeaders; // Array of column headers
TGTableHeader *fTableHeader; // Top left element of the table TGTableHeader *fTableHeader; // Top left element of the table
Bool_t fReadOnly; // Table readonly state Bool_t fReadOnly; // Table readonly state
Pixel_t fSelectColor; // Select Color Pixel_t fSelectColor; // Select Color
Int_t fTMode; // Text justify mode Int_t fTMode; // Text justify mode
Bool_t fAllData; // Is the data bigger than the table Bool_t fAllData; // Is the data bigger than the table
TTableRange *fCurrentRange; // Range of data currently loaded TTableRange *fCurrentRange; // Range of data currently loaded
TTableRange *fDataRange; // Full range of the data set TTableRange *fDataRange; // Full range of the data set
skipping to change at line 97 skipping to change at line 97
// Data members to keep track of LayoutHints that can't be // Data members to keep track of LayoutHints that can't be
// automatically cleaned // automatically cleaned
TList *fCellHintsList; TList *fCellHintsList;
TList *fRHdrHintsList; TList *fRHdrHintsList;
TList *fCHdrHintsList; TList *fCHdrHintsList;
TList *fMainHintsList; // List for all hints used in the main table fr ame TList *fMainHintsList; // List for all hints used in the main table fr ame
// Add rows and/or colums to the edge of the table. // Add rows and/or colums to the edge of the table.
void Init(); virtual void Init();
// Remove rows and/or colums from the edge of the table. // Remove rows and/or colums from the edge of the table.
protected: protected:
TVirtualTableInterface *fInterface; // Interface to the data source TVirtualTableInterface *fInterface; // Interface to the data source
virtual void DoRedraw(); virtual void DoRedraw();
virtual void Expand(UInt_t nrows, UInt_t ncolumns); virtual void Expand(UInt_t nrows, UInt_t ncolumns);
virtual void ExpandColumns(UInt_t ncolumns); virtual void ExpandColumns(UInt_t ncolumns);
virtual void ExpandRows(UInt_t nrows); virtual void ExpandRows(UInt_t nrows);
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGTableCell.h   TGTableCell.h 
skipping to change at line 30 skipping to change at line 30
class TGTooltip; class TGTooltip;
class TGPicture; class TGPicture;
class TObjArray; class TObjArray;
class TGWindow; class TGWindow;
class TGToolTip; class TGToolTip;
class TGTableCell : public TGFrame { class TGTableCell : public TGFrame {
friend class TGTable; friend class TGTable;
private:
void Init(Bool_t resize);
protected: protected:
TGString *fLabel; // Text as shown in the cell TGString *fLabel; // Text as shown in the cell
TGToolTip *fTip; // Possible Tooltip TGToolTip *fTip; // Possible Tooltip
Bool_t fReadOnly; // Cell readonly state Bool_t fReadOnly; // Cell readonly state
Bool_t fEnabled; // Cell enabled state Bool_t fEnabled; // Cell enabled state
Int_t fTMode; // Text justify mode Int_t fTMode; // Text justify mode
TGPicture *fImage; // Image or icon TGPicture *fImage; // Image or icon
UInt_t fTWidth; // Label width UInt_t fTWidth; // Label width
UInt_t fTHeight; // Label heigth UInt_t fTHeight; // Label heigth
FontStruct_t fFontStruct; // Font of the label FontStruct_t fFontStruct; // Font of the label
skipping to change at line 58 skipping to change at line 56
static const TGGC *fgDefaultGC; // Default graphics context static const TGGC *fgDefaultGC; // Default graphics context
static const TGFont *fgDefaultFont; // Default font static const TGFont *fgDefaultFont; // Default font
virtual void DoRedraw(); virtual void DoRedraw();
virtual void DrawBorder(); virtual void DrawBorder();
virtual void DrawBorder(Handle_t id, Int_t x, Int_t y); virtual void DrawBorder(Handle_t id, Int_t x, Int_t y);
virtual void MoveDraw(Int_t x, Int_t y); virtual void MoveDraw(Int_t x, Int_t y);
virtual void Resize(UInt_t width, UInt_t height); virtual void Resize(UInt_t width, UInt_t height);
virtual void Resize(TGDimension newsize); virtual void Resize(TGDimension newsize);
void Highlight(); virtual void Highlight();
void Init(Bool_t resize);
public: public:
static FontStruct_t GetDefaultFontStruct(); static FontStruct_t GetDefaultFontStruct();
static const TGGC &GetDefaultGC(); static const TGGC &GetDefaultGC();
TGTableCell(const TGWindow *p = 0, TGTable *table = 0, TGString *label = 0, TGTableCell(const TGWindow *p = 0, TGTable *table = 0, TGString *label = 0,
UInt_t row = 0, UInt_t column = 0, UInt_t width = 80, UInt_t row = 0, UInt_t column = 0, UInt_t width = 80,
UInt_t height = 25, GContext_t norm = GetDefaultGC()(), UInt_t height = 25, GContext_t norm = GetDefaultGC()(),
FontStruct_t font = GetDefaultFontStruct(), UInt_t option = 0, FontStruct_t font = GetDefaultFontStruct(), UInt_t option = 0,
Bool_t resize = kTRUE); Bool_t resize = kTRUE);
 End of changes. 2 change blocks. 
3 lines changed or deleted 2 lines changed or added


 TGTableContainer.h   TGTableContainer.h 
skipping to change at line 20 skipping to change at line 20
#ifndef ROOT_TGCanvas #ifndef ROOT_TGCanvas
#include "TGCanvas.h" #include "TGCanvas.h"
#endif #endif
#ifndef ROOT_TGTableHeader #ifndef ROOT_TGTableHeader
#include "TGTableHeader.h" #include "TGTableHeader.h"
#endif #endif
class TGTableFrame : public TQObject { class TGTableFrame : public TQObject {
private: protected:
TGCompositeFrame *fFrame; // Composite frame used as a container TGCompositeFrame *fFrame; // Composite frame used as a container
TGCanvas *fCanvas; // Pointer to the canvas that used this frame . TGCanvas *fCanvas; // Pointer to the canvas that used this frame .
public: public:
TGTableFrame(const TGWindow *p, UInt_t nrows, UInt_t ncolumns); TGTableFrame(const TGWindow *p, UInt_t nrows, UInt_t ncolumns);
virtual ~TGTableFrame() { delete fFrame; } virtual ~TGTableFrame() { delete fFrame; }
TGFrame *GetFrame() const { return fFrame; } TGFrame *GetFrame() const { return fFrame; }
void SetCanvas(TGCanvas *canvas) { fCanvas = canvas; } void SetCanvas(TGCanvas *canvas) { fCanvas = canvas; }
void HandleMouseWheel(Event_t *event); void HandleMouseWheel(Event_t *event);
virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h);
ClassDef(TGTableFrame, 0) // A frame used internally by TGTable. ClassDef(TGTableFrame, 0) // A frame used internally by TGTable.
}; };
class TGTableHeaderFrame: public TGCompositeFrame { class TGTableHeaderFrame: public TGCompositeFrame {
private:
protected:
Int_t fX0; // X coordinate of the header frame Int_t fX0; // X coordinate of the header frame
Int_t fY0; // Y coordinate of the header frame Int_t fY0; // Y coordinate of the header frame
TGTable *fTable; // Table that this frame belongs to TGTable *fTable; // Table that this frame belongs to
protected:
public: public:
TGTableHeaderFrame(const TGWindow *p, TGTable *table = 0, UInt_t w = 1, TGTableHeaderFrame(const TGWindow *p, TGTable *table = 0, UInt_t w = 1,
UInt_t h = 1, EHeaderType type = kColumnHeader, UInt_t h = 1, EHeaderType type = kColumnHeader,
UInt_t option = 0); UInt_t option = 0);
~TGTableHeaderFrame() {} ~TGTableHeaderFrame() {}
virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h);
ClassDef(TGTableHeaderFrame, 0) // A frame used internally by TGTable. ClassDef(TGTableHeaderFrame, 0) // A frame used internally by TGTable.
}; };
 End of changes. 3 change blocks. 
4 lines changed or deleted 3 lines changed or added


 TGTableHeader.h   TGTableHeader.h 
skipping to change at line 28 skipping to change at line 28
enum EHeaderType { enum EHeaderType {
kColumnHeader, kColumnHeader,
kRowHeader, kRowHeader,
kTableHeader kTableHeader
}; };
class TGWindow; class TGWindow;
class TGTableHeader : public TGTableCell { class TGTableHeader : public TGTableCell {
private: protected:
EHeaderType fType; // Type of header EHeaderType fType; // Type of header
UInt_t fWidth; // Width for the column UInt_t fWidth; // Width for the column
UInt_t fHeight; // Height of the row UInt_t fHeight; // Height of the row
Bool_t fReadOnly; // Cell readonly state Bool_t fReadOnly; // Cell readonly state
Bool_t fEnabled; // Cell enabled state Bool_t fEnabled; // Cell enabled state
Bool_t fHasOwnLabel; // Flag on default or specific label usage Bool_t fHasOwnLabel; // Flag on default or specific label usage
void Init(); void Init();
protected:
public: public:
TGTableHeader(const TGWindow *p = 0, TGTable *table = 0, TGTableHeader(const TGWindow *p = 0, TGTable *table = 0,
TGString *label = 0, UInt_t position = 0, TGString *label = 0, UInt_t position = 0,
EHeaderType type = kColumnHeader, UInt_t width = 80, EHeaderType type = kColumnHeader, UInt_t width = 80,
UInt_t height = 25, GContext_t norm = GetDefaultGC()(), UInt_t height = 25, GContext_t norm = GetDefaultGC()(),
FontStruct_t font = GetDefaultFontStruct(), FontStruct_t font = GetDefaultFontStruct(),
UInt_t option = 0); UInt_t option = 0);
TGTableHeader(const TGWindow *p, TGTable *table, const char *label, TGTableHeader(const TGWindow *p, TGTable *table, const char *label,
UInt_t position, EHeaderType type = kColumnHeader, UInt_t position, EHeaderType type = kColumnHeader,
 End of changes. 2 change blocks. 
4 lines changed or deleted 2 lines changed or added


 TGeoManager.h   TGeoManager.h 
// @(#)root/geom:$Id: TGeoManager.h 26088 2008-11-06 09:16:43Z brun $ // @(#)root/geom:$Id: TGeoManager.h 26991 2008-12-17 15:16:28Z brun $
// Author: Andrei Gheata 25/10/01 // Author: Andrei Gheata 25/10/01
/************************************************************************* /*************************************************************************
* 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 343 skipping to change at line 343
//--- geometry queries //--- geometry queries
TGeoNode *CrossBoundaryAndLocate(Bool_t downwards, TGeoNode *skipnode); TGeoNode *CrossBoundaryAndLocate(Bool_t downwards, TGeoNode *skipnode);
TGeoNode *FindNextBoundary(Double_t stepmax=TGeoShape::Big( ),const char *path="", Bool_t frombdr=kFALSE); TGeoNode *FindNextBoundary(Double_t stepmax=TGeoShape::Big( ),const char *path="", Bool_t frombdr=kFALSE);
TGeoNode *FindNextDaughterBoundary(Double_t *point, Double_ t *dir, Int_t &idaughter, Bool_t compmatrix=kFALSE); TGeoNode *FindNextDaughterBoundary(Double_t *point, Double_ t *dir, Int_t &idaughter, Bool_t compmatrix=kFALSE);
TGeoNode *FindNextBoundaryAndStep(Double_t stepmax=TGeoShap e::Big(), Bool_t compsafe=kFALSE); TGeoNode *FindNextBoundaryAndStep(Double_t stepmax=TGeoShap e::Big(), Bool_t compsafe=kFALSE);
TGeoNode *FindNode(Bool_t safe_start=kTRUE); TGeoNode *FindNode(Bool_t safe_start=kTRUE);
TGeoNode *FindNode(Double_t x, Double_t y, Double_t z); TGeoNode *FindNode(Double_t x, Double_t y, Double_t z);
Double_t *FindNormal(Bool_t forward=kTRUE); Double_t *FindNormal(Bool_t forward=kTRUE);
Double_t *FindNormalFast(); Double_t *FindNormalFast();
TGeoNode *InitTrack(Double_t *point, Double_t *dir); TGeoNode *InitTrack(const Double_t *point, const Double_t * dir);
TGeoNode *InitTrack(Double_t x, Double_t y, Double_t z, Dou ble_t nx, Double_t ny, Double_t nz); TGeoNode *InitTrack(Double_t x, Double_t y, Double_t z, Dou ble_t nx, Double_t ny, Double_t nz);
void ResetState(); void ResetState();
Double_t Safety(Bool_t inside=kFALSE); Double_t Safety(Bool_t inside=kFALSE);
TGeoNode *SearchNode(Bool_t downwards=kFALSE, const TGeoNod e *skipnode=0); TGeoNode *SearchNode(Bool_t downwards=kFALSE, const TGeoNod e *skipnode=0);
TGeoNode *Step(Bool_t is_geom=kTRUE, Bool_t cross=kTRUE); TGeoNode *Step(Bool_t is_geom=kTRUE, Bool_t cross=kTRUE);
void DisableInactiveVolumes() {fActivity=kTRUE;} void DisableInactiveVolumes() {fActivity=kTRUE;}
void EnableInactiveVolumes() {fActivity=kFALSE;} void EnableInactiveVolumes() {fActivity=kFALSE;}
void SetCurrentTrack(Int_t i) {fCurrentTrack = (TVirtu alGeoTrack*)fTracks->At(i);} void SetCurrentTrack(Int_t i) {fCurrentTrack = (TVirtu alGeoTrack*)fTracks->At(i);}
void SetCurrentTrack(TVirtualGeoTrack *track) {fCurren tTrack=track;} void SetCurrentTrack(TVirtualGeoTrack *track) {fCurren tTrack=track;}
Int_t GetNtracks() const {return fNtracks;} Int_t GetNtracks() const {return fNtracks;}
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGeoNavigator.h   TGeoNavigator.h 
// @(#)root/geom:$Id: TGeoNavigator.h 25777 2008-10-10 10:37:48Z brun $ // @(#)root/geom:$Id: TGeoNavigator.h 26991 2008-12-17 15:16:28Z brun $
// Author: Mihaela Gheata 30/05/07 // Author: Mihaela Gheata 30/05/07
/************************************************************************* /*************************************************************************
* 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 113 skipping to change at line 113
Int_t GetNmany() const {return fNmany;} Int_t GetNmany() const {return fNmany;}
//--- geometry queries //--- geometry queries
TGeoNode *CrossBoundaryAndLocate(Bool_t downwards, TGeoNode *skipnode); TGeoNode *CrossBoundaryAndLocate(Bool_t downwards, TGeoNode *skipnode);
TGeoNode *FindNextBoundary(Double_t stepmax=TGeoShape::Big( ),const char *path="", Bool_t frombdr=kFALSE); TGeoNode *FindNextBoundary(Double_t stepmax=TGeoShape::Big( ),const char *path="", Bool_t frombdr=kFALSE);
TGeoNode *FindNextDaughterBoundary(Double_t *point, Double_ t *dir, Int_t &idaughter, Bool_t compmatrix=kFALSE); TGeoNode *FindNextDaughterBoundary(Double_t *point, Double_ t *dir, Int_t &idaughter, Bool_t compmatrix=kFALSE);
TGeoNode *FindNextBoundaryAndStep(Double_t stepmax=TGeoShap e::Big(), Bool_t compsafe=kFALSE); TGeoNode *FindNextBoundaryAndStep(Double_t stepmax=TGeoShap e::Big(), Bool_t compsafe=kFALSE);
TGeoNode *FindNode(Bool_t safe_start=kTRUE); TGeoNode *FindNode(Bool_t safe_start=kTRUE);
TGeoNode *FindNode(Double_t x, Double_t y, Double_t z); TGeoNode *FindNode(Double_t x, Double_t y, Double_t z);
Double_t *FindNormal(Bool_t forward=kTRUE); Double_t *FindNormal(Bool_t forward=kTRUE);
Double_t *FindNormalFast(); Double_t *FindNormalFast();
TGeoNode *InitTrack(Double_t *point, Double_t *dir); TGeoNode *InitTrack(const Double_t *point, const Double_t * dir);
TGeoNode *InitTrack(Double_t x, Double_t y, Double_t z, Dou ble_t nx, Double_t ny, Double_t nz); TGeoNode *InitTrack(Double_t x, Double_t y, Double_t z, Dou ble_t nx, Double_t ny, Double_t nz);
void ResetState(); void ResetState();
void ResetAll(); void ResetAll();
Double_t Safety(Bool_t inside=kFALSE); Double_t Safety(Bool_t inside=kFALSE);
TGeoNode *SearchNode(Bool_t downwards=kFALSE, const TGeoNod e *skipnode=0); TGeoNode *SearchNode(Bool_t downwards=kFALSE, const TGeoNod e *skipnode=0);
TGeoNode *Step(Bool_t is_geom=kTRUE, Bool_t cross=kTRUE); TGeoNode *Step(Bool_t is_geom=kTRUE, Bool_t cross=kTRUE);
const Double_t *GetLastPoint() const {return fLastPoint;} const Double_t *GetLastPoint() const {return fLastPoint;}
Int_t GetVirtualLevel(); Int_t GetVirtualLevel();
Bool_t GotoSafeLevel(); Bool_t GotoSafeLevel();
Int_t GetSafeLevel() const; Int_t GetSafeLevel() const;
skipping to change at line 166 skipping to change at line 166
const Double_t *GetCurrentPoint() const {return fPoint;} const Double_t *GetCurrentPoint() const {return fPoint;}
const Double_t *GetCurrentDirection() const {return fDirection;} const Double_t *GetCurrentDirection() const {return fDirection;}
TGeoVolume *GetCurrentVolume() const {return fCurrentNode->Ge tVolume();} TGeoVolume *GetCurrentVolume() const {return fCurrentNode->Ge tVolume();}
const Double_t *GetCldirChecked() const {return fCldirChecked;} const Double_t *GetCldirChecked() const {return fCldirChecked;}
const Double_t *GetCldir() const {return fCldir;} const Double_t *GetCldir() const {return fCldir;}
// Double_t GetNormalChecked() const {return fNormalChecked ;} // Double_t GetNormalChecked() const {return fNormalChecked ;}
const Double_t *GetNormal() const {return fNormal;} const Double_t *GetNormal() const {return fNormal;}
Int_t GetLevel() const {return fLevel;} Int_t GetLevel() const {return fLevel;}
const char *GetPath() const; const char *GetPath() const;
Int_t GetStackLevel() const {return fCache->GetStack Level();} Int_t GetStackLevel() const {return fCache->GetStack Level();}
void SetCurrentPoint(Double_t *point) {memcpy(fPoint,p oint,3*sizeof(Double_t));} void SetCurrentPoint(const Double_t *point) {memcpy(fP oint,point,3*sizeof(Double_t));}
void SetCurrentPoint(Double_t x, Double_t y, Double_t z) { void SetCurrentPoint(Double_t x, Double_t y, Double_t z) {
fPoint[0]=x; fPoint[1]=y; fPoint[2]=z;} fPoint[0]=x; fPoint[1]=y; fPoint[2]=z;}
void SetLastPoint(Double_t x, Double_t y, Double_t z) { void SetLastPoint(Double_t x, Double_t y, Double_t z) {
fLastPoint[0]=x; fLastPoint[1]=y; fLast Point[2]=z;} fLastPoint[0]=x; fLastPoint[1]=y; fLast Point[2]=z;}
void SetCurrentDirection(Double_t *dir) {memcpy(fDirec tion,dir,3*sizeof(Double_t));} void SetCurrentDirection(const Double_t *dir) {memcpy( fDirection,dir,3*sizeof(Double_t));}
void SetCurrentDirection(Double_t nx, Double_t ny, Dou ble_t nz) { void SetCurrentDirection(Double_t nx, Double_t ny, Dou ble_t nz) {
fDirection[0]=nx; fDirection[1]=ny; fDi rection[2]=nz;} fDirection[0]=nx; fDirection[1]=ny; fDi rection[2]=nz;}
// void SetNormalChecked(Double_t norm) {fNormalChecked =norm;} // void SetNormalChecked(Double_t norm) {fNormalChecked =norm;}
void SetCldirChecked(Double_t *dir) {memcpy(fCldirChec ked, dir, 3*sizeof(Double_t));} void SetCldirChecked(Double_t *dir) {memcpy(fCldirChec ked, dir, 3*sizeof(Double_t));}
//--- point/vector reference frame conversion //--- point/vector reference frame conversion
void LocalToMaster(const Double_t *local, Double_t *ma ster) const {fCache->LocalToMaster(local, master);} void LocalToMaster(const Double_t *local, Double_t *ma ster) const {fCache->LocalToMaster(local, master);}
void LocalToMasterVect(const Double_t *local, Double_t *master) const {fCache->LocalToMasterVect(local, master);} void LocalToMasterVect(const Double_t *local, Double_t *master) const {fCache->LocalToMasterVect(local, master);}
void LocalToMasterBomb(const Double_t *local, Double_t *master) const {fCache->LocalToMasterBomb(local, master);} void LocalToMasterBomb(const Double_t *local, Double_t *master) const {fCache->LocalToMasterBomb(local, master);}
void MasterToLocal(const Double_t *master, Double_t *l ocal) const {fCache->MasterToLocal(master, local);} void MasterToLocal(const Double_t *master, Double_t *l ocal) const {fCache->MasterToLocal(master, local);}
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 TGlobal.h   TGlobal.h 
// @(#)root/meta:$Id: TGlobal.h 24077 2008-05-31 19:39:09Z brun $ // @(#)root/meta:$Id: TGlobal.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 13/11/95 // Author: Rene Brun 13/11/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 34 skipping to change at line 34
#include "TDictionary.h" #include "TDictionary.h"
#endif #endif
class TGlobal : public TDictionary { class TGlobal : public TDictionary {
private: private:
DataMemberInfo_t *fInfo; //pointer to CINT data member info DataMemberInfo_t *fInfo; //pointer to CINT data member info
public: public:
TGlobal(DataMemberInfo_t *info = 0); TGlobal(DataMemberInfo_t *info = 0);
TGlobal (const TGlobal &);
TGlobal &operator=(const TGlobal &);
virtual ~TGlobal(); virtual ~TGlobal();
Int_t GetArrayDim() const; Int_t GetArrayDim() const;
Int_t GetMaxIndex(Int_t dim) const; Int_t GetMaxIndex(Int_t dim) const;
void *GetAddress() const; void *GetAddress() const;
const char *GetTypeName() const; const char *GetTypeName() const;
const char *GetFullTypeName() const; const char *GetFullTypeName() const;
Long_t Property() const; Long_t Property() const;
ClassDef(TGlobal,0) //Global variable class ClassDef(TGlobal,0) //Global variable class
}; };
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TH1.h   TH1.h 
// @(#)root/hist:$Id: TH1.h 25487 2008-09-22 12:44:13Z moneta $ // @(#)root/hist:$Id: TH1.h 26511 2008-11-28 15:35:51Z moneta $
// Author: Rene Brun 26/12/94 // Author: Rene Brun 26/12/94
/************************************************************************* /*************************************************************************
* 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 139 skipping to change at line 139
// TH1 status bits // TH1 status bits
enum { enum {
kNoStats = BIT(9), // don't draw stats box kNoStats = BIT(9), // don't draw stats box
kUserContour = BIT(10), // user specified contour levels kUserContour = BIT(10), // user specified contour levels
kCanRebin = BIT(11), // can rebin axis kCanRebin = BIT(11), // can rebin axis
kLogX = BIT(15), // X-axis in log scale kLogX = BIT(15), // X-axis in log scale
kIsZoomed = BIT(16), // bit set when zooming on Y axis kIsZoomed = BIT(16), // bit set when zooming on Y axis
kNoTitle = BIT(17), // don't draw the histogram title kNoTitle = BIT(17), // don't draw the histogram title
kIsAverage = BIT(18) // Bin contents are average (used by Add) kIsAverage = BIT(18) // Bin contents are average (used by Add)
}; };
// size of statistics data (size of array used in GetStats()/ PutStats
)
// s[0] = sumw s[1] = sumw2
// s[2] = sumwx s[3] = sumwx2
// s[4] = sumwy s[5] = sumwy2 s[6] = sumwxy
// s[7] = sumwz s[8] = sumwz2 s[9] = sumwxz s[10] = sumwyz
// s[11] = sumwt s[12] = sumwt2 (11 and 12 used onl
y by TProfile3D)
enum {
kNstat = 13 // size of statistics data (up to TProfile3D)
};
TH1(const TH1&); TH1(const TH1&);
virtual ~TH1(); virtual ~TH1();
virtual void Add(TF1 *h1, Double_t c1=1, Option_t *option=""); virtual void Add(TF1 *h1, Double_t c1=1, Option_t *option="");
virtual void Add(const TH1 *h1, Double_t c1=1); virtual void Add(const TH1 *h1, Double_t c1=1);
virtual void Add(const TH1 *h, const TH1 *h2, Double_t c1=1, Double_ t c2=1); // *MENU* virtual void Add(const TH1 *h, const TH1 *h2, Double_t c1=1, Double_ t c2=1); // *MENU*
virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin);
virtual void AddBinContent(Int_t bin, Double_t w); virtual void AddBinContent(Int_t bin, Double_t w);
static void AddDirectory(Bool_t add=kTRUE); static void AddDirectory(Bool_t add=kTRUE);
 End of changes. 2 change blocks. 
1 lines changed or deleted 12 lines changed or added


 THtml.h   THtml.h 
// @(#)root/html:$Id: THtml.h 25528 2008-09-25 09:10:11Z axel $ // @(#)root/html:$Id: THtml.h 26944 2008-12-16 10:27:55Z brun $
// Author: Nenad Buncic 18/10/95 // Author: Nenad Buncic 18/10/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 40 skipping to change at line 40
#endif #endif
#ifndef ROOT_TExMap #ifndef ROOT_TExMap
#include "TExMap.h" #include "TExMap.h"
#endif #endif
#include <map> #include <map>
class TClass; class TClass;
class TClassDocInfo; class TClassDocInfo;
class TGClient;
class TVirtualMutex; class TVirtualMutex;
class THtml: public TObject { class THtml: public TObject {
public: public:
//______________________________________________________________ //______________________________________________________________
// Helper base class. // Helper base class.
class THelperBase: public TObject { class THelperBase: public TObject {
public: public:
THelperBase(): fHtml(0) {} THelperBase(): fHtml(0) {}
virtual ~THelperBase(); virtual ~THelperBase();
skipping to change at line 107 skipping to change at line 108
class TFileSysDir; class TFileSysDir;
class TFileSysDB; class TFileSysDB;
//______________________________________________________________ //______________________________________________________________
// Utility class representing a directory entry // Utility class representing a directory entry
class TFileSysEntry: public TObject { class TFileSysEntry: public TObject {
public: public:
TFileSysEntry(const char* name, TFileSysDir* parent): TFileSysEntry(const char* name, TFileSysDir* parent):
fName(name), fParent(parent), fLevel(parent ? parent->GetLevel() + 1 : 0) {} fName(name), fParent(parent), fLevel(parent ? parent->GetLevel() + 1 : 0) {}
const char* GetName() const { return fName; } const char* GetName() const { return fName; }
virtual ULong_t Hash() const { return fName.Hash(); } virtual ULong_t Hash() const { return fName.Hash(); }
void GetFullName(TString& fullname) const { virtual void GetFullName(TString& fullname, Bool_t asIncluded) const
fullname = ""; {
if (fParent) { if (fParent) {
fParent->GetFullName(fullname); fParent->GetFullName(fullname, asIncluded);
fullname += "/"; fullname += "/";
} } else
fullname = "";
fullname += fName; fullname += fName;
} }
TFileSysDir* GetParent() const { return fParent; } TFileSysDir* GetParent() const { return fParent; }
Int_t GetLevel() const { return fLevel; } Int_t GetLevel() const { return fLevel; }
private: protected:
TString fName; // name of the element TString fName; // name of the element
TFileSysDir* fParent; // parent directory TFileSysDir* fParent; // parent directory
Int_t fLevel; // level of directory Int_t fLevel; // level of directory
ClassDef(TFileSysEntry, 0); // an entry of the local file system ClassDef(TFileSysEntry, 0); // an entry of the local file system
}; };
//______________________________________________________________ //______________________________________________________________
// Utility class representing a directory // Utility class representing a directory
class TFileSysDir: public TFileSysEntry { class TFileSysDir: public TFileSysEntry {
public: public:
TFileSysDir(const char* name, TFileSysDir* parent): TFileSysDir(const char* name, TFileSysDir* parent):
TFileSysEntry(name, parent) TFileSysEntry(name, parent)
{ fFiles.SetOwner(); fDirs.SetOwner(); } { fFiles.SetOwner(); fDirs.SetOwner(); }
const TList* GetFiles() const { return &fFiles; } const TList* GetFiles() const { return &fFiles; }
const TList* GetSubDirs() const { return &fDirs; } const TList* GetSubDirs() const { return &fDirs; }
void Recurse(TFileSysDB* db, const char* path); void Recurse(TFileSysDB* db, const char* path);
private: protected:
TList fFiles; TList fFiles;
TList fDirs; TList fDirs;
ClassDef(TFileSysDir, 0); // an directory if the local file system ClassDef(TFileSysDir, 0); // an directory of the local file system
};
//______________________________________________________________
// Utility class representing a root directory as specified in
// THtml::GetInputPath()
class TFileSysRoot: public TFileSysDir {
public:
TFileSysRoot(const char* name, TFileSysDB* parent):
TFileSysDir(name, parent) {}
void GetFullName(TString& fullname, Bool_t asIncluded) const {
// prepend directory part of THtml::GetInputPath() only
// if !asIncluded
fullname = "";
if (!asIncluded)
fullname += fName;
}
ClassDef(TFileSysRoot, 0); // an root directory of the local file sys
tem
}; };
//______________________________________________________________ //______________________________________________________________
// Utility class representing a directory // Utility class representing a directory
class TFileSysDB: public TFileSysDir { class TFileSysDB: public TFileSysDir {
public: public:
TFileSysDB(const char* path, const char* ignore, Int_t maxdirlevel): TFileSysDB(const char* path, const char* ignore, Int_t maxdirlevel):
TFileSysDir(path, 0), fIgnorePath(ignore), fMaxLevel(maxdirlevel) TFileSysDir(path, 0), fIgnorePath(ignore), fMaxLevel(maxdirlevel)
{ Fill(); } { Fill(); }
TExMap& GetMapIno() { return fMapIno; } TExMap& GetMapIno() { return fMapIno; }
THashTable& GetEntries() { return fEntries; } THashTable& GetEntries() { return fEntries; }
const TString& GetIgnore() const { return fIgnorePath; } const TString& GetIgnore() const { return fIgnorePath; }
Int_t GetMaxLevel() const { return fMaxLevel; } Int_t GetMaxLevel() const { return fMaxLevel; }
protected: protected:
void Fill() { Recurse(this, GetName()); } void Fill();
private: private:
TExMap fMapIno; // inode to TFileSysDir map, to detect softlinks TExMap fMapIno; // inode to TFileSysDir map, to detect softlinks
THashTable fEntries; // hash map of all filenames without paths THashTable fEntries; // hash map of all filenames without paths
TString fIgnorePath; // regexp of path to ignore while building entr y tree TString fIgnorePath; // regexp of path to ignore while building entr y tree
Int_t fMaxLevel; // maximum level of directory nesting Int_t fMaxLevel; // maximum level of directory nesting
ClassDef(TFileSysDB, 0); // instance of file system data ClassDef(TFileSysDB, 0); // instance of file system data
}; };
//______________________________________________________________ //______________________________________________________________
skipping to change at line 202 skipping to change at line 221
TString fIncludePath; // directory prefixes (":" delimited ) to remove when quoting include files TString fIncludePath; // directory prefixes (":" delimited ) to remove when quoting include files
TString fIgnorePath; // regexp pattern for directories to ignore ("\b(CVS|\.svn)\b") for ROOT TString fIgnorePath; // regexp pattern for directories to ignore ("\b(CVS|\.svn)\b") for ROOT
TString fDocPath; // subdir to check for module docume ntation ("doc" for ROOT) TString fDocPath; // subdir to check for module docume ntation ("doc" for ROOT)
TString fMacroPath; // subdir of fDocPath for macros run via the Begin/End Macro directive; ("macros" for ROOT) TString fMacroPath; // subdir of fDocPath for macros run via the Begin/End Macro directive; ("macros" for ROOT)
TString fDotDir; // directory of GraphViz's dot binar y TString fDotDir; // directory of GraphViz's dot binar y
TString fEtcDir; // directory containing auxiliary fi les TString fEtcDir; // directory containing auxiliary fi les
TString fOutputDir; // output directory TString fOutputDir; // output directory
}; };
public: public:
enum EConvertOutput {
kNoOutput, // do not run the source, do not show its output
kInterpretedOutput, // interpret the source and show output
kCompiledOutput, // run the source through ACLiC and show output
kForceOutput = 0x10, // re-generate the output files (canvas PNGs)
kSeparateProcessOutput = 0x20 // run the script in a separate process
};
THtml(); THtml();
virtual ~THtml(); virtual ~THtml();
static void LoadAllLibs(); static void LoadAllLibs();
// Functions to generate documentation // Functions to generate documentation
void Convert(const char *filename, const char *title, void Convert(const char *filename, const char *title,
const char *dirname = "", const char *relpath="../ const char *dirname = "", const char *relpath="../
"); ",
Int_t includeOutput = kNoOutput,
const char* context = "");
void CreateHierarchy(); void CreateHierarchy();
void MakeAll(Bool_t force=kFALSE, const char *filter="*", void MakeAll(Bool_t force=kFALSE, const char *filter="*",
int numthreads = 1); int numthreads = 1);
void MakeClass(const char *className, Bool_t force=kFALSE); void MakeClass(const char *className, Bool_t force=kFALSE);
void MakeIndex(const char *filter="*"); void MakeIndex(const char *filter="*");
void MakeTree(const char *className, Bool_t force=kFALSE); void MakeTree(const char *className, Bool_t force=kFALSE);
// Configuration setters // Configuration setters
void SetModuleDefinition(const TModuleDefinition& md); void SetModuleDefinition(const TModuleDefinition& md);
void SetFileDefinition(const TFileDefinition& fd); void SetFileDefinition(const TFileDefinition& fd);
skipping to change at line 308 skipping to change at line 337
TFileSysDB* GetLocalFiles() const { if (!fLocalFiles) SetLocalFi les(); return fLocalFiles; } TFileSysDB* GetLocalFiles() const { if (!fLocalFiles) SetLocalFi les(); return fLocalFiles; }
TVirtualMutex* GetMakeClassMutex() const { return fMakeClassMutex; } TVirtualMutex* GetMakeClassMutex() const { return fMakeClassMutex; }
virtual void GetModuleNameForClass(TString& module, TClass* cl) c onst; virtual void GetModuleNameForClass(TString& module, TClass* cl) c onst;
const PathInfo_t& GetPathInfo() const { return fPathInfo; } const PathInfo_t& GetPathInfo() const { return fPathInfo; }
Bool_t HaveDot(); Bool_t HaveDot();
void HelperDeleted(THelperBase* who); void HelperDeleted(THelperBase* who);
static Bool_t IsNamespace(const TClass*cl); static Bool_t IsNamespace(const TClass*cl);
void SetDeclFileName(TClass* cl, const char* filename); void SetDeclFileName(TClass* cl, const char* filename);
void SetFoundDot(Bool_t found = kTRUE); void SetFoundDot(Bool_t found = kTRUE);
void SetImplFileName(TClass* cl, const char* filename); void SetImplFileName(TClass* cl, const char* filename);
void SetBatch(Bool_t batch = kTRUE) { fBatch = batch; }
Bool_t IsBatch() const { return fBatch; }
// unused // unused
void ReplaceSpecialChars(std::ostream&, const char*) { void ReplaceSpecialChars(std::ostream&, const char*) {
Error("ReplaceSpecialChars", Error("ReplaceSpecialChars",
"Removed, call TDocOutput::ReplaceSpecialChars() instead!"); } "Removed, call TDocOutput::ReplaceSpecialChars() instead!"); }
void SetEscape(char /*esc*/ ='\\') {} // for backward com p void SetEscape(char /*esc*/ ='\\') {} // for backward com p
protected: protected:
struct DocSyntax_t { struct DocSyntax_t {
TString fClassDocTag; // tag for class documentation TString fClassDocTag; // tag for class documentation
TString fAuthorTag; // tag for author TString fAuthorTag; // tag for author
skipping to change at line 367 skipping to change at line 397
static void *MakeClassThreaded(void* info); static void *MakeClassThreaded(void* info);
protected: protected:
TString fCounter; // counter string TString fCounter; // counter string
TString fCounterFormat; // counter printf-like format TString fCounterFormat; // counter printf-like format
TString fProductName; // name of the product to document TString fProductName; // name of the product to document
TIter *fThreadedClassIter; // fClasses iterator for MakeClassThr eaded TIter *fThreadedClassIter; // fClasses iterator for MakeClassThr eaded
Int_t fThreadedClassCount; // counter of processed classes for MakeClassThreaded Int_t fThreadedClassCount; // counter of processed classes for MakeClassThreaded
TVirtualMutex *fMakeClassMutex; // Mutex for MakeClassThreaded TVirtualMutex *fMakeClassMutex; // Mutex for MakeClassThreaded
TGClient *fGClient; // gClient, cached and queried through CINT
DocSyntax_t fDocSyntax; // doc syntax configuration DocSyntax_t fDocSyntax; // doc syntax configuration
LinkInfo_t fLinkInfo; // link (URL) configuration LinkInfo_t fLinkInfo; // link (URL) configuration
OutputStyle_t fOutputStyle; // output style configuration OutputStyle_t fOutputStyle; // output style configuration
mutable PathInfo_t fPathInfo; // path configuration mutable PathInfo_t fPathInfo; // path configuration
DocEntityInfo_t fDocEntityInfo; // data for documented entities DocEntityInfo_t fDocEntityInfo; // data for documented entities
mutable TPathDefinition *fPathDef; // object translating classes to modu le names mutable TPathDefinition *fPathDef; // object translating classes to modu le names
mutable TModuleDefinition *fModuleDef; // object translating classes to module names mutable TModuleDefinition *fModuleDef; // object translating classes to module names
mutable TFileDefinition* fFileDef; // object translating classes to file names mutable TFileDefinition* fFileDef; // object translating classes to file names
mutable TFileSysDB *fLocalFiles; // files found locally for a given s ource path mutable TFileSysDB *fLocalFiles; // files found locally for a given s ource path
Bool_t fBatch; // Whether to enable GUI output
ClassDef(THtml,0) //Convert class(es) into HTML file(s) ClassDef(THtml,0) //Convert class(es) into HTML file(s)
}; };
R__EXTERN THtml *gHtml; R__EXTERN THtml *gHtml;
#endif #endif
 End of changes. 14 change blocks. 
12 lines changed or deleted 46 lines changed or added


 TInterpreter.h   TInterpreter.h 
// @(#)root/meta:$Id: TInterpreter.h 25283 2008-08-27 16:56:42Z pcanal $ // @(#)root/meta:$Id: TInterpreter.h 26888 2008-12-12 21:43:12Z pcanal $
// Author: Fons Rademakers 01/03/96 // Author: Fons Rademakers 01/03/96
/************************************************************************* /*************************************************************************
* 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 34 skipping to change at line 34
#ifndef ROOT_TDictionary #ifndef ROOT_TDictionary
#include "TDictionary.h" #include "TDictionary.h"
#endif #endif
class TClass; class TClass;
class TEnv; class TEnv;
class TFunction; class TFunction;
class TMethod; class TMethod;
class TObjArray; class TObjArray;
class TVirtualMutex; class TVirtualMutex;
extern "C" { struct G__value; }
R__EXTERN TVirtualMutex *gCINTMutex; R__EXTERN TVirtualMutex *gCINTMutex;
class TInterpreter : public TNamed { class TInterpreter : public TNamed {
protected: protected:
virtual void Execute(TMethod *method, TObjArray *params, int *error = 0) = 0; virtual void Execute(TMethod *method, TObjArray *params, int *error = 0) = 0;
public: public:
enum EErrorCode { enum EErrorCode {
skipping to change at line 151 skipping to change at line 152
virtual void SetRTLD_LAZY() const {;} virtual void SetRTLD_LAZY() const {;}
virtual void SetTempLevel(int /* val */) const {;} virtual void SetTempLevel(int /* val */) const {;}
virtual int UnloadFile(const char * /* path */) const {return 0;} virtual int UnloadFile(const char * /* path */) const {return 0;}
// G__CallFunc interface // G__CallFunc interface
virtual void CallFunc_Delete(void * /* func */) const {;} virtual void CallFunc_Delete(void * /* func */) const {;}
virtual void CallFunc_Exec(CallFunc_t * /* func */, void * /* address */) const {;} virtual void CallFunc_Exec(CallFunc_t * /* func */, void * /* address */) const {;}
virtual Long_t CallFunc_ExecInt(CallFunc_t * /* func */, void * /* ad dress */) const {return 0;} virtual Long_t CallFunc_ExecInt(CallFunc_t * /* func */, void * /* ad dress */) const {return 0;}
virtual Long_t CallFunc_ExecInt64(CallFunc_t * /* func */, void * /* address */) const {return 0;} virtual Long_t CallFunc_ExecInt64(CallFunc_t * /* func */, void * /* address */) const {return 0;}
virtual Double_t CallFunc_ExecDouble(CallFunc_t * /* func */, void * /* address */) const {return 0;} virtual Double_t CallFunc_ExecDouble(CallFunc_t * /* func */, void * /* address */) const {return 0;}
virtual void *CallFunc_Factory() const {return 0;} virtual CallFunc_t *CallFunc_Factory() const {return 0;}
virtual void *CallFunc_FactoryCopy(CallFunc_t * /* func */) const {retu virtual CallFunc_t *CallFunc_FactoryCopy(CallFunc_t * /* func */) cons
rn 0;} t {return 0;}
virtual void *CallFunc_FactoryMethod(CallFunc_t * /* func */) const {re virtual MethodInfo_t *CallFunc_FactoryMethod(CallFunc_t * /* func */) co
turn 0;} nst {return 0;}
virtual void CallFunc_Init(CallFunc_t * /* func */) const {;} virtual void CallFunc_Init(CallFunc_t * /* func */) const {;}
virtual bool CallFunc_IsValid(CallFunc_t * /* func */) const {return 0 ;} virtual bool CallFunc_IsValid(CallFunc_t * /* func */) const {return 0 ;}
virtual void CallFunc_ResetArg(CallFunc_t * /* func */) const {;} virtual void CallFunc_ResetArg(CallFunc_t * /* func */) const {;}
virtual void CallFunc_SetArg(CallFunc_t * /*func */, Long_t /* param * /) const {;} virtual void CallFunc_SetArg(CallFunc_t * /*func */, Long_t /* param * /) const {;}
virtual void CallFunc_SetArg(CallFunc_t * /* func */, Double_t /* para m */) const {;} virtual void CallFunc_SetArg(CallFunc_t * /* func */, Double_t /* para m */) const {;}
virtual void CallFunc_SetArg(CallFunc_t * /* func */, Long64_t /* para m */) const {;} virtual void CallFunc_SetArg(CallFunc_t * /* func */, Long64_t /* para m */) const {;}
virtual void CallFunc_SetArg(CallFunc_t * /* func */, ULong64_t /* par am */) const {;} virtual void CallFunc_SetArg(CallFunc_t * /* func */, ULong64_t /* par am */) const {;}
virtual void CallFunc_SetArgArray(CallFunc_t * /* func */, Long_t * /* paramArr */, Int_t /* nparam */) const {;} virtual void CallFunc_SetArgArray(CallFunc_t * /* func */, Long_t * /* paramArr */, Int_t /* nparam */) const {;}
virtual void CallFunc_SetArgs(CallFunc_t * /* func */, const char * /* param */) const {;} virtual void CallFunc_SetArgs(CallFunc_t * /* func */, const char * /* param */) const {;}
virtual void CallFunc_SetFunc(CallFunc_t * /* func */, ClassInfo_t * / * info */, const char * /* method */, const char * /* params */, Long_t * / * Offset */) const {;} virtual void CallFunc_SetFunc(CallFunc_t * /* func */, ClassInfo_t * / * info */, const char * /* method */, const char * /* params */, Long_t * / * Offset */) const {;}
virtual void CallFunc_SetFunc(CallFunc_t * /* func */, MethodInfo_t * /* info */) const {;} virtual void CallFunc_SetFunc(CallFunc_t * /* func */, MethodInfo_t * /* info */) const {;}
virtual void CallFunc_SetFuncProto(CallFunc_t * /* func */, ClassInfo_ t * /* info */, const char * /* method */, const char * /* proto */, Long_t * /* Offset */) const {;} virtual void CallFunc_SetFuncProto(CallFunc_t * /* func */, ClassInfo_ t * /* info */, const char * /* method */, const char * /* proto */, Long_t * /* Offset */) const {;}
// G__ClassInfo interface // G__ClassInfo interface
virtual Long_t ClassInfo_ClassProperty(ClassInfo_t * /* info */) const { return 0;} virtual Long_t ClassInfo_ClassProperty(ClassInfo_t * /* info */) const { return 0;}
virtual void ClassInfo_Delete(ClassInfo_t * /* info */) const {;} virtual void ClassInfo_Delete(ClassInfo_t * /* info */) const {;}
virtual void ClassInfo_Delete(ClassInfo_t * /* info */, void * /* aren a */) const {;} virtual void ClassInfo_Delete(ClassInfo_t * /* info */, void * /* aren a */) const {;}
virtual void ClassInfo_DeleteArray(ClassInfo_t * /* info */, void * /* arena */, bool /* dtorOnly */) const {;} virtual void ClassInfo_DeleteArray(ClassInfo_t * /* info */, void * /* arena */, bool /* dtorOnly */) const {;}
virtual void ClassInfo_Destruct(ClassInfo_t * /* info */, void * /* ar ena */) const {;} virtual void ClassInfo_Destruct(ClassInfo_t * /* info */, void * /* ar ena */) const {;}
virtual void *ClassInfo_Factory() const {return 0;} virtual ClassInfo_t *ClassInfo_Factory() const {return 0;}
virtual void *ClassInfo_Factory(ClassInfo_t * /* cl */) const {return 0 virtual ClassInfo_t *ClassInfo_Factory(G__value * /* value */) const {r
;} eturn 0;}
virtual void *ClassInfo_Factory(const char * /* name */) const {return virtual ClassInfo_t *ClassInfo_Factory(ClassInfo_t * /* cl */) const {r
0;} eturn 0;}
virtual ClassInfo_t *ClassInfo_Factory(const char * /* name */) const {
return 0;}
virtual int ClassInfo_GetMethodNArg(ClassInfo_t * /* info */, const c har * /* method */,const char * /* proto */) const {return 0;} virtual int ClassInfo_GetMethodNArg(ClassInfo_t * /* info */, const c har * /* method */,const char * /* proto */) const {return 0;}
virtual bool ClassInfo_HasDefaultConstructor(ClassInfo_t * /* info */) const {return 0;} virtual bool ClassInfo_HasDefaultConstructor(ClassInfo_t * /* info */) const {return 0;}
virtual bool ClassInfo_HasMethod(ClassInfo_t * /* info */, const char * /* name */) const {return 0;} virtual bool ClassInfo_HasMethod(ClassInfo_t * /* info */, const char * /* name */) const {return 0;}
virtual void ClassInfo_Init(ClassInfo_t * /* info */, const char * /* funcname */) const {;} virtual void ClassInfo_Init(ClassInfo_t * /* info */, const char * /* funcname */) const {;}
virtual void ClassInfo_Init(ClassInfo_t * /* info */, int /* tagnum */ ) const {;} virtual void ClassInfo_Init(ClassInfo_t * /* info */, int /* tagnum */ ) const {;}
virtual bool ClassInfo_IsBase(ClassInfo_t * /* info */, const char * / * name */) const {return 0;} virtual bool ClassInfo_IsBase(ClassInfo_t * /* info */, const char * / * name */) const {return 0;}
virtual bool ClassInfo_IsEnum(const char * /* name */) const {return 0 ;} virtual bool ClassInfo_IsEnum(const char * /* name */) const {return 0 ;}
virtual bool ClassInfo_IsLoaded(ClassInfo_t * /* info */) const {retur n 0;} virtual bool ClassInfo_IsLoaded(ClassInfo_t * /* info */) const {retur n 0;}
virtual bool ClassInfo_IsValid(ClassInfo_t * /* info */) const {return 0;} virtual bool ClassInfo_IsValid(ClassInfo_t * /* info */) const {return 0;}
virtual bool ClassInfo_IsValidMethod(ClassInfo_t * /* info */, const c har * /* method */,const char * /* proto */, Long_t * /* offset */) const { return 0;} virtual bool ClassInfo_IsValidMethod(ClassInfo_t * /* info */, const c har * /* method */,const char * /* proto */, Long_t * /* offset */) const { return 0;}
skipping to change at line 203 skipping to change at line 205
virtual int ClassInfo_Size(ClassInfo_t * /* info */) const {return 0; } virtual int ClassInfo_Size(ClassInfo_t * /* info */) const {return 0; }
virtual Long_t ClassInfo_Tagnum(ClassInfo_t * /* info */) const {return 0;} virtual Long_t ClassInfo_Tagnum(ClassInfo_t * /* info */) const {return 0;}
virtual const char *ClassInfo_FileName(ClassInfo_t * /* info */) const { return 0;} virtual const char *ClassInfo_FileName(ClassInfo_t * /* info */) const { return 0;}
virtual const char *ClassInfo_FullName(ClassInfo_t * /* info */) const { return 0;} virtual const char *ClassInfo_FullName(ClassInfo_t * /* info */) const { return 0;}
virtual const char *ClassInfo_Name(ClassInfo_t * /* info */) const {retu rn 0;} virtual const char *ClassInfo_Name(ClassInfo_t * /* info */) const {retu rn 0;}
virtual const char *ClassInfo_Title(ClassInfo_t * /* info */) const {ret urn 0;} virtual const char *ClassInfo_Title(ClassInfo_t * /* info */) const {ret urn 0;}
virtual const char *ClassInfo_TmpltName(ClassInfo_t * /* info */) const {return 0;} virtual const char *ClassInfo_TmpltName(ClassInfo_t * /* info */) const {return 0;}
// G__BaseClassInfo interface // G__BaseClassInfo interface
virtual void BaseClassInfo_Delete(BaseClassInfo_t * /* bcinfo */) cons t {;} virtual void BaseClassInfo_Delete(BaseClassInfo_t * /* bcinfo */) cons t {;}
virtual void *BaseClassInfo_Factory(ClassInfo_t * /* info */) const {re turn 0;} virtual BaseClassInfo_t *BaseClassInfo_Factory(ClassInfo_t * /* info */ ) const {return 0;}
virtual int BaseClassInfo_Next(BaseClassInfo_t * /* bcinfo */) const {return 0;} virtual int BaseClassInfo_Next(BaseClassInfo_t * /* bcinfo */) const {return 0;}
virtual int BaseClassInfo_Next(BaseClassInfo_t * /* bcinfo */, int / * onlyDirect */) const {return 0;} virtual int BaseClassInfo_Next(BaseClassInfo_t * /* bcinfo */, int / * onlyDirect */) const {return 0;}
virtual Long_t BaseClassInfo_Offset(BaseClassInfo_t * /* bcinfo */) cons t {return 0;} virtual Long_t BaseClassInfo_Offset(BaseClassInfo_t * /* bcinfo */) cons t {return 0;}
virtual Long_t BaseClassInfo_Property(BaseClassInfo_t * /* bcinfo */) co nst {return 0;} virtual Long_t BaseClassInfo_Property(BaseClassInfo_t * /* bcinfo */) co nst {return 0;}
virtual Long_t BaseClassInfo_Tagnum(BaseClassInfo_t * /* bcinfo */) cons t {return 0;} virtual Long_t BaseClassInfo_Tagnum(BaseClassInfo_t * /* bcinfo */) cons t {return 0;}
virtual const char *BaseClassInfo_FullName(BaseClassInfo_t * /* bcinfo * /) const {return 0;} virtual const char *BaseClassInfo_FullName(BaseClassInfo_t * /* bcinfo * /) const {return 0;}
virtual const char *BaseClassInfo_Name(BaseClassInfo_t * /* bcinfo */) c onst {return 0;} virtual const char *BaseClassInfo_Name(BaseClassInfo_t * /* bcinfo */) c onst {return 0;}
virtual const char *BaseClassInfo_TmpltName(BaseClassInfo_t * /* bcinfo */) const {return 0;} virtual const char *BaseClassInfo_TmpltName(BaseClassInfo_t * /* bcinfo */) const {return 0;}
// G__DataMemberInfo interface // G__DataMemberInfo interface
virtual int DataMemberInfo_ArrayDim(DataMemberInfo_t * /* dminfo */) const {return 0;} virtual int DataMemberInfo_ArrayDim(DataMemberInfo_t * /* dminfo */) const {return 0;}
virtual void DataMemberInfo_Delete(DataMemberInfo_t * /* dminfo */) co nst {;} virtual void DataMemberInfo_Delete(DataMemberInfo_t * /* dminfo */) co nst {;}
virtual void *DataMemberInfo_Factory(ClassInfo_t * /* clinfo */ = 0) co virtual DataMemberInfo_t *DataMemberInfo_Factory(ClassInfo_t * /* clinf
nst {return 0;} o */ = 0) const {return 0;}
virtual void *DataMemberInfo_FactoryCopy(DataMemberInfo_t * /* dminfo * virtual DataMemberInfo_t *DataMemberInfo_FactoryCopy(DataMemberInfo_t *
/) const {return 0;} /* dminfo */) const {return 0;}
virtual bool DataMemberInfo_IsValid(DataMemberInfo_t * /* dminfo */) c onst {return 0;} virtual bool DataMemberInfo_IsValid(DataMemberInfo_t * /* dminfo */) c onst {return 0;}
virtual int DataMemberInfo_MaxIndex(DataMemberInfo_t * /* dminfo */, Int_t /* dim */) const {return 0;} virtual int DataMemberInfo_MaxIndex(DataMemberInfo_t * /* dminfo */, Int_t /* dim */) const {return 0;}
virtual int DataMemberInfo_Next(DataMemberInfo_t * /* dminfo */) cons t {return 0;} virtual int DataMemberInfo_Next(DataMemberInfo_t * /* dminfo */) cons t {return 0;}
virtual Long_t DataMemberInfo_Offset(DataMemberInfo_t * /* dminfo */) co nst {return 0;} virtual Long_t DataMemberInfo_Offset(DataMemberInfo_t * /* dminfo */) co nst {return 0;}
virtual Long_t DataMemberInfo_Property(DataMemberInfo_t * /* dminfo */) const {return 0;} virtual Long_t DataMemberInfo_Property(DataMemberInfo_t * /* dminfo */) const {return 0;}
virtual Long_t DataMemberInfo_TypeProperty(DataMemberInfo_t * /* dminfo */) const {return 0;} virtual Long_t DataMemberInfo_TypeProperty(DataMemberInfo_t * /* dminfo */) const {return 0;}
virtual int DataMemberInfo_TypeSize(DataMemberInfo_t * /* dminfo */) const {return 0;} virtual int DataMemberInfo_TypeSize(DataMemberInfo_t * /* dminfo */) const {return 0;}
virtual const char *DataMemberInfo_TypeName(DataMemberInfo_t * /* dminfo */) const {return 0;} virtual const char *DataMemberInfo_TypeName(DataMemberInfo_t * /* dminfo */) const {return 0;}
virtual const char *DataMemberInfo_TypeTrueName(DataMemberInfo_t * /* dm info */) const {return 0;} virtual const char *DataMemberInfo_TypeTrueName(DataMemberInfo_t * /* dm info */) const {return 0;}
virtual const char *DataMemberInfo_Name(DataMemberInfo_t * /* dminfo */) const {return 0;} virtual const char *DataMemberInfo_Name(DataMemberInfo_t * /* dminfo */) const {return 0;}
virtual const char *DataMemberInfo_Title(DataMemberInfo_t * /* dminfo */ ) const {return 0;} virtual const char *DataMemberInfo_Title(DataMemberInfo_t * /* dminfo */ ) const {return 0;}
virtual const char *DataMemberInfo_ValidArrayIndex(DataMemberInfo_t * /* dminfo */) const {return 0;} virtual const char *DataMemberInfo_ValidArrayIndex(DataMemberInfo_t * /* dminfo */) const {return 0;}
// G__MethodInfo interface // G__MethodInfo interface
virtual void MethodInfo_CreateSignature(MethodInfo_t * /* minfo */, TS tring & /* signature */) const {;} virtual void MethodInfo_CreateSignature(MethodInfo_t * /* minfo */, TS tring & /* signature */) const {;}
virtual void MethodInfo_Delete(MethodInfo_t * /* minfo */) const {;} virtual void MethodInfo_Delete(MethodInfo_t * /* minfo */) const {;}
virtual void *MethodInfo_Factory() const {return 0;} virtual MethodInfo_t *MethodInfo_Factory() const {return 0;}
virtual void *MethodInfo_FactoryCopy(MethodInfo_t * /* minfo */) const virtual MethodInfo_t *MethodInfo_FactoryCopy(MethodInfo_t * /* minfo */
{return 0;} ) const {return 0;}
virtual void *MethodInfo_InterfaceMethod(MethodInfo_t * /* minfo */) co virtual MethodInfo_t *MethodInfo_InterfaceMethod(MethodInfo_t * /* minf
nst {return 0;} o */) const {return 0;}
virtual bool MethodInfo_IsValid(MethodInfo_t * /* minfo */) const {ret urn 0;} virtual bool MethodInfo_IsValid(MethodInfo_t * /* minfo */) const {ret urn 0;}
virtual int MethodInfo_NArg(MethodInfo_t * /* minfo */) const {return 0;} virtual int MethodInfo_NArg(MethodInfo_t * /* minfo */) const {return 0;}
virtual int MethodInfo_NDefaultArg(MethodInfo_t * /* minfo */) const {return 0;} virtual int MethodInfo_NDefaultArg(MethodInfo_t * /* minfo */) const {return 0;}
virtual int MethodInfo_Next(MethodInfo_t * /* minfo */) const {return 0;} virtual int MethodInfo_Next(MethodInfo_t * /* minfo */) const {return 0;}
virtual Long_t MethodInfo_Property(MethodInfo_t * /* minfo */) const {re turn 0;} virtual Long_t MethodInfo_Property(MethodInfo_t * /* minfo */) const {re turn 0;}
virtual void *MethodInfo_Type(MethodInfo_t * /* minfo */) const {return 0;} virtual TypeInfo_t *MethodInfo_Type(MethodInfo_t * /* minfo */) const { return 0;}
virtual const char *MethodInfo_GetMangledName(MethodInfo_t * /* minfo */ ) const {return 0;} virtual const char *MethodInfo_GetMangledName(MethodInfo_t * /* minfo */ ) const {return 0;}
virtual const char *MethodInfo_GetPrototype(MethodInfo_t * /* minfo */) const {return 0;} virtual const char *MethodInfo_GetPrototype(MethodInfo_t * /* minfo */) const {return 0;}
virtual const char *MethodInfo_Name(MethodInfo_t * /* minfo */) const {r eturn 0;} virtual const char *MethodInfo_Name(MethodInfo_t * /* minfo */) const {r eturn 0;}
virtual const char *MethodInfo_TypeName(MethodInfo_t * /* minfo */) cons t {return 0;} virtual const char *MethodInfo_TypeName(MethodInfo_t * /* minfo */) cons t {return 0;}
virtual const char *MethodInfo_Title(MethodInfo_t * /* minfo */) const { return 0;} virtual const char *MethodInfo_Title(MethodInfo_t * /* minfo */) const { return 0;}
// G__MethodArgInfo interface // G__MethodArgInfo interface
virtual void MethodArgInfo_Delete(MethodArgInfo_t * /* marginfo */) co nst {;} virtual void MethodArgInfo_Delete(MethodArgInfo_t * /* marginfo */) co nst {;}
virtual void *MethodArgInfo_Factory() const {return 0;} virtual MethodArgInfo_t *MethodArgInfo_Factory() const {return 0;}
virtual void *MethodArgInfo_FactoryCopy(MethodArgInfo_t * /* marginfo * virtual MethodArgInfo_t *MethodArgInfo_FactoryCopy(MethodArgInfo_t * /*
/) const {return 0;} marginfo */) const {return 0;}
virtual bool MethodArgInfo_IsValid(MethodArgInfo_t * /* marginfo */) c onst {return 0;} virtual bool MethodArgInfo_IsValid(MethodArgInfo_t * /* marginfo */) c onst {return 0;}
virtual int MethodArgInfo_Next(MethodArgInfo_t * /* marginfo */) cons t {return 0;} virtual int MethodArgInfo_Next(MethodArgInfo_t * /* marginfo */) cons t {return 0;}
virtual Long_t MethodArgInfo_Property(MethodArgInfo_t * /* marginfo */) const {return 0;} virtual Long_t MethodArgInfo_Property(MethodArgInfo_t * /* marginfo */) const {return 0;}
virtual const char *MethodArgInfo_DefaultValue(MethodArgInfo_t * /* marg info */) const {return 0;} virtual const char *MethodArgInfo_DefaultValue(MethodArgInfo_t * /* marg info */) const {return 0;}
virtual const char *MethodArgInfo_Name(MethodArgInfo_t * /* marginfo */) const {return 0;} virtual const char *MethodArgInfo_Name(MethodArgInfo_t * /* marginfo */) const {return 0;}
virtual const char *MethodArgInfo_TypeName(MethodArgInfo_t * /* marginfo */) const {return 0;} virtual const char *MethodArgInfo_TypeName(MethodArgInfo_t * /* marginfo */) const {return 0;}
// G__TypeInfo interface // G__TypeInfo interface
virtual void TypeInfo_Delete(TypeInfo_t * /* tinfo */) const {;} virtual void TypeInfo_Delete(TypeInfo_t * /* tinfo */) const {;}
virtual void *TypeInfo_Factory() const {return 0;} virtual TypeInfo_t *TypeInfo_Factory() const {return 0;}
virtual TypeInfo_t *TypeInfo_Factory(G__value * /* value */) const {retu
rn 0;}
virtual TypeInfo_t *TypeInfo_FactoryCopy(TypeInfo_t * /* tinfo */) const
{return 0;}
virtual void TypeInfo_Init(TypeInfo_t * /* tinfo */, const char * /* f uncname */) const {;} virtual void TypeInfo_Init(TypeInfo_t * /* tinfo */, const char * /* f uncname */) const {;}
virtual bool TypeInfo_IsValid(TypeInfo_t * /* tinfo */) const {return 0;} virtual bool TypeInfo_IsValid(TypeInfo_t * /* tinfo */) const {return 0;}
virtual const char *TypeInfo_Name(TypeInfo_t * /* info */) const {return 0;}
virtual Long_t TypeInfo_Property(TypeInfo_t * /* tinfo */) const {return 0;} virtual Long_t TypeInfo_Property(TypeInfo_t * /* tinfo */) const {return 0;}
virtual int TypeInfo_RefType(TypeInfo_t * /* tinfo */) const {return 0;}
virtual int TypeInfo_Size(TypeInfo_t * /* tinfo */) const {return 0;} virtual int TypeInfo_Size(TypeInfo_t * /* tinfo */) const {return 0;}
virtual const char *TypeInfo_TrueName(TypeInfo_t * /* tinfo */) const {r eturn 0;} virtual const char *TypeInfo_TrueName(TypeInfo_t * /* tinfo */) const {r eturn 0;}
// G__TypedefInfo interface // G__TypedefInfo interface
virtual void TypedefInfo_Delete(TypedefInfo_t * /* tinfo */) const {;} virtual void TypedefInfo_Delete(TypedefInfo_t * /* tinfo */) const {;}
virtual void *TypedefInfo_Factory() const {return 0;} virtual TypedefInfo_t *TypedefInfo_Factory() const {return 0;}
virtual TypedefInfo_t *TypedefInfo_FactoryCopy(TypedefInfo_t * /* tinfo
*/) const {return 0;}
virtual void TypedefInfo_Init(TypedefInfo_t * /* tinfo */, const char * /* funcname */) const {;} virtual void TypedefInfo_Init(TypedefInfo_t * /* tinfo */, const char * /* funcname */) const {;}
virtual bool TypedefInfo_IsValid(TypedefInfo_t * /* tinfo */) const {r eturn 0;} virtual bool TypedefInfo_IsValid(TypedefInfo_t * /* tinfo */) const {r eturn 0;}
virtual Long_t TypedefInfo_Property(TypedefInfo_t * /* tinfo */) const { return 0;} virtual Long_t TypedefInfo_Property(TypedefInfo_t * /* tinfo */) const { return 0;}
virtual int TypedefInfo_Size(TypedefInfo_t * /* tinfo */) const {retu rn 0;} virtual int TypedefInfo_Size(TypedefInfo_t * /* tinfo */) const {retu rn 0;}
virtual const char *TypedefInfo_TrueName(TypedefInfo_t * /* tinfo */) co nst {return 0;} virtual const char *TypedefInfo_TrueName(TypedefInfo_t * /* tinfo */) co nst {return 0;}
virtual const char *TypedefInfo_Name(TypedefInfo_t * /* tinfo */) const {return 0;} virtual const char *TypedefInfo_Name(TypedefInfo_t * /* tinfo */) const {return 0;}
virtual const char *TypedefInfo_Title(TypedefInfo_t * /* tinfo */) const {return 0;} virtual const char *TypedefInfo_Title(TypedefInfo_t * /* tinfo */) const {return 0;}
static TInterpreter *&Instance(); static TInterpreter *&Instance();
 End of changes. 13 change blocks. 
28 lines changed or deleted 39 lines changed or added


 TKDTree.h   TKDTree.h 
#ifndef ROOT_TKDTree #ifndef ROOT_TKDTree
#define ROOT_TKDTree #define ROOT_TKDTree
#ifndef ROOT_TObject #ifndef ROOT_TObject
#include "TObject.h" #include "TObject.h"
#endif #endif
#include "TMath.h" #include "TMath.h"
#include <vector>
template <typename Index, typename Value> class TKDTree : public TObject template <typename Index, typename Value> class TKDTree : public TObject
{ {
public: public:
TKDTree(); TKDTree();
TKDTree(Index npoints, Index ndim, UInt_t bsize); TKDTree(Index npoints, Index ndim, UInt_t bsize);
TKDTree(Index npoints, Index ndim, UInt_t bsize, Value **data); TKDTree(Index npoints, Index ndim, UInt_t bsize, Value **data);
~TKDTree(); ~TKDTree();
skipping to change at line 54 skipping to change at line 55
//Getters for internal variables. //Getters for internal variables.
Int_t GetRowT0() {return fRowT0;} //! smallest terminal row Int_t GetRowT0() {return fRowT0;} //! smallest terminal row
Int_t GetCrossNode() {return fCrossNode;} //! cross node Int_t GetCrossNode() {return fCrossNode;} //! cross node
Int_t GetOffset() {return fOffset;} //! offset in fIndPoints Int_t GetOffset() {return fOffset;} //! offset in fIndPoints
Index* GetIndPoints() {return fIndPoints;} Index* GetIndPoints() {return fIndPoints;}
Index GetBucketSize() {return fBucketSize;} Index GetBucketSize() {return fBucketSize;}
void FindNearestNeighbors(const Value *point, const Int_t k, Index *i nd, Value *dist); void FindNearestNeighbors(const Value *point, const Int_t k, Index *i nd, Value *dist);
Index FindNode(const Value * point) const; Index FindNode(const Value * point) const;
void FindPoint(Value * point, Index &index, Int_t &iter); void FindPoint(Value * point, Index &index, Int_t &iter);
void FindInRangeA(Value * point, Value * delta, Index *res , Index &n void FindInRange(Value *point, Value range, std::vector<Index> &res);
points,Index & iter, Int_t bnode);
void FindInRangeB(Value * point, Value * delta, Index *res , Index &n
points,Index & iter, Int_t bnode);
void FindBNodeA(Value * point, Value * delta, Int_t &inode); void FindBNodeA(Value * point, Value * delta, Int_t &inode);
Bool_t IsTerminal(Index inode) const {return (inode>=fNNodes);} Bool_t IsTerminal(Index inode) const {return (inode>=fNNodes);}
Int_t IsOwner() { return fDataOwner; } Int_t IsOwner() { return fDataOwner; }
Value KOrdStat(Index ntotal, Value *a, Index k, Index *index) const; Value KOrdStat(Index ntotal, Value *a, Index k, Index *index) const;
void MakeBoundaries(Value *range = 0x0); void MakeBoundaries(Value *range = 0x0);
void MakeBoundariesExact(); void MakeBoundariesExact();
void SetData(Index npoints, Index ndim, UInt_t bsize, Value **data); void SetData(Index npoints, Index ndim, UInt_t bsize, Value **data);
Int_t SetData(Index idim, Value *data); Int_t SetData(Index idim, Value *data);
void SetOwner(Int_t owner) { fDataOwner = owner; } void SetOwner(Int_t owner) { fDataOwner = owner; }
void Spread(Index ntotal, Value *a, Index *index, Value &min, Value & max) const; void Spread(Index ntotal, Value *a, Index *index, Value &min, Value & max) const;
private: private:
TKDTree(const TKDTree &); // not implemented TKDTree(const TKDTree &); // not implemented
TKDTree<Index, Value>& operator=(const TKDTree<Index, Value>&); // not i mplemented TKDTree<Index, Value>& operator=(const TKDTree<Index, Value>&); // not i mplemented
void CookBoundaries(const Int_t node, Bool_t left); void CookBoundaries(const Int_t node, Bool_t left);
void UpdateNearestNeighbors(Index inode, const Value *point, Int_t kNN, Index *ind, Value *dist); void UpdateNearestNeighbors(Index inode, const Value *point, Int_t kNN, Index *ind, Value *dist);
void UpdateRange(Index inode, Value *point, Value range, std::vector<Ind ex> &res);
protected: protected:
Int_t fDataOwner; //! 0 - not owner, 2 - owner of the pointer array, 1 - owner of the whole 2-d array Int_t fDataOwner; //! 0 - not owner, 2 - owner of the pointer array, 1 - owner of the whole 2-d array
Int_t fNNodes; // size of node array Int_t fNNodes; // size of node array
Int_t fTotalNodes; // total number of nodes (fNNodes + terminal nodes) Int_t fTotalNodes; // total number of nodes (fNNodes + terminal nodes)
Index fNDim; // number of dimensions Index fNDim; // number of dimensions
Index fNDimm; // dummy 2*fNDim Index fNDimm; // dummy 2*fNDim
Index fNPoints; // number of multidimensional points Index fNPoints; // number of multidimensional points
Index fBucketSize; // size of the terminal nodes Index fBucketSize; // size of the terminal nodes
UChar_t *fAxis; //[fNNodes] nodes cutting axis UChar_t *fAxis; //[fNNodes] nodes cutting axis
 End of changes. 5 change blocks. 
4 lines changed or deleted 5 lines changed or added


 TKey.h   TKey.h 
// @(#)root/io:$Id: TKey.h 24037 2008-05-28 06:32:07Z brun $ // @(#)root/io:$Id: TKey.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 28/12/94 // Author: Rene Brun 28/12/94
/************************************************************************* /*************************************************************************
* 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 39 skipping to change at line 39
#ifndef ROOT_TBuffer #ifndef ROOT_TBuffer
#include "TBuffer.h" #include "TBuffer.h"
#endif #endif
class TClass; class TClass;
class TBrowser; class TBrowser;
class TDirectory; class TDirectory;
class TFile; class TFile;
class TKey : public TNamed { class TKey : public TNamed {
private:
TKey(const TKey&); // TKey objects are not copiable.
TKey& operator=(const TKey&); // TKey objects are not copiable.
protected: protected:
Int_t fVersion; //Key version identifier Int_t fVersion; //Key version identifier
Int_t fNbytes; //Number of bytes for the object on file Int_t fNbytes; //Number of bytes for the object on file
Int_t fObjlen; //Length of uncompressed object in bytes Int_t fObjlen; //Length of uncompressed object in bytes
TDatime fDatime; //Date/Time of insertion in file TDatime fDatime; //Date/Time of insertion in file
Short_t fKeylen; //Number of bytes for the key itself Short_t fKeylen; //Number of bytes for the key itself
Short_t fCycle; //Cycle number Short_t fCycle; //Cycle number
Long64_t fSeekKey; //Location of object on file Long64_t fSeekKey; //Location of object on file
Long64_t fSeekPdir; //Location of parent directory on file Long64_t fSeekPdir; //Location of parent directory on file
TString fClassName; //Object Class name TString fClassName; //Object Class name
Int_t fLeft; //Number of bytes left in current segment Int_t fLeft; //Number of bytes left in current segment
char *fBuffer; //Object buffer char *fBuffer; //Object buffer
TBuffer *fBufferRef; //Pointer to the TBuffer object TBuffer *fBufferRef; //Pointer to the TBuffer object
UShort_t fPidOffset; //! Offset to be added to the pid index in thi s key/buffer. This is actually saved in the high bits of fSeekPdir UShort_t fPidOffset; //! Offset to be added to the pid index in thi s key/buffer. This is actually saved in the high bits of fSeekPdir
TDirectory *fMotherDir; //! pointer to mother directory TDirectory *fMotherDir; //! pointer to mother directory
virtual Int_t Read(const char *name) { return TObject::Read(name); } virtual Int_t Read(const char *name) { return TObject::Read(name); }
virtual void Create(Int_t nbytes, TFile* f = 0); virtual void Create(Int_t nbytes, TFile* f = 0);
void Build(TDirectory* motherDir, const char* classname, Lon g64_t filepos); void Build(TDirectory* motherDir, const char* classname, Lon g64_t filepos);
TKey(const TKey&);
TKey& operator=(const TKey&);
public: public:
TKey(); TKey();
TKey(TDirectory* motherDir); TKey(TDirectory* motherDir);
TKey(const char *name, const char *title, const TClass *cl, Int_t nbytes , TDirectory* motherDir = 0); TKey(const char *name, const char *title, const TClass *cl, Int_t nbytes , TDirectory* motherDir = 0);
TKey(const TString &name, const TString &title, const TClass *cl, Int_t nbytes, TDirectory* motherDir = 0); TKey(const TString &name, const TString &title, const TClass *cl, Int_t nbytes, TDirectory* motherDir = 0);
TKey(const TObject *obj, const char *name, Int_t bufsize, TDirectory* mo therDir = 0); TKey(const TObject *obj, const char *name, Int_t bufsize, TDirectory* mo therDir = 0);
TKey(const void *obj, const TClass *cl, const char *name, Int_t bufsize, TDirectory* motherDir = 0); TKey(const void *obj, const TClass *cl, const char *name, Int_t bufsize, TDirectory* motherDir = 0);
TKey(Long64_t pointer, Int_t nbytes, TDirectory* motherDir = 0); TKey(Long64_t pointer, Int_t nbytes, TDirectory* motherDir = 0);
virtual ~TKey(); virtual ~TKey();
 End of changes. 3 change blocks. 
4 lines changed or deleted 6 lines changed or added


 TKeyMapFile.h   TKeyMapFile.h 
// @(#)root/io:$Id: TKeyMapFile.h 23122 2008-04-10 14:56:30Z rdm $ // @(#)root/io:$Id: TKeyMapFile.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 23/07/97 // Author: Rene Brun 23/07/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 33 skipping to change at line 33
#ifndef ROOT_TNamed #ifndef ROOT_TNamed
#include "TNamed.h" #include "TNamed.h"
#endif #endif
class TBrowser; class TBrowser;
class TMapFile; class TMapFile;
class TKeyMapFile : public TNamed { class TKeyMapFile : public TNamed {
private: private:
TKeyMapFile(const TKeyMapFile&); // TKeyMapFile objects are n
ot copiable.
TKeyMapFile& operator=(const TKeyMapFile&); // TKeyMapFile objects are n
ot copiable.
TMapFile *fMapFile; //pointer to map file TMapFile *fMapFile; //pointer to map file
public: public:
TKeyMapFile(); TKeyMapFile();
TKeyMapFile(const char *name, const char *classname, TMapFile *mapfile); TKeyMapFile(const char *name, const char *classname, TMapFile *mapfile);
virtual ~TKeyMapFile() {;} virtual ~TKeyMapFile() {;}
virtual void Browse(TBrowser *b); virtual void Browse(TBrowser *b);
ClassDef(TKeyMapFile,0); //Utility class for browsing TMapFile objects. ClassDef(TKeyMapFile,0); //Utility class for browsing TMapFile objects.
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TKeySQL.h   TKeySQL.h 
// @(#)root/sql:$Id: TKeySQL.h 24037 2008-05-28 06:32:07Z brun $ // @(#)root/sql:$Id: TKeySQL.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Sergey Linev 20/11/2005 // Author: Sergey Linev 20/11/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 29 skipping to change at line 29
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TKey #ifndef ROOT_TKey
#include "TKey.h" #include "TKey.h"
#endif #endif
class TSQLFile; class TSQLFile;
class TKeySQL : public TKey { class TKeySQL : public TKey {
private:
TKeySQL(const TKeySQL&); // TKeySQL objects are not copiable.
TKeySQL& operator=(const TKeySQL&); // TKeySQL objects are not copiable.
protected: protected:
TKeySQL(); TKeySQL();
virtual Int_t Read(const char *name) { return TKey::Read(name); } virtual Int_t Read(const char *name) { return TKey::Read(name); }
void StoreKeyObject(const void* obj, const TClass* cl); void StoreKeyObject(const void* obj, const TClass* cl);
void* ReadKeyObject(void* obj, const TClass* expectedClass); void* ReadKeyObject(void* obj, const TClass* expectedClass);
Long64_t fKeyId; //! key identifier in KeysTables Long64_t fKeyId; //! key identifier in KeysTables
Long64_t fObjId; //! stored object identifer Long64_t fObjId; //! stored object identifer
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TKeyXML.h   TKeyXML.h 
// @(#)root/xml:$Id: TKeyXML.h 24037 2008-05-28 06:32:07Z brun $ // @(#)root/xml:$Id: TKeyXML.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Sergey Linev 10.05.2004 // Author: Sergey Linev 10.05.2004
/************************************************************************* /*************************************************************************
* 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 25 skipping to change at line 25
#ifndef ROOT_TXMLEngine #ifndef ROOT_TXMLEngine
#include "TXMLEngine.h" #include "TXMLEngine.h"
#endif #endif
#ifndef ROOT_TKey #ifndef ROOT_TKey
#include "TKey.h" #include "TKey.h"
#endif #endif
class TXMLFile; class TXMLFile;
class TKeyXML : public TKey { class TKeyXML : public TKey {
protected:
TKeyXML();
public: private:
TKeyXML(TDirectory* mother, Long64_t keyid, const TObject* obj, const TKeyXML(const TKeyXML&); // TKeyXML objects are not copiable.
char* name = 0, const char* title = 0); TKeyXML& operator=(const TKeyXML&); // TKeyXML objects are not copiable.
TKeyXML(TDirectory* mother, Long64_t keyid, const void* obj, const TC
lass* cl, const char* name, const char* title = 0); protected:
TKeyXML(TDirectory* mother, Long64_t keyid, XMLNodePointer_t keynode) TKeyXML();
;
virtual ~TKeyXML(); public:
TKeyXML(TDirectory* mother, Long64_t keyid, const TObject* obj, const ch
// redefined TKey Methods ar* name = 0, const char* title = 0);
virtual void Delete(Option_t *option=""); TKeyXML(TDirectory* mother, Long64_t keyid, const void* obj, const TClas
virtual void DeleteBuffer() {} s* cl, const char* name, const char* title = 0);
virtual void FillBuffer(char *&) {} TKeyXML(TDirectory* mother, Long64_t keyid, XMLNodePointer_t keynode);
virtual char *GetBuffer() const { return 0; } virtual ~TKeyXML();
virtual Long64_t GetSeekKey() const { return fKeyNode ? 1024 : 0;}
virtual Long64_t GetSeekPdir() const { return fKeyNode ? 1024 : 0;} // redefined TKey Methods
//virtual ULong_t Hash() const { return 0; } virtual void Delete(Option_t *option="");
virtual void Keep() {} virtual void DeleteBuffer() {}
//virtual void ls(Option_t* ="") const; virtual void FillBuffer(char *&) {}
//virtual void Print(Option_t* ="") const {} virtual char *GetBuffer() const { return 0; }
virtual Long64_t GetSeekKey() const { return fKeyNode ? 1024 : 0;}
virtual Int_t Read(TObject* tobj); virtual Long64_t GetSeekPdir() const { return fKeyNode ? 1024 : 0;}
virtual TObject *ReadObj(); //virtual ULong_t Hash() const { return 0; }
virtual TObject *ReadObjWithBuffer(char *bufferRead); virtual void Keep() {}
virtual void *ReadObjectAny(const TClass *expectedClass); //virtual void ls(Option_t* ="") const;
//virtual void Print(Option_t* ="") const {}
virtual void ReadBuffer(char *&) {}
virtual void ReadFile() {} virtual Int_t Read(TObject* tobj);
virtual void SetBuffer() { fBuffer = 0; } virtual TObject *ReadObj();
virtual Int_t WriteFile(Int_t =1, TFile* = 0) { return 0; } virtual TObject *ReadObjWithBuffer(char *bufferRead);
virtual void *ReadObjectAny(const TClass *expectedClass);
// TKeyXML specific methods
virtual void ReadBuffer(char *&) {}
XMLNodePointer_t KeyNode() const { return fKeyNode; } virtual void ReadFile() {}
Long64_t GetKeyId() const { return fKeyId; } virtual void SetBuffer() { fBuffer = 0; }
Bool_t IsSubdir() const { return fSubdir; } virtual Int_t WriteFile(Int_t =1, TFile* = 0) { return 0; }
void SetSubir() { fSubdir = kTRUE; }
void UpdateObject(TObject* obj); // TKeyXML specific methods
void UpdateAttributes();
XMLNodePointer_t KeyNode() const { return fKeyNode; }
protected: Long64_t GetKeyId() const { return fKeyId; }
virtual Int_t Read(const char *name) { return TKey::Read(name); } Bool_t IsSubdir() const { return fSubdir; }
void StoreObject(const void* obj, const TClass* cl); void SetSubir() { fSubdir = kTRUE; }
void StoreKeyAttributes(); void UpdateObject(TObject* obj);
TXMLEngine* XMLEngine(); void UpdateAttributes();
void* XmlReadAny(void* obj, const TClass* expectedClass); protected:
virtual Int_t Read(const char *name) { return TKey::Read(name); }
XMLNodePointer_t fKeyNode; //! node with stored object void StoreObject(const void* obj, const TClass* cl);
Long64_t fKeyId; //! unique identifier of key for search void StoreKeyAttributes();
methods TXMLEngine* XMLEngine();
Bool_t fSubdir; //! indicates that key contains subdirec
tory void* XmlReadAny(void* obj, const TClass* expectedClass);
XMLNodePointer_t fKeyNode; //! node with stored object
Long64_t fKeyId; //! unique identifier of key for search met
hods
Bool_t fSubdir; //! indicates that key contains subdirector
y
ClassDef(TKeyXML,1) // a special TKey for XML files ClassDef(TKeyXML,1) // a special TKey for XML files
}; };
#endif #endif
 End of changes. 3 change blocks. 
56 lines changed or deleted 60 lines changed or added


 TLegend.h   TLegend.h 
// @(#)root/graf:$Id: TLegend.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/graf:$Id: TLegend.h 26711 2008-12-06 19:50:17Z brun $
// Author: Matthew.Adam.Dobbs 06/09/99 // Author: Matthew.Adam.Dobbs 06/09/99
/************************************************************************* /*************************************************************************
* 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 46 skipping to change at line 46
protected: protected:
TLegend& operator=(const TLegend&); TLegend& operator=(const TLegend&);
public: public:
TLegend(); TLegend();
TLegend( Double_t x1, Double_t y1, Double_t x2, Double_t y2, TLegend( Double_t x1, Double_t y1, Double_t x2, Double_t y2,
const char* header = "", Option_t* option="brNDC" ); const char* header = "", Option_t* option="brNDC" );
virtual ~TLegend(); virtual ~TLegend();
TLegend( const TLegend &legend ); TLegend( const TLegend &legend );
TLegendEntry *AddEntry(TObject* obj, const char* label = "", Option_t* option = "lpf" ); TLegendEntry *AddEntry(const TObject* obj, const char* label = "", Opt ion_t* option = "lpf" );
TLegendEntry *AddEntry(const char *name, const char* label = "", Optio n_t* option = "lpf" ); TLegendEntry *AddEntry(const char *name, const char* label = "", Optio n_t* option = "lpf" );
virtual void Clear( Option_t* option = "" ); // *MENU* virtual void Clear( Option_t* option = "" ); // *MENU*
virtual void Copy( TObject &obj ) const; virtual void Copy( TObject &obj ) const;
virtual void DeleteEntry(); // *MENU* virtual void DeleteEntry(); // *MENU*
virtual void Draw( Option_t* option = "" ); virtual void Draw( Option_t* option = "" );
virtual void EditEntryAttFill(); virtual void EditEntryAttFill();
virtual void EditEntryAttLine(); virtual void EditEntryAttLine();
virtual void EditEntryAttMarker(); virtual void EditEntryAttMarker();
virtual void EditEntryAttText(); virtual void EditEntryAttText();
Float_t GetColumnSeparation() const { return fColumnSeparation; } Float_t GetColumnSeparation() const { return fColumnSeparation; }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TLegendEntry.h   TLegendEntry.h 
// @(#)root/graf:$Id: TLegendEntry.h 22428 2008-03-03 18:17:03Z brun $ // @(#)root/graf:$Id: TLegendEntry.h 26711 2008-12-06 19:50:17Z brun $
// Author: Matthew.Adam.Dobbs 06/09/99 // Author: Matthew.Adam.Dobbs 06/09/99
/************************************************************************* /*************************************************************************
* 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 47 skipping to change at line 47
#include "TAttMarker.h" #include "TAttMarker.h"
#endif #endif
#ifndef ROOT_TString #ifndef ROOT_TString
#include "TString.h" #include "TString.h"
#endif #endif
class TLegendEntry : public TObject, public TAttText, public TAttLine, class TLegendEntry : public TObject, public TAttText, public TAttLine,
public TAttFill, public TAttMarker { public TAttFill, public TAttMarker {
public: public:
TLegendEntry(); TLegendEntry();
TLegendEntry(TObject *obj, const char *label = 0, Option_t *option="lpf" ); TLegendEntry(const TObject *obj, const char *label = 0, Option_t *option ="lpf" );
TLegendEntry( const TLegendEntry &entry ); TLegendEntry( const TLegendEntry &entry );
virtual ~TLegendEntry(); virtual ~TLegendEntry();
virtual void Copy( TObject &obj ) const; virtual void Copy( TObject &obj ) const;
virtual const char *GetLabel() const { return fLabel.Data(); } virtual const char *GetLabel() const { return fLabel.Data(); }
virtual TObject *GetObject() const { return fObject; } virtual TObject *GetObject() const { return fObject; }
virtual Option_t *GetOption() const { return fOption.Data(); } virtual Option_t *GetOption() const { return fOption.Data(); }
virtual void Print( Option_t *option = "" ) const; virtual void Print( Option_t *option = "" ) const;
virtual void SaveEntry( ostream &out, const char *name ); virtual void SaveEntry( ostream &out, const char *name );
virtual void SetLabel( const char *label = "" ) { fLabel = labe l; } // *MENU* virtual void SetLabel( const char *label = "" ) { fLabel = labe l; } // *MENU*
virtual void SetObject(TObject* obj ); virtual void SetObject(TObject* obj );
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TMinuitMinimizer.h   TMinuitMinimizer.h 
// @(#)root/minuit:$Id: TMinuitMinimizer.h 26415 2008-11-24 15:22:41Z monet a $ // @(#)root/minuit:$Id: TMinuitMinimizer.h 26866 2008-12-12 10:50:07Z monet a $
// Author: L. Moneta Wed Oct 25 16:28:55 2006 // Author: L. Moneta Wed Oct 25 16:28:55 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class TMinuitMinimizer // Header file for class TMinuitMinimizer
skipping to change at line 101 skipping to change at line 101
#ifdef LATER #ifdef LATER
/// set lower limit variable (override if minimizer supports them ) /// set lower limit variable (override if minimizer supports them )
virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower ); virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str ing & name , double val , double step , double lower );
/// set upper limit variable (override if minimizer supports them ) /// set upper limit variable (override if minimizer supports them )
virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper ); virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri ng & name , double val , double step , double upper );
#endif #endif
/// set fixed variable (override if minimizer supports them ) /// set fixed variable (override if minimizer supports them )
virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */); virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string & /* name */, double /* val */);
/// set the value of an existing variable
virtual bool SetVariableValue(unsigned int , double );
/// method to perform the minimization /// method to perform the minimization
virtual bool Minimize(); virtual bool Minimize();
/// return minimum function value /// return minimum function value
virtual double MinValue() const { return fMinVal; } virtual double MinValue() const { return fMinVal; }
/// return expected distance reached from the minimum /// return expected distance reached from the minimum
virtual double Edm() const { return fEdm; } virtual double Edm() const { return fEdm; }
/// return pointer to X values at the minimum /// return pointer to X values at the minimum
skipping to change at line 144 skipping to change at line 147
if the variable is fixed the matrix is zero if the variable is fixed the matrix is zero
The ordering of the variables is the same as in errors The ordering of the variables is the same as in errors
*/ */
virtual double CovMatrix(unsigned int i, unsigned int j) const { virtual double CovMatrix(unsigned int i, unsigned int j) const {
return fCovar[i + fDim* j]; return fCovar[i + fDim* j];
} }
/// minos error for variable i, return false if Minos failed /// minos error for variable i, return false if Minos failed
virtual bool GetMinosError(unsigned int i, double & errLow, double & err Up); virtual bool GetMinosError(unsigned int i, double & errLow, double & err Up);
/// return reference to the objective function /**
///virtual const ROOT::Math::IGenFunction & Function() const; scan a parameter i around the minimum. A minimization must have been
done before,
return false if it is not the case
*/
virtual bool Scan(unsigned int i, unsigned int &nstep, double * x, doubl
e * y, double xmin = 0, double xmax = 0);
/**
find the contour points (xi,xj) of the function for parameter i and j
around the minimum
The contour will be find for value of the function = Min + ErrorUp();
*/
virtual bool Contour(unsigned int i, unsigned int j, unsigned int & npoi
nts, double *xi, double *xj);
virtual void PrintResults(); virtual void PrintResults();
/// return reference to the objective function
///virtual const ROOT::Math::IGenFunction & Function() const;
protected: protected:
/// implementation of FCN for Minuit /// implementation of FCN for Minuit
static void Fcn( int &, double * , double & f, double * , int); static void Fcn( int &, double * , double & f, double * , int);
/// implementation of FCN for Minuit when user provided gradient is used /// implementation of FCN for Minuit when user provided gradient is used
static void FcnGrad( int &, double * g, double & f, double * , int); static void FcnGrad( int &, double * g, double & f, double * , int);
/// reset /// reset
void DoClear(); void DoClear();
 End of changes. 4 change blocks. 
3 lines changed or deleted 22 lines changed or added


 TMySQLServer.h   TMySQLServer.h 
// @(#)root/mysql:$Id: TMySQLServer.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/mysql:$Id: TMySQLServer.h 26487 2008-11-26 16:52:50Z rdm $
// Author: Fons Rademakers 15/02/2000 // Author: Fons Rademakers 15/02/2000
/************************************************************************* /*************************************************************************
* 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 94 skipping to change at line 94
Int_t CreateDataBase(const char *dbname); Int_t CreateDataBase(const char *dbname);
Int_t DropDataBase(const char *dbname); Int_t DropDataBase(const char *dbname);
Int_t Reload(); Int_t Reload();
Int_t Shutdown(); Int_t Shutdown();
const char *ServerInfo(); const char *ServerInfo();
Bool_t StartTransaction(); Bool_t StartTransaction();
Bool_t Commit(); Bool_t Commit();
Bool_t Rollback(); Bool_t Rollback();
Bool_t PingVerify();
Int_t Ping();
ClassDef(TMySQLServer,0) // Connection to MySQL server ClassDef(TMySQLServer,0) // Connection to MySQL server
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TPDGCode.h   TPDGCode.h 
// @(#)root/vmc:$Id: TPDGCode.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/vmc:$Id: TPDGCode.h 26965 2008-12-16 17:32:41Z brun $
// Author: Andreas Morsch 13/04/2002 // Author: Andreas Morsch 13/04/2002
/************************************************************************* /*************************************************************************
* Copyright (C) 2006, Rene Brun and Fons Rademakers. * * Copyright (C) 2006, Rene Brun and Fons Rademakers. *
* Copyright (C) 2002, ALICE Experiment at CERN. * * Copyright (C) 2002, ALICE Experiment at CERN. *
* 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
kNuEBar=-12,kMuonMinus=13,kMuonPlus=-13,kNuMu=14,kNuMuBar=-14, kNuEBar=-12,kMuonMinus=13,kMuonPlus=-13,kNuMu=14,kNuMuBar=-14,
kTauMinus=15,kTauPlus=-15,kNuTau=16,kNuTauBar=-16,kGamma=22, kTauMinus=15,kTauPlus=-15,kNuTau=16,kNuTauBar=-16,kGamma=22,
kZ0=23,kWPlus=24,kWMinus=-24,kPi0=111,kRho770_0=113, kZ0=23,kWPlus=24,kWMinus=-24,kPi0=111,kRho770_0=113,
kA2_1320_0=115,kRho3_1690_0=117,kK0Long=130,kPiPlus=211, kA2_1320_0=115,kRho3_1690_0=117,kK0Long=130,kPiPlus=211,
kPiMinus=-211,kRho770Plus=213,kRho770Minus=-213, kPiMinus=-211,kRho770Plus=213,kRho770Minus=-213,
kA2_1320Plus=215,kProton=2212,kProtonBar=-2212, kA2_1320Plus=215,kProton=2212,kProtonBar=-2212,
kNeutron=2112,kNeutronBar=-2112,kK0Short=310,kK0=311, kNeutron=2112,kNeutronBar=-2112,kK0Short=310,kK0=311,
kK0Bar=-311,kKPlus=321,kKMinus=-321,kLambda0=3122, kK0Bar=-311,kKPlus=321,kKMinus=-321,kLambda0=3122,
kLambda0Bar=-3122,kSigmaMinus=3112,kSigmaBarPlus=-3112, kLambda0Bar=-3122,kSigmaMinus=3112,kSigmaBarPlus=-3112,
kSigmaPlus=3222,kSigmaBarMinus=-3222,kSigma0=3212, kSigmaPlus=3222,kSigmaBarMinus=-3222,kSigma0=3212,
kSigma0Bar=-3212} kSigma0Bar=-3212,kXiMinus=3312,kXiPlusBar=-3312,
kOmegaMinus=3334,kOmegaPlusBar=-3334}
PDG_t; PDG_t;
/* /*
"a(2)(1320)-", -215 "a(2)(1320)-", -215
"rho(3)(1690)+", 217 "rho(3)(1690)+", 217
"rho(3)(1690)-", -217 "rho(3)(1690)-", -217
"eta0", 221 "eta0", 221
"omega(782)0" 223 "omega(782)0" 223
"f(2)(1270)0" 225 "f(2)(1270)0" 225
"omega(3)(1670)0", 227 "omega(3)(1670)0", 227
 End of changes. 2 change blocks. 
2 lines changed or deleted 3 lines changed or added


 TPRegexp.h   TPRegexp.h 
// @(#)root/base:$Id: TPRegexp.h 25863 2008-10-17 18:53:10Z brun $ // @(#)root/base:$Id: TPRegexp.h 26600 2008-12-02 18:56:10Z brun $
// Author: Eddy Offermann 24/06/05 // Author: Eddy Offermann 24/06/05
/************************************************************************* /*************************************************************************
* 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 129 skipping to change at line 129
Int_t GetNMaxMatches() const { return fNMaxMatches; } Int_t GetNMaxMatches() const { return fNMaxMatches; }
void SetNMaxMatches(Int_t nm) { fNMaxMatches = nm; } void SetNMaxMatches(Int_t nm) { fNMaxMatches = nm; }
Int_t GetGlobalPosition() const { return fLastGlobalPosition; } Int_t GetGlobalPosition() const { return fLastGlobalPosition; }
void AssignGlobalState(const TPMERegexp& re); void AssignGlobalState(const TPMERegexp& re);
void ResetGlobalState(); void ResetGlobalState();
Int_t Match(const TString& s, UInt_t start = 0); Int_t Match(const TString& s, UInt_t start = 0);
Int_t Split(const TString& s, Int_t maxfields = 0); Int_t Split(const TString& s, Int_t maxfields = 0);
TString Substitute(const TString& s, const TString& r, Bool_t doDollarSu bst=kTRUE); Int_t Substitute(TString& s, const TString& r, Bool_t doDollarSubst=kT RUE);
Int_t NMatches() const { return fNMatches; } Int_t NMatches() const { return fNMatches; }
TString operator[](Int_t); TString operator[](Int_t);
virtual void Print(Option_t* option=""); virtual void Print(Option_t* option="");
ClassDef(TPMERegexp, 0); // Wrapper for Perl-like regular expression mat ching. ClassDef(TPMERegexp, 0); // Wrapper for Perl-like regular expression mat ching.
}; };
class TStringToken : public TString { class TStringToken : public TString {
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TPad.h   TPad.h 
// @(#)root/gpad:$Id: TPad.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/gpad:$Id: TPad.h 26760 2008-12-09 15:56:43Z brun $
// Author: Rene Brun 12/12/94 // Author: Rene Brun 12/12/94
/************************************************************************* /*************************************************************************
* 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 162 skipping to change at line 162
Color_t color=-1, Short_t bordersize=-1, Short_t bordermode=-2); Color_t color=-1, Short_t bordersize=-1, Short_t bordermode=-2);
virtual ~TPad(); virtual ~TPad();
void AbsCoordinates(Bool_t set) { fAbsCoord = set; } void AbsCoordinates(Bool_t set) { fAbsCoord = set; }
Double_t AbsPixeltoX(Int_t px) {return fAbsPixeltoXk + px*fPixe ltoX;} Double_t AbsPixeltoX(Int_t px) {return fAbsPixeltoXk + px*fPixe ltoX;}
Double_t AbsPixeltoY(Int_t py) {return fAbsPixeltoYk + py*fPixe ltoY;} Double_t AbsPixeltoY(Int_t py) {return fAbsPixeltoYk + py*fPixe ltoY;}
virtual void AbsPixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y); virtual void AbsPixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y);
virtual void AddExec(const char *name, const char *command); virtual void AddExec(const char *name, const char *command);
virtual void AutoExec(); virtual void AutoExec();
virtual void Browse(TBrowser *b); virtual void Browse(TBrowser *b);
virtual TLegend *BuildLegend(Double_t x1=0.5, Double_t y1=0.67, Double_ t x2=0.88, Double_t y2=0.88, const char *title=""); // *MENU* virtual TLegend *BuildLegend(Double_t x1=0.5, Double_t y1=0.67, Double_ t x2=0.88, Double_t y2=0.88, const char *title=""); // *MENU*
TVirtualPad* cd(Int_t subpadnumber=0); TVirtualPad* cd(Int_t subpadnumber=0); // *MENU*
void Clear(Option_t *option=""); void Clear(Option_t *option="");
virtual Int_t Clip(Float_t *x, Float_t *y, Float_t xclipl, Float_t y clipb, Float_t xclipr, Float_t yclipt); virtual Int_t Clip(Float_t *x, Float_t *y, Float_t xclipl, Float_t y clipb, Float_t xclipr, Float_t yclipt);
virtual Int_t Clip(Double_t *x, Double_t *y, Double_t xclipl, Double _t yclipb, Double_t xclipr, Double_t yclipt); virtual Int_t Clip(Double_t *x, Double_t *y, Double_t xclipl, Double _t yclipb, Double_t xclipr, Double_t yclipt);
virtual Int_t ClippingCode(Double_t x, Double_t y, Double_t xcl1, Do uble_t ycl1, Double_t xcl2, Double_t ycl2); virtual Int_t ClippingCode(Double_t x, Double_t y, Double_t xcl1, Do uble_t ycl1, Double_t xcl2, Double_t ycl2);
virtual Int_t ClipPolygon(Int_t n, Double_t *x, Double_t *y, Int_t n n, Double_t *xc, Double_t *yc, Double_t xclipl, Double_t yclipb, Double_t x clipr, Double_t yclipt); virtual Int_t ClipPolygon(Int_t n, Double_t *x, Double_t *y, Int_t n n, Double_t *xc, Double_t *yc, Double_t xclipl, Double_t yclipb, Double_t x clipr, Double_t yclipt);
virtual void Close(Option_t *option=""); virtual void Close(Option_t *option="");
virtual void Closed() { Emit("Closed()"); } // *SIGNAL* virtual void Closed() { Emit("Closed()"); } // *SIGNAL*
virtual void CopyPixmap(); virtual void CopyPixmap();
virtual void CopyPixmaps(); virtual void CopyPixmaps();
virtual void DeleteExec(const char *name); virtual void DeleteExec(const char *name);
skipping to change at line 369 skipping to change at line 369
virtual void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const; virtual void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const;
virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms); virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms);
virtual void DeleteToolTip(TObject *tip); virtual void DeleteToolTip(TObject *tip);
virtual void ResetToolTip(TObject *tip); virtual void ResetToolTip(TObject *tip);
virtual void CloseToolTip(TObject *tip); virtual void CloseToolTip(TObject *tip);
virtual void x3d(Option_t *type=""); // Depreciated virtual void x3d(Option_t *type=""); // Depreciated
virtual TVirtualViewer3D *GetViewer3D(Option_t * type = ""); virtual TVirtualViewer3D *GetViewer3D(Option_t * type = "");
virtual Bool_t HasViewer3D() const { return (fViewer3D); }
virtual void ReleaseViewer3D(Option_t * type = ""); virtual void ReleaseViewer3D(Option_t * type = "");
ClassDef(TPad,10) //A Graphics pad ClassDef(TPad,10) //A Graphics pad
}; };
//---- inlines ------------------------------------------------------------ ----- //---- inlines ------------------------------------------------------------ -----
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline void TPad::Modified(Bool_t flag) inline void TPad::Modified(Bool_t flag)
{ {
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 TPaletteAxis.h   TPaletteAxis.h 
// @(#)root/histpainter:$Id: TPaletteAxis.h 22071 2008-02-08 15:49:08Z coue t $ // @(#)root/histpainter:$Id: TPaletteAxis.h 26620 2008-12-03 10:44:54Z coue t $
// Author: Rene Brun 15/11/2002 // Author: Rene Brun 15/11/2002
/************************************************************************* /*************************************************************************
* 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 47 skipping to change at line 47
TString fName; //Pave name TString fName; //Pave name
public: public:
// TPaletteAxis status bits // TPaletteAxis status bits
enum { kHasView = BIT(11)}; enum { kHasView = BIT(11)};
TPaletteAxis(); TPaletteAxis();
TPaletteAxis(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2, TH1 *h); TPaletteAxis(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2, TH1 *h);
TPaletteAxis(const TPaletteAxis &palette); TPaletteAxis(const TPaletteAxis &palette);
virtual ~TPaletteAxis(); virtual ~TPaletteAxis();
void Copy(TObject &palette) const; void Copy(TObject &palette) const;
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
TGaxis *GetAxis() {return &fAxis;} TGaxis *GetAxis() {return &fAxis;}
Option_t *GetName() const {return fName.Data();} Int_t GetBinColor(Int_t i, Int_t j);
Option_t *GetName() const {return fName.Data();}
virtual char *GetObjectInfo(Int_t px, Int_t py) const; virtual char *GetObjectInfo(Int_t px, Int_t py) const;
virtual void Paint(Option_t *option=""); virtual void Paint(Option_t *option="");
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void SetName(const char *name="") {fName = name;} // *MENU* virtual void SetName(const char *name="") {fName = name;} // *MENU*
virtual void SetLabelColor(Int_t labelcolor) {fAxis.SetLabelColor(label color);} // *MENU* virtual void SetLabelColor(Int_t labelcolor) {fAxis.SetLabelColor(label color);} // *MENU*
virtual void SetLabelFont(Int_t labelfont) {fAxis.SetLabelFont(labelfon t);} // *MENU* virtual void SetLabelFont(Int_t labelfont) {fAxis.SetLabelFont(labelfon t);} // *MENU*
virtual void SetLabelOffset(Float_t labeloffset) {fAxis.SetLabelOffset( labeloffset);} // *MENU* virtual void SetLabelOffset(Float_t labeloffset) {fAxis.SetLabelOffset( labeloffset);} // *MENU*
virtual void SetLabelSize(Float_t labelsize) {fAxis.SetLabelSize(labels ize);} // *MENU* virtual void SetLabelSize(Float_t labelsize) {fAxis.SetLabelSize(labels ize);} // *MENU*
virtual void SetTitleOffset(Float_t titleoffset=1) {fAxis.SetTitleOffse t(titleoffset);} // *MENU* virtual void SetTitleOffset(Float_t titleoffset=1) {fAxis.SetTitleOffse t(titleoffset);} // *MENU*
virtual void SetTitleSize(Float_t titlesize) {fAxis.SetTitleSize(titles ize);} // *MENU* virtual void SetTitleSize(Float_t titlesize) {fAxis.SetTitleSize(titles ize);} // *MENU*
 End of changes. 3 change blocks. 
4 lines changed or deleted 6 lines changed or added


 TProcessID.h   TProcessID.h 
// @(#)root/cont:$Id: TProcessID.h 23058 2008-04-08 21:59:51Z pcanal $ // @(#)root/cont:$Id: TProcessID.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 28/09/2001 // Author: Rene Brun 28/09/2001
/************************************************************************* /*************************************************************************
* 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 34 skipping to change at line 34
#include "TNamed.h" #include "TNamed.h"
#endif #endif
#ifndef ROOT_TObjArray #ifndef ROOT_TObjArray
#include "TObjArray.h" #include "TObjArray.h"
#endif #endif
class TExMap; class TExMap;
class TProcessID : public TNamed { class TProcessID : public TNamed {
private:
TProcessID(const TProcessID &ref); // TProcessID are not copi
able.
TProcessID& operator=(const TProcessID &ref); // TProcessID are not copi
able.
protected: protected:
Int_t fCount; //!Reference count to this object (from T File) Int_t fCount; //!Reference count to this object (from T File)
TObjArray *fObjects; //!Array pointing to the referenced objec ts TObjArray *fObjects; //!Array pointing to the referenced objec ts
static TProcessID *fgPID; //Pointer to current session ProcessID static TProcessID *fgPID; //Pointer to current session ProcessID
static TObjArray *fgPIDs; //Table of ProcessIDs static TObjArray *fgPIDs; //Table of ProcessIDs
static TExMap *fgObjPIDs; //Table pointer to pids static TExMap *fgObjPIDs; //Table pointer to pids
static UInt_t fgNumber; //Referenced objects count static UInt_t fgNumber; //Referenced objects count
public: public:
TProcessID(); TProcessID();
TProcessID(const TProcessID &ref);
TProcessID& operator=(const TProcessID &ref);
virtual ~TProcessID(); virtual ~TProcessID();
void CheckInit(); void CheckInit();
virtual void Clear(Option_t *option=""); virtual void Clear(Option_t *option="");
Int_t DecrementCount(); Int_t DecrementCount();
Int_t IncrementCount(); Int_t IncrementCount();
Int_t GetCount() const {return fCount;} Int_t GetCount() const {return fCount;}
TObjArray *GetObjects() const {return fObjects;} TObjArray *GetObjects() const {return fObjects;}
TObject *GetObjectWithID(UInt_t uid); TObject *GetObjectWithID(UInt_t uid);
void PutObjectWithID(TObject *obj, UInt_t uid=0); void PutObjectWithID(TObject *obj, UInt_t uid=0);
virtual void RecursiveRemove(TObject *obj); virtual void RecursiveRemove(TObject *obj);
 End of changes. 3 change blocks. 
3 lines changed or deleted 7 lines changed or added


 TProcessUUID.h   TProcessUUID.h 
// @(#)root/cont:$Id: TProcessUUID.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/cont:$Id: TProcessUUID.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 06/07/2002 // Author: Rene Brun 06/07/2002
/************************************************************************* /*************************************************************************
* 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 34 skipping to change at line 34
#include "TProcessID.h" #include "TProcessID.h"
#endif #endif
class THashList; class THashList;
class TBits; class TBits;
class TUUID; class TUUID;
class TObjString; class TObjString;
class TProcessUUID : public TProcessID { class TProcessUUID : public TProcessID {
private:
TProcessUUID(const TProcessID&); // TProcessUUID are not co
piable.
TProcessUUID &operator=(const TProcessUUID&); // TProcessUUID are not co
piable.
protected: protected:
THashList *fUUIDs; //Global list of TUUIDs THashList *fUUIDs; //Global list of TUUIDs
TBits *fActive; //Table of active UUIDs TBits *fActive; //Table of active UUIDs
public: public:
TProcessUUID(); TProcessUUID();
virtual ~TProcessUUID(); virtual ~TProcessUUID();
UInt_t AddUUID(TUUID &uuid, TObject *obj); UInt_t AddUUID(TUUID &uuid, TObject *obj);
UInt_t AddUUID(const char *uuids); UInt_t AddUUID(const char *uuids);
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 TProof.h   TProof.h 
// @(#)root/proof:$Id: TProof.h 26388 2008-11-22 23:28:11Z ganis $ // @(#)root/proof:$Id: TProof.h 26951 2008-12-16 12:04:38Z ganis $
// Author: Fons Rademakers 13/02/97 // Author: Fons Rademakers 13/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 458 skipping to change at line 458
TString fPackageDir; //package directory (used on client) TString fPackageDir; //package directory (used on client)
THashList *fGlobalPackageDirList;//list of directories containing g lobal packages libs THashList *fGlobalPackageDirList;//list of directories containing g lobal packages libs
TProofLockPath *fPackageLock; //package lock TProofLockPath *fPackageLock; //package lock
TList *fEnabledPackagesOnClient; //list of packages enabled on client TList *fEnabledPackagesOnClient; //list of packages enabled on client
TList *fInputData; //Input data objects sent over via fil e TList *fInputData; //Input data objects sent over via fil e
TString fInputDataFile; //File with input data objects TString fInputDataFile; //File with input data objects
PrintProgress_t fPrintProgress; //Function function to display progres s info in batch mode PrintProgress_t fPrintProgress; //Function function to display progres s info in batch mode
TVirtualMutex *fCloseMutex; // Avoid crashes in MarkBad or alike w
hile closing
TList *fLoadedMacros; // List of loaded macros (just file na mes) TList *fLoadedMacros; // List of loaded macros (just file na mes)
static TList *fgProofEnvList; // List of TNameds defining environmen t static TList *fgProofEnvList; // List of TNameds defining environmen t
// variables to pass to proofserv // variables to pass to proofserv
protected: protected:
enum ESlaves { kAll, kActive, kUnique, kAllUnique }; enum ESlaves { kAll, kActive, kUnique, kAllUnique };
TUrl fUrl; //Url of the master TUrl fUrl; //Url of the master
TString fConfFile; //file containing config information TString fConfFile; //file containing config information
TString fConfDir; //directory containing cluster config i nformation TString fConfDir; //directory containing cluster config i nformation
TString fImage; //master's image name TString fImage; //master's image name
skipping to change at line 689 skipping to change at line 691
virtual void ShowCache(Bool_t all = kFALSE); virtual void ShowCache(Bool_t all = kFALSE);
virtual void ClearCache(const char *file = 0); virtual void ClearCache(const char *file = 0);
TList *GetListOfPackages(); TList *GetListOfPackages();
TList *GetListOfEnabledPackages(); TList *GetListOfEnabledPackages();
void ShowPackages(Bool_t all = kFALSE); void ShowPackages(Bool_t all = kFALSE);
void ShowEnabledPackages(Bool_t all = kFALSE); void ShowEnabledPackages(Bool_t all = kFALSE);
Int_t ClearPackages(); Int_t ClearPackages();
Int_t ClearPackage(const char *package); Int_t ClearPackage(const char *package);
Int_t EnablePackage(const char *package, Bool_t notOnClient = kFAL SE); Int_t EnablePackage(const char *package, Bool_t notOnClient = kFAL SE);
Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUnta r); Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUnta r);
Int_t Load(const char *macro, Bool_t notOnClient = kFALSE); Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_t uniqueOnly = kTRUE);
Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE ); Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE );
Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE ); Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE );
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFA LSE); Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFA LSE);
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFA LSE); Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFA LSE);
//-- dataset management //-- dataset management
Int_t UploadDataSet(const char *dataset, Int_t UploadDataSet(const char *dataset,
TList *files, TList *files,
const char *dest = 0, const char *dest = 0,
 End of changes. 3 change blocks. 
2 lines changed or deleted 5 lines changed or added


 TProofMgr.h   TProofMgr.h 
// @(#)root/proof:$Id: TProofMgr.h 25918 2008-10-22 15:00:04Z ganis $ // @(#)root/proof:$Id: TProofMgr.h 26951 2008-12-16 12:04:38Z ganis $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TProofMgr #ifndef ROOT_TProofMgr
#define ROOT_TProofMgr #define ROOT_TProofMgr
skipping to change at line 78 skipping to change at line 78
virtual Bool_t IsProofd() const { return (fServType == kProofd); } virtual Bool_t IsProofd() const { return (fServType == kProofd); }
virtual Bool_t IsValid() const { return kTRUE; } virtual Bool_t IsValid() const { return kTRUE; }
virtual void SetInvalid() { } virtual void SetInvalid() { }
virtual TProof *AttachSession(Int_t, Bool_t = kFALSE); virtual TProof *AttachSession(Int_t, Bool_t = kFALSE);
virtual TProof *AttachSession(TProofDesc *, Bool_t = kFALSE); virtual TProof *AttachSession(TProofDesc *, Bool_t = kFALSE);
virtual TProof *CreateSession(const char * = 0, const char * = 0, In t_t = -1); virtual TProof *CreateSession(const char * = 0, const char * = 0, In t_t = -1);
virtual void DetachSession(Int_t, Option_t * = ""); virtual void DetachSession(Int_t, Option_t * = "");
virtual TProofDesc *GetProofDesc(Int_t id); virtual TProofDesc *GetProofDesc(Int_t id);
virtual Int_t GetRemoteProtocol() const { return fRemoteProtocol; } virtual Int_t GetRemoteProtocol() const { return fRemoteProtocol; }
virtual TProofLog *GetSessionLogs(Int_t = 0, const char * = 0, const ch ar * = 0) virtual TProofLog *GetSessionLogs(Int_t = 0, const char * = 0, const ch ar * = "-v \"| SvcMsg\"")
{ return (TProofLog * )0; } { return (TProofLog * )0; }
virtual const char *GetUrl() { return fUrl.GetUrl(); } virtual const char *GetUrl() { return fUrl.GetUrl(); }
virtual Bool_t MatchUrl(const char *url); virtual Bool_t MatchUrl(const char *url);
virtual void ShowROOTVersions() { } virtual void ShowROOTVersions() { }
virtual TList *QuerySessions(Option_t *opt = "S"); virtual TList *QuerySessions(Option_t *opt = "S");
virtual TObjString *ReadBuffer(const char *, Long64_t, Int_t) virtual TObjString *ReadBuffer(const char *, Long64_t, Int_t)
{ return (TObjString *)0; } { return (TObjString *)0; }
virtual TObjString *ReadBuffer(const char *, const char *) virtual TObjString *ReadBuffer(const char *, const char *)
{ return (TObjString *)0; } { return (TObjString *)0; }
virtual Int_t Reset(Bool_t hard = kFALSE, const char *usr = 0); virtual Int_t Reset(Bool_t hard = kFALSE, const char *usr = 0);
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TProofMgrLite.h   TProofMgrLite.h 
// @(#)root/proofx:$Id: TProofMgrLite.h 25918 2008-10-22 15:00:04Z ganis $ // @(#)root/proofx:$Id: TProofMgrLite.h 26823 2008-12-11 09:26:32Z ganis $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TProofMgrLite #ifndef ROOT_TProofMgrLite
#define ROOT_TProofMgrLite #define ROOT_TProofMgrLite
skipping to change at line 36 skipping to change at line 36
#endif #endif
class TProofMgrLite : public TProofMgr { class TProofMgrLite : public TProofMgr {
public: public:
TProofMgrLite(const char *url, Int_t loglevel = -1, const char *alias = ""); TProofMgrLite(const char *url, Int_t loglevel = -1, const char *alias = "");
virtual ~TProofMgrLite() { } virtual ~TProofMgrLite() { }
TProof *CreateSession(const char * = 0, const char * = 0, Int_t = -1 ); TProof *CreateSession(const char * = 0, const char * = 0, Int_t = -1 );
TProofLog *GetSessionLogs(Int_t ridx = 0, const char *stag = 0, TProofLog *GetSessionLogs(Int_t ridx = 0, const char *stag = 0,
const char *pattern = 0); const char *pattern = "-v | SvcMsg");
TObjString *ReadBuffer(const char *file, Long64_t ofs, Int_t len); TObjString *ReadBuffer(const char *file, Long64_t ofs, Int_t len);
TObjString *ReadBuffer(const char *file, const char *pattern); TObjString *ReadBuffer(const char *file, const char *pattern);
ClassDef(TProofMgrLite,0) // XrdProofd PROOF manager interface ClassDef(TProofMgrLite,0) // XrdProofd PROOF manager interface
}; };
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TProofProgressLog.h   TProofProgressLog.h 
// @(#)root/sessionviewer:$Id: TProofProgressLog.h 25073 2008-08-06 09:27:4 8Z ganis $ // @(#)root/sessionviewer:$Id: TProofProgressLog.h 26823 2008-12-11 09:26:3 2Z ganis $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TProofProgressLog #ifndef ROOT_TProofProgressLog
#define ROOT_TProofProgressLog #define ROOT_TProofProgressLog
skipping to change at line 39 skipping to change at line 39
class TProofProgressDialog; class TProofProgressDialog;
class TProofLog; class TProofLog;
class TGTextEntry; class TGTextEntry;
class TGNumberEntry; class TGNumberEntry;
class TGListBox; class TGListBox;
class TGSplitButton; class TGSplitButton;
class TProofProgressLog : public TGTransientFrame { class TProofProgressLog : public TGTransientFrame {
private: private:
enum ETextType { kRaw = 0, kStd = 1, kGrep = 2 };
TGTextView *fText; // text widget TGTextView *fText; // text widget
TGTextButton *fClose; // close button TGTextButton *fClose; // close button
TGListBox *fLogList; // list of workers TGListBox *fLogList; // list of workers
TGTextButton *fLogNew; // display logs button TGTextButton *fLogNew; // display logs button
TProofProgressDialog *fDialog; // owner dialog TProofProgressDialog *fDialog; // owner dialog
TProofLog *fProofLog; // the log TProofLog *fProofLog; // the log
TGNumberEntry *fLinesFrom; // starting line TGNumberEntry *fLinesFrom; // starting line
TGNumberEntry *fLinesTo; // ending line TGNumberEntry *fLinesTo; // ending line
TGTextEntry *fGrepText; // text to grep for in the logs TGTextEntry *fGrepText; // text to grep for in the logs
TGTextEntry *fFileName; // file to save to TGTextEntry *fFileName; // file to save to
TGTextButton *fSave; // save button TGTextButton *fSave; // save button
TGTextButton *fGrepButton; //grep button TGTextButton *fGrepButton; //grep button
TGCheckButton *fAllLines; // display all lines button TGCheckButton *fAllLines; // display all lines button
TGCheckButton *fRawLines; // display raw lines button
TGSplitButton *fAllWorkers; // display all workers button TGSplitButton *fAllWorkers; // display all workers button
Bool_t fFullText; // 0 - when grep was called Bool_t fFullText; // 0 - when grep was called
Int_t fTextType; // Type of retrieval
public: public:
TProofProgressLog(TProofProgressDialog *d, Int_t w = 700, Int_t h = 300) ; TProofProgressLog(TProofProgressDialog *d, Int_t w = 700, Int_t h = 300) ;
virtual ~TProofProgressLog(); virtual ~TProofProgressLog();
TGListBox* BuildLogList(TGFrame *parent); TGListBox* BuildLogList(TGFrame *parent);
void DoLog(Bool_t grep=kFALSE); void DoLog(Bool_t grep=kFALSE);
void LogMessage(const char *msg, Bool_t all); void LogMessage(const char *msg, Bool_t all);
void LoadBuffer(const char *buffer); void LoadBuffer(const char *buffer);
void AddBuffer(const char *buffer); void AddBuffer(const char *buffer);
 End of changes. 4 change blocks. 
2 lines changed or deleted 7 lines changed or added


 TProofServ.h   TProofServ.h 
// @(#)root/proof:$Id: TProofServ.h 26381 2008-11-22 17:15:24Z ganis $ // @(#)root/proof:$Id: TProofServ.h 26993 2008-12-17 16:01:04Z rdm $
// Author: Fons Rademakers 16/02/97 // Author: Fons Rademakers 16/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 60 skipping to change at line 60
class TSocket; class TSocket;
class THashList; class THashList;
class TList; class TList;
class TDSetElement; class TDSetElement;
class TMessage; class TMessage;
class TTimer; class TTimer;
class TReaperTimer; class TReaperTimer;
class TMutex; class TMutex;
class TFileCollection; class TFileCollection;
class TProofDataSetManager; class TProofDataSetManager;
class TFileHandler;
// Hook to external function setting up authentication related stuff // Hook to external function setting up authentication related stuff
// for old versions. // for old versions.
// For backward compatibility // For backward compatibility
typedef Int_t (*OldProofServAuthSetup_t)(TSocket *, Bool_t, Int_t, typedef Int_t (*OldProofServAuthSetup_t)(TSocket *, Bool_t, Int_t,
TString &, TString &, TString &); TString &, TString &, TString &);
class TProofServ : public TApplication { class TProofServ : public TApplication {
friend class TProofServLite; friend class TProofServLite;
skipping to change at line 117 skipping to change at line 118
Int_t fNcmd; //command history number Int_t fNcmd; //command history number
Int_t fGroupPriority; //priority of group the user belongs to (0 - 100) Int_t fGroupPriority; //priority of group the user belongs to (0 - 100)
Bool_t fEndMaster; //true for a master in direct contact o nly with workers Bool_t fEndMaster; //true for a master in direct contact o nly with workers
Bool_t fMasterServ; //true if we are a master server Bool_t fMasterServ; //true if we are a master server
Bool_t fInterrupt; //if true macro execution will be stopp ed Bool_t fInterrupt; //if true macro execution will be stopp ed
Float_t fRealTime; //real time spent executing commands Float_t fRealTime; //real time spent executing commands
Float_t fCpuTime; //CPU time spent executing commands Float_t fCpuTime; //CPU time spent executing commands
TStopwatch fLatency; //measures latency of packet requests TStopwatch fLatency; //measures latency of packet requests
TStopwatch fCompute; //measures time spend processing a pack et TStopwatch fCompute; //measures time spend processing a pack et
TFileHandler *fInputHandler; //Input socket handler
TQueryResultManager *fQMgr; //Query-result manager TQueryResultManager *fQMgr; //Query-result manager
TList *fWaitingQueries; //list of TProofQueryResult wating to b e processed TList *fWaitingQueries; //list of TProofQueryResult waiting to be processed
Bool_t fIdle; //TRUE if idle Bool_t fIdle; //TRUE if idle
TList *fQueuedMsg; //list of messages waiting to be proces
sed
TString fPrefix; //Prefix identifying the node TString fPrefix; //Prefix identifying the node
Bool_t fRealTimeLog; //TRUE if log messages should be send b ack in real-time Bool_t fRealTimeLog; //TRUE if log messages should be send b ack in real-time
TTimer *fShutdownTimer; // Timer used to shutdown out-of-contro l sessions TTimer *fShutdownTimer; // Timer used to shutdown out-of-contro l sessions
TReaperTimer *fReaperTimer; // Timer used to control children state TReaperTimer *fReaperTimer; // Timer used to control children state
Int_t fInflateFactor; // Factor in 1/1000 to inflate the CPU time Int_t fInflateFactor; // Factor in 1/1000 to inflate the CPU time
TProofDataSetManager* fDataSetManager; // dataset manager TProofDataSetManager* fDataSetManager; // dataset manager
Bool_t fLogToSysLog; //true if logs should be sent to syslog too Bool_t fLogToSysLog; //true if logs should be sent to syslog too
Bool_t fSendLogToMaster; // On workers, controls logs sending to master Bool_t fSendLogToMaster; // On workers, controls logs sending to master
// Quotas (-1 to disable) // Quotas (-1 to disable)
Int_t fMaxQueries; //Max number of queries fully kept Int_t fMaxQueries; //Max number of queries fully kept
Long64_t fMaxBoxSize; //Max size of the sandbox Long64_t fMaxBoxSize; //Max size of the sandbox
Long64_t fHWMBoxSize; //High-Water-Mark on the sandbox size Long64_t fHWMBoxSize; //High-Water-Mark on the sandbox size
// Memory limits (-1 to disable) set by envs ROOTPROOFASSOFT and RPPTPRO
FOASHARD
Long_t fVirtMemHWM; //Above this we terminate gently (in kB
)
Long_t fVirtMemMax; //Hard limit enforced by the system (in
kB)
static FILE *fgErrorHandlerFile; // File where to log static FILE *fgErrorHandlerFile; // File where to log
static Int_t fgRecursive; // Keep track of recursive inputs durin g processing static Int_t fgRecursive; // Keep track of recursive inputs durin g processing
void RedirectOutput(const char *dir = 0, const char *mode = "w" ); void RedirectOutput(const char *dir = 0, const char *mode = "w" );
Int_t CatMotd(); Int_t CatMotd();
Int_t UnloadPackage(const char *package); Int_t UnloadPackage(const char *package);
Int_t UnloadPackages(); Int_t UnloadPackages();
Int_t OldAuthSetup(TString &wconf); Int_t OldAuthSetup(TString &wconf);
Int_t GetPriority(); Int_t GetPriority();
skipping to change at line 207 skipping to change at line 216
Int_t GetGroupSize() const { return fGroupSize; } Int_t GetGroupSize() const { return fGroupSize; }
Int_t GetLogLevel() const { return fLogLevel; } Int_t GetLogLevel() const { return fLogLevel; }
TSocket *GetSocket() const { return fSocket; } TSocket *GetSocket() const { return fSocket; }
Float_t GetRealTime() const { return fRealTime; } Float_t GetRealTime() const { return fRealTime; }
Float_t GetCpuTime() const { return fCpuTime; } Float_t GetCpuTime() const { return fCpuTime; }
void GetOptions(Int_t *argc, char **argv); void GetOptions(Int_t *argc, char **argv);
TList *GetEnabledPackages() const { return fEnabledPackages; } TList *GetEnabledPackages() const { return fEnabledPackages; }
Int_t GetInflateFactor() const { return fInflateFactor; } Int_t GetInflateFactor() const { return fInflateFactor; }
Long_t GetVirtMemHWM() const { return fVirtMemHWM; }
const char *GetPrefix() const { return fPrefix; } const char *GetPrefix() const { return fPrefix; }
void FlushLogFile(); void FlushLogFile();
Int_t CopyFromCache(const char *name, Bool_t cpbin); Int_t CopyFromCache(const char *name, Bool_t cpbin);
Int_t CopyToCache(const char *name, Int_t opt = 0); Int_t CopyToCache(const char *name, Int_t opt = 0);
virtual EQueryAction GetWorkers(TList *workers, Int_t &prioritychange); virtual EQueryAction GetWorkers(TList *workers, Int_t &prioritychange);
virtual void HandleException(Int_t sig); virtual void HandleException(Int_t sig);
skipping to change at line 234 skipping to change at line 245
Bool_t IsMaster() const { return fMasterServ; } Bool_t IsMaster() const { return fMasterServ; }
Bool_t IsParallel() const; Bool_t IsParallel() const;
Bool_t IsTopMaster() const { return fOrdinal == "0"; } Bool_t IsTopMaster() const { return fOrdinal == "0"; }
void Run(Bool_t retrn = kFALSE); void Run(Bool_t retrn = kFALSE);
void Print(Option_t *option="") const; void Print(Option_t *option="") const;
TObject *Get(const char *namecycle); TObject *Get(const char *namecycle);
TDSetElement *GetNextPacket(Long64_t totalEntries = -1); TDSetElement *GetNextPacket(Long64_t totalEntries = -1);
virtual void ReleaseWorker(const char *) { }
void Reset(const char *dir); void Reset(const char *dir);
Int_t ReceiveFile(const char *file, Bool_t bin, Long64_t size); Int_t ReceiveFile(const char *file, Bool_t bin, Long64_t size);
virtual Int_t SendAsynMessage(const char *msg, Bool_t lf = kTRUE); virtual Int_t SendAsynMessage(const char *msg, Bool_t lf = kTRUE);
virtual void SendLogFile(Int_t status = 0, Int_t start = -1, Int_t end = -1); virtual void SendLogFile(Int_t status = 0, Int_t start = -1, Int_t end = -1);
void SendStatistics(); void SendStatistics();
void SendParallel(Bool_t async = kFALSE); void SendParallel(Bool_t async = kFALSE);
// Disable / Enable read timeout // Disable / Enable read timeout
virtual void DisableTimeout() { } virtual void DisableTimeout() { }
virtual void EnableTimeout() { } virtual void EnableTimeout() { }
 End of changes. 8 change blocks. 
2 lines changed or deleted 18 lines changed or added


 TPyROOTApplication.h   TPyROOTApplication.h 
// Author: Wim Lavrijsen February 2006 // Author: Wim Lavrijsen February 2006
#ifndef ROOT_TPyROOTApplication #ifndef ROOT_TPyROOTApplication
#define ROOT_TPyROOTApplication #define ROOT_TPyROOTApplication
/////////////////////////////////////////////////////////////////////////// /// /////////////////////////////////////////////////////////////////////////// ///
// // // //
// TPyROOTApplication // // TPyROOTApplication //
// // // //
// Setup interactive application. // // Setup interactive application for python. //
// // // //
/////////////////////////////////////////////////////////////////////////// /// /////////////////////////////////////////////////////////////////////////// ///
// ROOT // ROOT
#ifndef ROOT_TApplication #ifndef ROOT_TApplication
#include "TApplication.h" #include "TApplication.h"
#endif #endif
namespace PyROOT { namespace PyROOT {
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TPySelector.h   TPySelector.h 
skipping to change at line 40 skipping to change at line 40
// ctor/dtor ... cctor and assignment are private in base class // ctor/dtor ... cctor and assignment are private in base class
TPySelector( TTree* /* tree */ = 0, PyObject* self = 0 ); TPySelector( TTree* /* tree */ = 0, PyObject* self = 0 );
virtual ~TPySelector(); virtual ~TPySelector();
// TSelector set of forwarded (overridden) methods // TSelector set of forwarded (overridden) methods
virtual Int_t Version() const; virtual Int_t Version() const;
virtual Int_t GetEntry( Long64_t entry, Int_t getall = 0 ); virtual Int_t GetEntry( Long64_t entry, Int_t getall = 0 );
virtual Bool_t Notify(); virtual Bool_t Notify();
virtual void Init( TTree* tree ); virtual void Init( TTree* tree );
virtual void Begin( TTree* /* tree */ ); virtual void Begin( TTree* tree = 0 /* not used */ );
virtual void SlaveBegin( TTree* tree ); virtual void SlaveBegin( TTree* tree );
virtual Bool_t Process( Long64_t entry ); virtual Bool_t Process( Long64_t entry );
virtual void SlaveTerminate(); virtual void SlaveTerminate();
virtual void Terminate(); virtual void Terminate();
virtual void Abort( const char* why, EAbort what = kAbortProcess ); virtual void Abort( const char* why, EAbort what = kAbortProcess );
ClassDef( TPySelector, 1 ); //Python equivalent base class for PROOF ClassDef( TPySelector, 1 ); //Python equivalent base class for PROOF
private: private:
// private helpers for forwarding to python // private helpers for forwarding to python
void SetupPySelf(); void SetupPySelf();
void CallSelf( const char* method ); PyObject* CallSelf( const char* method, PyObject* pyobject = 0 );
private: private:
PyObject* fPySelf; //! actual python object PyObject* fPySelf; //! actual python object
}; };
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TQClass.h   TQClass.h 
// @(#)root/base:$Id: TQClass.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TQClass.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Valeriy Onuchin & Fons Rademakers 15/10/2000 // Author: Valeriy Onuchin & Fons Rademakers 15/10/2000
/************************************************************************* /*************************************************************************
* 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 39 skipping to change at line 39
#include "TQObject.h" #include "TQObject.h"
#endif #endif
#ifndef ROOT_TClass #ifndef ROOT_TClass
#include "TClass.h" #include "TClass.h"
#endif #endif
// This class makes it possible to have a single connection from // This class makes it possible to have a single connection from
// all objects of the same class // all objects of the same class
class TQClass : public TQObject, public TClass { class TQClass : public TQObject, public TClass {
private:
TQClass(const TClass&) : TQObject(), TClass() {};
TQClass& operator=(const TQClass&) { return *this; }
friend class TQObject; friend class TQObject;
public: public:
TQClass(const char *name, Version_t cversion, TQClass(const char *name, Version_t cversion,
const type_info &info, TVirtualIsAProxy *isa, const type_info &info, TVirtualIsAProxy *isa,
ShowMembersFunc_t showmembers, ShowMembersFunc_t showmembers,
const char *dfil = 0, const char *ifil = 0, const char *dfil = 0, const char *ifil = 0,
Int_t dl = 0, Int_t il = 0) : Int_t dl = 0, Int_t il = 0) :
TQObject(), TQObject(),
TClass(name, cversion, info,isa,showmembers, dfil, ifil, dl, il) { } TClass(name, cversion, info,isa,showmembers, dfil, ifil, dl, il) { }
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TRootBrowser.h   TRootBrowser.h 
// @(#)root/gui:$Id: TRootBrowser.h 26142 2008-11-11 14:53:11Z bellenot $ // @(#)root/gui:$Id: TRootBrowser.h 26742 2008-12-08 21:21:19Z bellenot $
// Author: Bertrand Bellenot 26/09/2007 // Author: Bertrand Bellenot 26/09/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 71 skipping to change at line 71
protected: protected:
TGLayoutHints *fLH0, *fLH1, *fLH2, *fLH3; // Layout hints, part 1 TGLayoutHints *fLH0, *fLH1, *fLH2, *fLH3; // Layout hints, part 1
TGLayoutHints *fLH4, *fLH5, *fLH6, *fLH7; // Layout hints, part 2 TGLayoutHints *fLH4, *fLH5, *fLH6, *fLH7; // Layout hints, part 2
TGTab *fTabLeft; // Left Tab TGTab *fTabLeft; // Left Tab
TGTab *fTabRight; // Right Tab TGTab *fTabRight; // Right Tab
TGTab *fTabBottom; // Bottom Tab TGTab *fTabBottom; // Bottom Tab
TGTab *fEditTab; // Tab in "Edit" mode TGTab *fEditTab; // Tab in "Edit" mode
Int_t fEditPos; // Id of tab in "Edit" m ode Int_t fEditPos; // Id of tab in "Edit" m ode
Int_t fEditSubPos; // Id of subtab in "Edit " mode
TGVerticalFrame *fVf; // Vertical frame TGVerticalFrame *fVf; // Vertical frame
TGHorizontalFrame *fHf; // Horizontal frame TGHorizontalFrame *fHf; // Horizontal frame
TGHorizontalFrame *fH1; // Horizontal frame TGHorizontalFrame *fH1; // Horizontal frame
TGHorizontalFrame *fH2; // Horizontal frame TGHorizontalFrame *fH2; // Horizontal frame
TGVerticalFrame *fV1; // Vertical frame TGVerticalFrame *fV1; // Vertical frame
TGVerticalFrame *fV2; // Vertical frame TGVerticalFrame *fV2; // Vertical frame
TGVSplitter *fVSplitter; // Vertical splitter TGVSplitter *fVSplitter; // Vertical splitter
TGHSplitter *fHSplitter; // Horizontal splitter TGHSplitter *fHSplitter; // Horizontal splitter
TGCompositeFrame *fEditFrame; // Frame in "Edit" mode TGCompositeFrame *fEditFrame; // Frame in "Edit" mode
TGHorizontalFrame *fTopMenuFrame; // Top menu frame TGHorizontalFrame *fTopMenuFrame; // Top menu frame
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TRootCanvas.h   TRootCanvas.h 
// @(#)root/gui:$Id: TRootCanvas.h 25603 2008-09-30 07:58:03Z bellenot $ // @(#)root/gui:$Id: TRootCanvas.h 26760 2008-12-09 15:56:43Z brun $
// Author: Fons Rademakers 15/01/98 // Author: Fons Rademakers 15/01/98
/************************************************************************* /*************************************************************************
* 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 137 skipping to change at line 137
void SetWindowTitle(const char *newTitle); void SetWindowTitle(const char *newTitle);
void SetCanvasSize(UInt_t w, UInt_t h); void SetCanvasSize(UInt_t w, UInt_t h);
void SetStatusText(const char *txt = 0, Int_t partidx = 0); void SetStatusText(const char *txt = 0, Int_t partidx = 0);
void Show() { MapRaised(); } void Show() { MapRaised(); }
void ShowMenuBar(Bool_t show = kTRUE); void ShowMenuBar(Bool_t show = kTRUE);
void ShowStatusBar(Bool_t show = kTRUE); void ShowStatusBar(Bool_t show = kTRUE);
void ShowEditor(Bool_t show = kTRUE); void ShowEditor(Bool_t show = kTRUE);
void ShowToolBar(Bool_t show = kTRUE); void ShowToolBar(Bool_t show = kTRUE);
Bool_t HasEditor() const;
Bool_t HasMenuBar() const;
Bool_t HasStatusBar() const;
Bool_t HasToolBar() const;
TGMenuBar *GetMenuBar() const { return fMenuBar; } TGMenuBar *GetMenuBar() const { return fMenuBar; }
TGLayoutHints *GetMenuBarItemLayout() const { return fMenuBarItemLayout; } TGLayoutHints *GetMenuBarItemLayout() const { return fMenuBarItemLayout; }
TGStatusBar *GetStatusBar() const { return fStatusBar; } TGStatusBar *GetStatusBar() const { return fStatusBar; }
TGDockableFrame *GetToolDock() const { return fToolDock; } TGDockableFrame *GetToolDock() const { return fToolDock; }
// overridden from TGMainFrame // overridden from TGMainFrame
void CloseWindow(); void CloseWindow();
Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
void ReallyDelete(); void ReallyDelete();
 End of changes. 2 change blocks. 
1 lines changed or deleted 6 lines changed or added


 TSQLServer.h   TSQLServer.h 
// @(#)root/net:$Id: TSQLServer.h 23091 2008-04-09 15:04:27Z rdm $ // @(#)root/net:$Id: TSQLServer.h 26487 2008-11-26 16:52:50Z rdm $
// Author: Fons Rademakers 25/11/99 // Author: Fons Rademakers 25/11/99
/************************************************************************* /*************************************************************************
* 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 111 skipping to change at line 111
virtual Bool_t IsError() const { return GetErrorCode()!=0; } virtual Bool_t IsError() const { return GetErrorCode()!=0; }
virtual Int_t GetErrorCode() const; virtual Int_t GetErrorCode() const;
virtual const char* GetErrorMsg() const; virtual const char* GetErrorMsg() const;
virtual void EnableErrorOutput(Bool_t on = kTRUE) { fErrorOut = o n; } virtual void EnableErrorOutput(Bool_t on = kTRUE) { fErrorOut = o n; }
virtual Bool_t StartTransaction(); virtual Bool_t StartTransaction();
virtual Bool_t Commit(); virtual Bool_t Commit();
virtual Bool_t Rollback(); virtual Bool_t Rollback();
virtual Bool_t PingVerify() { return kFALSE; }
virtual Int_t Ping() { return -9999; }
static TSQLServer *Connect(const char *db, const char *uid, const char * pw); static TSQLServer *Connect(const char *db, const char *uid, const char * pw);
ClassDef(TSQLServer,0) // Connection to SQL server ClassDef(TSQLServer,0) // Connection to SQL server
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TStreamerElement.h   TStreamerElement.h 
// @(#)root/meta:$Id: TStreamerElement.h 25450 2008-09-18 21:13:42Z pcanal $ // @(#)root/meta:$Id: TStreamerElement.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 12/10/2000 // Author: Rene Brun 12/10/2000
/************************************************************************* /*************************************************************************
* 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 33 skipping to change at line 33
#ifndef ROOT_TNamed #ifndef ROOT_TNamed
#include "TNamed.h" #include "TNamed.h"
#endif #endif
class TMethodCall; class TMethodCall;
class TClass; class TClass;
class TStreamerBasicType; class TStreamerBasicType;
class TStreamerElement : public TNamed { class TStreamerElement : public TNamed {
private:
TStreamerElement(const TStreamerElement &); // Not implemented
TStreamerElement&operator=(const TStreamerElement&); // Not implemented
protected: protected:
Int_t fType; //element type Int_t fType; //element type
Int_t fSize; //sizeof element Int_t fSize; //sizeof element
Int_t fArrayLength; //cumulative size of all array dims Int_t fArrayLength; //cumulative size of all array dims
Int_t fArrayDim; //number of array dimensions Int_t fArrayDim; //number of array dimensions
Int_t fMaxIndex[5]; //Maximum array index for array dimen sion "dim" Int_t fMaxIndex[5]; //Maximum array index for array dimen sion "dim"
Int_t fOffset; //!element offset in class Int_t fOffset; //!element offset in class
Int_t fTObjectOffset; //!base offset for TObject if the ele ment inherits from it Int_t fTObjectOffset; //!base offset for TObject if the ele ment inherits from it
Int_t fNewType; //!new element type when reading Int_t fNewType; //!new element type when reading
TString fTypeName; //Data type name of data member TString fTypeName; //Data type name of data member
skipping to change at line 114 skipping to change at line 118
virtual void SetType(Int_t dtype) {fType = dtype;} virtual void SetType(Int_t dtype) {fType = dtype;}
virtual void SetTypeName(const char *name) {fTypeName = name;} virtual void SetTypeName(const char *name) {fTypeName = name;}
virtual void Update(const TClass *oldClass, TClass *newClass); virtual void Update(const TClass *oldClass, TClass *newClass);
ClassDef(TStreamerElement,4) //Base class for one element (data member) to be Streamed ClassDef(TStreamerElement,4) //Base class for one element (data member) to be Streamed
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerBase : public TStreamerElement { class TStreamerBase : public TStreamerElement {
private:
TStreamerBase(const TStreamerBase &); // Not implemented
TStreamerBase&operator=(const TStreamerBase&); // Not implemented
protected: protected:
Int_t fBaseVersion; //version number of the base clas s FIXME: What for? What about the schema evolution issues? Int_t fBaseVersion; //version number of the base clas s FIXME: What for? What about the schema evolution issues?
TClass *fBaseClass; //!pointer to base class TClass *fBaseClass; //!pointer to base class
TClass *fNewBaseClass; //!pointer to new base class if r enamed TClass *fNewBaseClass; //!pointer to new base class if r enamed
public: public:
TStreamerBase(); TStreamerBase();
TStreamerBase(const char *name, const char *title, Int_t offset); TStreamerBase(const char *name, const char *title, Int_t offset);
virtual ~TStreamerBase(); virtual ~TStreamerBase();
skipping to change at line 145 skipping to change at line 153
void SetBaseVersion(Int_t v) {fBaseVersion = v;} void SetBaseVersion(Int_t v) {fBaseVersion = v;}
virtual void Update(const TClass *oldClass, TClass *newClass); virtual void Update(const TClass *oldClass, TClass *newClass);
Int_t WriteBuffer(TBuffer &b, char *pointer); Int_t WriteBuffer(TBuffer &b, char *pointer);
ClassDef(TStreamerBase,3) //Streamer element of type base class ClassDef(TStreamerBase,3) //Streamer element of type base class
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerBasicPointer : public TStreamerElement { class TStreamerBasicPointer : public TStreamerElement {
private:
TStreamerBasicPointer(const TStreamerBasicPointer &); // Not im
plemented
TStreamerBasicPointer&operator=(const TStreamerBasicPointer&); // Not im
plemented
protected: protected:
Int_t fCountVersion; //version number of the class with the counter Int_t fCountVersion; //version number of the class with the counter
TString fCountName; //name of data member holding the a rray count TString fCountName; //name of data member holding the a rray count
TString fCountClass; //name of the class with the counte r TString fCountClass; //name of the class with the counte r
TStreamerBasicType *fCounter; //!pointer to basic type counter TStreamerBasicType *fCounter; //!pointer to basic type counter
public: public:
TStreamerBasicPointer(); TStreamerBasicPointer();
TStreamerBasicPointer(const char *name, const char *title, Int_t offset, Int_t dtype, TStreamerBasicPointer(const char *name, const char *title, Int_t offset, Int_t dtype,
skipping to change at line 176 skipping to change at line 188
void SetCountClass(const char *clname) {fCountClass = clname; } void SetCountClass(const char *clname) {fCountClass = clname; }
void SetCountName(const char *name) {fCountName = name; } void SetCountName(const char *name) {fCountName = name; }
void SetCountVersion(Int_t count) {fCountVersion = count; } void SetCountVersion(Int_t count) {fCountVersion = count; }
ClassDef(TStreamerBasicPointer,2) //Streamer element for a pointer to a basic type ClassDef(TStreamerBasicPointer,2) //Streamer element for a pointer to a basic type
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerLoop : public TStreamerElement { class TStreamerLoop : public TStreamerElement {
private:
TStreamerLoop(const TStreamerLoop&); // Not implemented
TStreamerLoop&operator=(const TStreamerLoop&); // Not implemented
protected: protected:
Int_t fCountVersion; //version number of the class with the counter Int_t fCountVersion; //version number of the class with the counter
TString fCountName; //name of data member holding the a rray count TString fCountName; //name of data member holding the a rray count
TString fCountClass; //name of the class with the counte r TString fCountClass; //name of the class with the counte r
TStreamerBasicType *fCounter; //!pointer to basic type counter TStreamerBasicType *fCounter; //!pointer to basic type counter
public: public:
TStreamerLoop(); TStreamerLoop();
TStreamerLoop(const char *name, const char *title, Int_t offset, const c har *countName, const char *countClass, Int_t version, const char *typeName ); TStreamerLoop(const char *name, const char *title, Int_t offset, const c har *countName, const char *countClass, Int_t version, const char *typeName );
skipping to change at line 206 skipping to change at line 222
void SetCountClass(const char *clname) {fCountClass = clname; } void SetCountClass(const char *clname) {fCountClass = clname; }
void SetCountName(const char *name) {fCountName = name; } void SetCountName(const char *name) {fCountName = name; }
void SetCountVersion(Int_t count) {fCountVersion = count; } void SetCountVersion(Int_t count) {fCountVersion = count; }
ClassDef(TStreamerLoop,2) //Streamer element for a pointer to an array of objects ClassDef(TStreamerLoop,2) //Streamer element for a pointer to an array of objects
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerBasicType : public TStreamerElement { class TStreamerBasicType : public TStreamerElement {
private:
TStreamerBasicType(const TStreamerBasicType&); // Not implement
ed
TStreamerBasicType&operator=(const TStreamerBasicType&); // Not implemen
ted
protected: protected:
Int_t fCounter; //!value of data member when referenced by an array Int_t fCounter; //!value of data member when referenced by an array
public: public:
TStreamerBasicType(); TStreamerBasicType();
TStreamerBasicType(const char *name, const char *title, Int_t offset, In t_t dtype, const char *typeName); TStreamerBasicType(const char *name, const char *title, Int_t offset, In t_t dtype, const char *typeName);
virtual ~TStreamerBasicType(); virtual ~TStreamerBasicType();
Int_t GetCounter() const {return fCounter;} Int_t GetCounter() const {return fCounter;}
ULong_t GetMethod() const; ULong_t GetMethod() const;
Int_t GetSize() const; Int_t GetSize() const;
ClassDef(TStreamerBasicType,2) //Streamer element for a basic type ClassDef(TStreamerBasicType,2) //Streamer element for a basic type
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerObject : public TStreamerElement { class TStreamerObject : public TStreamerElement {
private:
TStreamerObject(const TStreamerObject&); // Not implemented
TStreamerObject&operator=(const TStreamerObject&); // Not implemented
public: public:
TStreamerObject(); TStreamerObject();
TStreamerObject(const char *name, const char *title, Int_t offset, const char *typeName); TStreamerObject(const char *name, const char *title, Int_t offset, const char *typeName);
virtual ~TStreamerObject(); virtual ~TStreamerObject();
const char *GetInclude() const; const char *GetInclude() const;
Int_t GetSize() const; Int_t GetSize() const;
virtual void Init(TObject *obj=0); virtual void Init(TObject *obj=0);
ClassDef(TStreamerObject,2) //Streamer element of type object ClassDef(TStreamerObject,2) //Streamer element of type object
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerObjectAny : public TStreamerElement { class TStreamerObjectAny : public TStreamerElement {
private:
TStreamerObjectAny(const TStreamerObjectAny&); // Not implement
ed
TStreamerObjectAny&operator=(const TStreamerObjectAny&); // Not implemen
ted
public: public:
TStreamerObjectAny(); TStreamerObjectAny();
TStreamerObjectAny(const char *name, const char *title, Int_t offset, co nst char *typeName); TStreamerObjectAny(const char *name, const char *title, Int_t offset, co nst char *typeName);
virtual ~TStreamerObjectAny(); virtual ~TStreamerObjectAny();
const char *GetInclude() const; const char *GetInclude() const;
Int_t GetSize() const; Int_t GetSize() const;
virtual void Init(TObject *obj=0); virtual void Init(TObject *obj=0);
ClassDef(TStreamerObjectAny,2) //Streamer element of type object other than TObject ClassDef(TStreamerObjectAny,2) //Streamer element of type object other than TObject
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerObjectPointer : public TStreamerElement { class TStreamerObjectPointer : public TStreamerElement {
private:
TStreamerObjectPointer(const TStreamerObjectPointer&); // Not i
mplemented
TStreamerObjectPointer&operator=(const TStreamerObjectPointer&); // Not
implemented
public: public:
TStreamerObjectPointer(); TStreamerObjectPointer();
TStreamerObjectPointer(const char *name, const char *title, Int_t offset , const char *typeName); TStreamerObjectPointer(const char *name, const char *title, Int_t offset , const char *typeName);
virtual ~TStreamerObjectPointer(); virtual ~TStreamerObjectPointer();
const char *GetInclude() const; const char *GetInclude() const;
Int_t GetSize() const; Int_t GetSize() const;
virtual void Init(TObject *obj=0); virtual void Init(TObject *obj=0);
virtual Bool_t IsaPointer() const {return kTRUE;} virtual Bool_t IsaPointer() const {return kTRUE;}
virtual void SetArrayDim(Int_t dim); virtual void SetArrayDim(Int_t dim);
ClassDef(TStreamerObjectPointer,2) //Streamer element of type pointer t o a TObject ClassDef(TStreamerObjectPointer,2) //Streamer element of type pointer t o a TObject
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerObjectAnyPointer : public TStreamerElement { class TStreamerObjectAnyPointer : public TStreamerElement {
private:
TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer&); //
Not implemented
TStreamerObjectAnyPointer&operator=(const TStreamerObjectAnyPointer&); /
/ Not implemented
public: public:
TStreamerObjectAnyPointer(); TStreamerObjectAnyPointer();
TStreamerObjectAnyPointer(const char *name, const char *title, Int_t off set, const char *typeName); TStreamerObjectAnyPointer(const char *name, const char *title, Int_t off set, const char *typeName);
virtual ~TStreamerObjectAnyPointer(); virtual ~TStreamerObjectAnyPointer();
const char *GetInclude() const; const char *GetInclude() const;
Int_t GetSize() const; Int_t GetSize() const;
virtual void Init(TObject *obj=0); virtual void Init(TObject *obj=0);
virtual Bool_t IsaPointer() const {return kTRUE;} virtual Bool_t IsaPointer() const {return kTRUE;}
virtual void SetArrayDim(Int_t dim); virtual void SetArrayDim(Int_t dim);
ClassDef(TStreamerObjectAnyPointer,1) //Streamer element of type pointe r to a non TObject ClassDef(TStreamerObjectAnyPointer,1) //Streamer element of type pointe r to a non TObject
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerString : public TStreamerElement { class TStreamerString : public TStreamerElement {
private:
TStreamerString(const TStreamerString&); // Not implemented
TStreamerString&operator=(const TStreamerString&); // Not implemented
public: public:
TStreamerString(); TStreamerString();
TStreamerString(const char *name, const char *title, Int_t offset); TStreamerString(const char *name, const char *title, Int_t offset);
virtual ~TStreamerString(); virtual ~TStreamerString();
Int_t GetSize() const; Int_t GetSize() const;
ClassDef(TStreamerString,2) //Streamer element of type TString ClassDef(TStreamerString,2) //Streamer element of type TString
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerSTL : public TStreamerElement { class TStreamerSTL : public TStreamerElement {
private:
TStreamerSTL(const TStreamerSTL&); // Not implemented
TStreamerSTL&operator=(const TStreamerSTL&); // Not implemented
protected: protected:
Int_t fSTLtype; //type of STL vector Int_t fSTLtype; //type of STL vector
Int_t fCtype; //STL contained type Int_t fCtype; //STL contained type
public: public:
TStreamerSTL(); TStreamerSTL();
TStreamerSTL(const char *name, const char *title, Int_t offset, TStreamerSTL(const char *name, const char *title, Int_t offset,
const char *typeName, const char *trueType, Bool_t dmPointe r); const char *typeName, const char *trueType, Bool_t dmPointe r);
virtual ~TStreamerSTL(); virtual ~TStreamerSTL();
skipping to change at line 329 skipping to change at line 373
void SetSTLtype(Int_t t) {fSTLtype = t;} void SetSTLtype(Int_t t) {fSTLtype = t;}
void SetCtype(Int_t t) {fCtype = t;} void SetCtype(Int_t t) {fCtype = t;}
virtual void SetStreamer(TMemberStreamer *streamer); virtual void SetStreamer(TMemberStreamer *streamer);
ClassDef(TStreamerSTL,3) //Streamer element of type STL container ClassDef(TStreamerSTL,3) //Streamer element of type STL container
}; };
//________________________________________________________________________ //________________________________________________________________________
class TStreamerSTLstring : public TStreamerSTL { class TStreamerSTLstring : public TStreamerSTL {
private:
TStreamerSTLstring(const TStreamerSTLstring&); // Not implement
ed
TStreamerSTLstring&operator=(const TStreamerSTLstring&); // Not implemen
ted
public: public:
TStreamerSTLstring(); TStreamerSTLstring();
TStreamerSTLstring(const char *name, const char *title, Int_t offset, TStreamerSTLstring(const char *name, const char *title, Int_t offset,
const char *typeName, Bool_t dmPointer); const char *typeName, Bool_t dmPointer);
virtual ~TStreamerSTLstring(); virtual ~TStreamerSTLstring();
const char *GetInclude() const; const char *GetInclude() const;
Int_t GetSize() const; Int_t GetSize() const;
ClassDef(TStreamerSTLstring,2) //Streamer element of type C++ string ClassDef(TStreamerSTLstring,2) //Streamer element of type C++ string
}; };
class TVirtualObject; class TVirtualObject;
class TBuffer; class TBuffer;
#include "TSchemaRule.h" #include "TSchemaRule.h"
//________________________________________________________________________ //________________________________________________________________________
class TStreamerArtificial : public TStreamerElement { class TStreamerArtificial : public TStreamerElement {
private:
TStreamerArtificial(const TStreamerArtificial&); // Not impleme
nted
TStreamerArtificial&operator=(const TStreamerArtificial&); // Not implem
ented
protected: protected:
ROOT::TSchemaRule::ReadFuncPtr_t fReadFunc; //! ROOT::TSchemaRule::ReadFuncPtr_t fReadFunc; //!
ROOT::TSchemaRule::ReadRawFuncPtr_t fReadRawFunc; //! ROOT::TSchemaRule::ReadRawFuncPtr_t fReadRawFunc; //!
public: public:
// TStreamerArtificial() : fReadFunc(0),fReadRawFunc(0) {} // TStreamerArtificial() : fReadFunc(0),fReadRawFunc(0) {}
TStreamerArtificial(const char *name, const char *title, Int_t offset, I nt_t dtype, const char *typeName) : TStreamerElement(name,title,offset,dtyp e,typeName), fReadFunc(0), fReadRawFunc(0) {} TStreamerArtificial(const char *name, const char *title, Int_t offset, I nt_t dtype, const char *typeName) : TStreamerElement(name,title,offset,dtyp e,typeName), fReadFunc(0), fReadRawFunc(0) {}
 End of changes. 14 change blocks. 
1 lines changed or deleted 67 lines changed or added


 TStreamerInfo.h   TStreamerInfo.h 
// @(#)root/io:$Id: TStreamerInfo.h 26073 2008-11-04 11:16:09Z pcanal $ // @(#)root/io:$Id: TStreamerInfo.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Rene Brun 12/10/2000 // Author: Rene Brun 12/10/2000
/************************************************************************* /*************************************************************************
* 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 114 skipping to change at line 114
static Int_t fgCount; //Number of TStreamerInfo instance s static Int_t fgCount; //Number of TStreamerInfo instance s
static TStreamerElement *fgElement; //Pointer to current TStreamerElem ent static TStreamerElement *fgElement; //Pointer to current TStreamerElem ent
static Double_t GetValueAux(Int_t type, void *ladd, int k, Int_t len); static Double_t GetValueAux(Int_t type, void *ladd, int k, Int_t len);
static void PrintValueAux(char *ladd, Int_t atype, TStreamerElemen t * aElement, Int_t aleng, Int_t *count); static void PrintValueAux(char *ladd, Int_t atype, TStreamerElemen t * aElement, Int_t aleng, Int_t *count);
UInt_t GenerateIncludes(FILE *fp, char *inclist); UInt_t GenerateIncludes(FILE *fp, char *inclist);
void GenerateDeclaration(FILE *fp, FILE *sfp, const TList * subClasses, Bool_t top = kTRUE); void GenerateDeclaration(FILE *fp, FILE *sfp, const TList * subClasses, Bool_t top = kTRUE);
void InsertArtificialElements(const TObjArray *rules); void InsertArtificialElements(const TObjArray *rules);
protected: private:
TStreamerInfo(const TStreamerInfo&); TStreamerInfo(const TStreamerInfo&); // TStreamerInfo are cop
TStreamerInfo& operator=(const TStreamerInfo&); iable. Not Implemented.
TStreamerInfo& operator=(const TStreamerInfo&); // TStreamerInfo are cop
iable. Not Implemented.
public: public:
//status bits //status bits
enum { kCannotOptimize = BIT(12), enum { kCannotOptimize = BIT(12),
kIgnoreTObjectStreamer = BIT(13), // eventhough BIT(13) is taken up by TObject (to preserverse forward compatibility) kIgnoreTObjectStreamer = BIT(13), // eventhough BIT(13) is taken up by TObject (to preserverse forward compatibility)
kRecovered = BIT(14), kRecovered = BIT(14),
kNeedCheck = BIT(15) kNeedCheck = BIT(15)
}; };
 End of changes. 2 change blocks. 
4 lines changed or deleted 6 lines changed or added


 TSystem.h   TSystem.h 
// @(#)root/base:$Id: TSystem.h 26107 2008-11-08 21:48:04Z pcanal $ // @(#)root/base:$Id: TSystem.h 26872 2008-12-12 12:21:49Z rdm $
// Author: Fons Rademakers 15/09/95 // Author: Fons Rademakers 15/09/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 362 skipping to change at line 362
virtual void InnerLoop(); virtual void InnerLoop();
virtual Int_t Select(TList *active, Long_t timeout); virtual Int_t Select(TList *active, Long_t timeout);
virtual Int_t Select(TFileHandler *fh, Long_t timeout); virtual Int_t Select(TFileHandler *fh, Long_t timeout);
//---- Handling of system events //---- Handling of system events
virtual void AddSignalHandler(TSignalHandler *sh); virtual void AddSignalHandler(TSignalHandler *sh);
virtual TSignalHandler *RemoveSignalHandler(TSignalHandler *sh); virtual TSignalHandler *RemoveSignalHandler(TSignalHandler *sh);
virtual void ResetSignal(ESignals sig, Bool_t reset = kTRUE); virtual void ResetSignal(ESignals sig, Bool_t reset = kTRUE);
virtual void IgnoreSignal(ESignals sig, Bool_t ignore = kTRUE ); virtual void IgnoreSignal(ESignals sig, Bool_t ignore = kTRUE );
virtual void IgnoreInterrupt(Bool_t ignore = kTRUE); virtual void IgnoreInterrupt(Bool_t ignore = kTRUE);
virtual TSeqCollection *GetListOfSignalHandlers() const { return fSignal Handler; }
virtual void AddFileHandler(TFileHandler *fh); virtual void AddFileHandler(TFileHandler *fh);
virtual TFileHandler *RemoveFileHandler(TFileHandler *fh); virtual TFileHandler *RemoveFileHandler(TFileHandler *fh);
virtual TSeqCollection *GetListOfFileHandlers() const { return fFileHand ler; } virtual TSeqCollection *GetListOfFileHandlers() const { return fFileHand ler; }
virtual void AddStdExceptionHandler(TStdExceptionHandler *eh) ; virtual void AddStdExceptionHandler(TStdExceptionHandler *eh) ;
virtual TStdExceptionHandler *RemoveStdExceptionHandler(TStdExceptionHan dler *eh); virtual TStdExceptionHandler *RemoveStdExceptionHandler(TStdExceptionHan dler *eh);
virtual TSeqCollection *GetListOfStdExceptionHandlers() const { return f StdExceptionHandler; } virtual TSeqCollection *GetListOfStdExceptionHandlers() const { return f StdExceptionHandler; }
//---- Floating Point Exceptions Control //---- Floating Point Exceptions Control
virtual Int_t GetFPEMask(); virtual Int_t GetFPEMask();
virtual Int_t SetFPEMask(Int_t mask = kDefaultMask); virtual Int_t SetFPEMask(Int_t mask = kDefaultMask);
//---- Time & Date //---- Time & Date
virtual TTime Now(); virtual TTime Now();
virtual TSeqCollection *GetListOfTimers() const { return fTimers; }
virtual void AddTimer(TTimer *t); virtual void AddTimer(TTimer *t);
virtual TTimer *RemoveTimer(TTimer *t); virtual TTimer *RemoveTimer(TTimer *t);
virtual void ResetTimer(TTimer *) { } virtual void ResetTimer(TTimer *) { }
virtual Long_t NextTimeOut(Bool_t mode); virtual Long_t NextTimeOut(Bool_t mode);
virtual void Sleep(UInt_t milliSec); virtual void Sleep(UInt_t milliSec);
//---- Processes //---- Processes
virtual Int_t Exec(const char *shellcmd); virtual Int_t Exec(const char *shellcmd);
virtual FILE *OpenPipe(const char *command, const char *mode); virtual FILE *OpenPipe(const char *command, const char *mode);
virtual int ClosePipe(FILE *pipe); virtual int ClosePipe(FILE *pipe);
 End of changes. 3 change blocks. 
1 lines changed or deleted 3 lines changed or added


 TToggleGroup.h   TToggleGroup.h 
// @(#)root/meta:$Id: TToggleGroup.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/meta:$Id: TToggleGroup.h 26606 2008-12-02 20:36:09Z pcanal $
// Author: Piotr Golonka 31/07/97 // Author: Piotr Golonka 31/07/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 38 skipping to change at line 38
#include "TToggle.h" #include "TToggle.h"
#endif #endif
#ifndef ROOT_TOrdCollection #ifndef ROOT_TOrdCollection
#include "TOrdCollection.h" #include "TOrdCollection.h"
#endif #endif
class TToggleGroup : public TNamed { class TToggleGroup : public TNamed {
private: private:
TOrdCollection *fToggles; // list of TToggle objects TOrdCollection *fToggles; // list of TToggle objects
TToggle *fSelected; // currently selected object
public: public:
TToggleGroup(); TToggleGroup();
TToggleGroup(const TToggleGroup&);
TToggleGroup &operator=(const TToggleGroup&);
virtual ~TToggleGroup(); virtual ~TToggleGroup();
virtual Int_t GetTogglesCount() {return fToggles->GetSize();}; virtual Int_t GetTogglesCount() {return fToggles->GetSize();};
virtual TToggle *At(Int_t idx) {return (TToggle*)fToggles->At(idx);}; virtual TToggle *At(Int_t idx) {return (TToggle*)fToggles->At(idx);};
virtual void Remove(TToggle *t) {fToggles->Remove(t);}; virtual void Remove(TToggle *t) {fToggles->Remove(t);};
virtual void Remove(Int_t pos) {fToggles->RemoveAt(pos);}; virtual void Remove(Int_t pos) {fToggles->RemoveAt(pos);};
virtual void DeleteAll(); virtual void DeleteAll();
virtual TToggle *First() {return (TToggle*)fToggles->First();}; virtual TToggle *First() {return (TToggle*)fToggles->First();};
virtual TToggle *Last() {return (TToggle*)fToggles->Last();}; virtual TToggle *Last() {return (TToggle*)fToggles->Last();};
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 TVirtualPad.h   TVirtualPad.h 
// @(#)root/base:$Id: TVirtualPad.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TVirtualPad.h 26760 2008-12-09 15:56:43Z brun $
// Author: Rene Brun 05/12/95 // Author: Rene Brun 05/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 243 skipping to change at line 243
virtual Double_t YtoPad(Double_t y) const = 0; virtual Double_t YtoPad(Double_t y) const = 0;
virtual Int_t XtoPixel(Double_t x) const = 0; virtual Int_t XtoPixel(Double_t x) const = 0;
virtual Int_t YtoPixel(Double_t y) const = 0; virtual Int_t YtoPixel(Double_t y) const = 0;
virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t d elayms) = 0; virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t d elayms) = 0;
virtual void DeleteToolTip(TObject *tip) = 0; virtual void DeleteToolTip(TObject *tip) = 0;
virtual void ResetToolTip(TObject *tip) = 0; virtual void ResetToolTip(TObject *tip) = 0;
virtual void CloseToolTip(TObject *tip) = 0; virtual void CloseToolTip(TObject *tip) = 0;
virtual TVirtualViewer3D *GetViewer3D(Option_t * type = "") = 0; virtual TVirtualViewer3D *GetViewer3D(Option_t * type = "") = 0;
virtual Bool_t HasViewer3D() const = 0;
virtual void ReleaseViewer3D(Option_t * type = "") = 0; virtual void ReleaseViewer3D(Option_t * type = "") = 0;
virtual Int_t GetGLDevice() = 0; virtual Int_t GetGLDevice() = 0;
virtual void SetCopyGLDevice(Bool_t copy) = 0; virtual void SetCopyGLDevice(Bool_t copy) = 0;
static TVirtualPad *&Pad(); static TVirtualPad *&Pad();
ClassDef(TVirtualPad,2) //Abstract base class for Pads and Canvases ClassDef(TVirtualPad,2) //Abstract base class for Pads and Canvases
}; };
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TXProofMgr.h   TXProofMgr.h 
// @(#)root/proofx:$Id: TXProofMgr.h 24719 2008-07-09 07:07:25Z ganis $ // @(#)root/proofx:$Id: TXProofMgr.h 26951 2008-12-16 12:04:38Z ganis $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TXProofMgr #ifndef ROOT_TXProofMgr
#define ROOT_TXProofMgr #define ROOT_TXProofMgr
skipping to change at line 65 skipping to change at line 65
Bool_t HandleError(const void *in = 0); Bool_t HandleError(const void *in = 0);
Bool_t IsValid() const { return fSocket; } Bool_t IsValid() const { return fSocket; }
void SetInvalid(); void SetInvalid();
TProof *AttachSession(Int_t id, Bool_t gui = kFALSE) TProof *AttachSession(Int_t id, Bool_t gui = kFALSE)
{ return TProofMgr::AttachSession(id, gui); } { return TProofMgr::AttachSession(id, gui); }
TProof *AttachSession(TProofDesc *d, Bool_t gui = kFALSE); TProof *AttachSession(TProofDesc *d, Bool_t gui = kFALSE);
void DetachSession(Int_t, Option_t * = ""); void DetachSession(Int_t, Option_t * = "");
TProofLog *GetSessionLogs(Int_t ridx = 0, const char *stag = 0, TProofLog *GetSessionLogs(Int_t ridx = 0, const char *stag = 0,
const char *pattern = 0); const char *pattern = "-v \"| SvcMsg\"");
Bool_t MatchUrl(const char *url); Bool_t MatchUrl(const char *url);
void ShowROOTVersions(); void ShowROOTVersions();
TList *QuerySessions(Option_t *opt = "S"); TList *QuerySessions(Option_t *opt = "S");
TObjString *ReadBuffer(const char *file, Long64_t ofs, Int_t len); TObjString *ReadBuffer(const char *file, Long64_t ofs, Int_t len);
TObjString *ReadBuffer(const char *file, const char *pattern); TObjString *ReadBuffer(const char *file, const char *pattern);
Int_t Reset(Bool_t hard = kFALSE, const char *usr = 0); Int_t Reset(Bool_t hard = kFALSE, const char *usr = 0);
Int_t SendMsgToUsers(const char *msg, const char *usr = 0); Int_t SendMsgToUsers(const char *msg, const char *usr = 0);
void SetROOTVersion(const char *tag); void SetROOTVersion(const char *tag);
void ShowWorkers(); void ShowWorkers();
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TXProofServ.h   TXProofServ.h 
// @(#)root/proofx:$Id: TXProofServ.h 24719 2008-07-09 07:07:25Z ganis $ // @(#)root/proofx:$Id: TXProofServ.h 26993 2008-12-17 16:01:04Z rdm $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TXProofServ #ifndef ROOT_TXProofServ
#define ROOT_TXProofServ #define ROOT_TXProofServ
skipping to change at line 64 skipping to change at line 64
EQueryAction GetWorkers(TList *workers, Int_t &prioritychange); EQueryAction GetWorkers(TList *workers, Int_t &prioritychange);
Bool_t HandleError(const void *in = 0); // Error Handler Bool_t HandleError(const void *in = 0); // Error Handler
Bool_t HandleInput(const void *in = 0); // Input handler Bool_t HandleInput(const void *in = 0); // Input handler
void HandleUrgentData(); void HandleUrgentData();
void HandleSigPipe(); void HandleSigPipe();
void HandleTermination(); void HandleTermination();
void ReleaseWorker(const char *ord);
void Terminate(Int_t status); void Terminate(Int_t status);
ClassDef(TXProofServ,0) //XRD PROOF Server Application Interface ClassDef(TXProofServ,0) //XRD PROOF Server Application Interface
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TXSocket.h   TXSocket.h 
// @(#)root/proofx:$Id: TXSocket.h 24734 2008-07-09 10:05:44Z ganis $ // @(#)root/proofx:$Id: TXSocket.h 26993 2008-12-17 16:01:04Z rdm $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TXSocket #ifndef ROOT_TXSocket
#define ROOT_TXSocket #define ROOT_TXSocket
skipping to change at line 32 skipping to change at line 32
#ifndef ROOT_TMutex #ifndef ROOT_TMutex
#include "TMutex.h" #include "TMutex.h"
#endif #endif
#ifndef ROOT_TSemaphore #ifndef ROOT_TSemaphore
#include "TSemaphore.h" #include "TSemaphore.h"
#endif #endif
#ifndef ROOT_TString #ifndef ROOT_TString
#include "TString.h" #include "TString.h"
#endif #endif
#ifndef ROOT_TList
#include "TList.h"
#endif
#ifndef ROOT_TMessage #ifndef ROOT_TMessage
#include "TMessage.h" #include "TMessage.h"
#endif #endif
#ifndef ROOT_TUrl #ifndef ROOT_TUrl
#include "TUrl.h" #include "TUrl.h"
#endif #endif
#ifndef ROOT_TSocket #ifndef ROOT_TSocket
#include "TSocket.h" #include "TSocket.h"
#endif #endif
#ifndef ROOT_XrdProofConn #ifndef ROOT_XrdProofConn
#include "XrdProofConn.h" #include "XrdProofConn.h"
#endif #endif
#ifndef XRC_UNSOLMSG_H #ifndef XRC_UNSOLMSG_H
#include "XrdClient/XrdClientUnsolMsg.hh" #include "XrdClient/XrdClientUnsolMsg.hh"
#endif #endif
#include <list> #include <list>
class TObjString; class TObjString;
class TXSockBuf; class TXSockBuf;
class TXSockPipe;
class TXHandler; class TXHandler;
class TXSocketHandler; class TXSocketHandler;
class XrdClientMessage; class XrdClientMessage;
// To transmit info to Handlers // To transmit info to Handlers
typedef struct { typedef struct {
Int_t fInt1; Int_t fInt1;
Int_t fInt2; Int_t fInt2;
Int_t fInt3; Int_t fInt3;
Int_t fInt4; Int_t fInt4;
skipping to change at line 74 skipping to change at line 78
Int_t fOpt; Int_t fOpt;
const char *fMsg; const char *fMsg;
} XHandleErr_t; } XHandleErr_t;
class TXSocket : public TSocket, public XrdClientAbsUnsolMsgHandler { class TXSocket : public TSocket, public XrdClientAbsUnsolMsgHandler {
friend class TXProofMgr; friend class TXProofMgr;
friend class TXProofServ; friend class TXProofServ;
friend class TXSlave; friend class TXSlave;
friend class TXSocketHandler; friend class TXSocketHandler;
friend class TXSockPipe;
friend class TXUnixSocket; friend class TXUnixSocket;
private: private:
char fMode; // 'e' (def) or 'i' (internal - proo fsrv) char fMode; // 'e' (def) or 'i' (internal - proo fsrv)
kXR_int32 fSendOpt; // Options for sending messages kXR_int32 fSendOpt; // Options for sending messages
Short_t fSessionID; // proofsrv: remote ID of connected session Short_t fSessionID; // proofsrv: remote ID of connected session
TString fUser; // Username used for login TString fUser; // Username used for login
TString fHost; // Remote host TString fHost; // Remote host
Int_t fPort; // Remote port Int_t fPort; // Remote port
skipping to change at line 116 skipping to change at line 121
Int_t fPid; Int_t fPid;
// Whether to timeout or not // Whether to timeout or not
Bool_t fDontTimeout; // If true wait forever for incoming messages Bool_t fDontTimeout; // If true wait forever for incoming messages
Bool_t fRDInterrupt; // To interrupt waiting for messages Bool_t fRDInterrupt; // To interrupt waiting for messages
// Version of the remote XrdProofdProtocol // Version of the remote XrdProofdProtocol
Int_t fXrdProofdVersion; Int_t fXrdProofdVersion;
// Static area for input handling // Static area for input handling
static TList fgReadySock; // Static list of sockets ready to b static TXSockPipe fgPipe; // Pipe for input monitoring
e read
static TMutex fgReadyMtx; // Protect access to the sockets-rea
dy list
static Int_t fgPipe[2]; // Pipe for input monitoring
static TString fgLoc; // Location string static TString fgLoc; // Location string
static Bool_t fgInitDone; // Avoid initializing more than once static Bool_t fgInitDone; // Avoid initializing more than once
// List of spare buffers // List of spare buffers
static TMutex fgSMtx; // To protect spare list static TMutex fgSMtx; // To protect spare list
static std::list<TXSockBuf *> fgSQue; // list of spare buffers static std::list<TXSockBuf *> fgSQue; // list of spare buffers
// Manage asynchronous message // Manage asynchronous message
Int_t PickUpReady(); Int_t PickUpReady();
TXSockBuf *PopUpSpare(Int_t sz); TXSockBuf *PopUpSpare(Int_t sz);
void PushBackSpare(); void PushBackSpare();
// Post a message into the queue for asynchronous processing // Post a message into the queue for asynchronous processing
void PostMsg(Int_t type); void PostMsg(Int_t type);
// Auxilliary // Auxilliary
Int_t GetLowSocket() const { return (fConn ? fConn->GetLow Socket() : -1); } Int_t GetLowSocket() const { return (fConn ? fConn->GetLow Socket() : -1); }
static Int_t GetPipeRead(); // Return the read-descriptor of the static void SetLocation(const char *loc = ""); // Set location s
global pipe tring
static Int_t PostPipe(TSocket *s=0); // Notify socket ready via
global pipe
static Int_t CleanPipe(TSocket *s=0); // Clean previous pipe noti
fication
static Int_t FlushPipe(TSocket *s=0); // Remove any instance of '
s' from the pipe
static void InitEnvs(); // Initialize environment variables static void InitEnvs(); // Initialize environment variables
static void DumpReadySock(); // Dump content of the ready-socket
list
public: public:
// Should be the same as in proofd/inc/XProofProtocol.h (local definitio ns) // Should be the same as in proofd/inc/XProofProtocol.h (local definitio ns)
enum ECoordMsgType { kQuerySessions = 1000, enum ECoordMsgType { kQuerySessions = 1000,
kSessionTag, kSessionAlias, kGetWorkers, kQueryWork ers, kSessionTag, kSessionAlias, kGetWorkers, kQueryWork ers,
kCleanupSessions, kCleanupSessions,
kQueryLogPaths, kQueryLogPaths,
kReadBuffer, kReadBuffer,
kQueryROOTVersions, kQueryROOTVersions,
kROOTVersion, kROOTVersion,
kGroupProperties, kGroupProperties,
kSendMsgToUser}; kSendMsgToUser,
kReleaseWorker};
// Should be the same as in proofd/src/XrdProofdProtocol::Urgent // Should be the same as in proofd/src/XrdProofdProtocol::Urgent
enum EUrgentMsgType { kStopProcess = 2000 }; enum EUrgentMsgType { kStopProcess = 2000 };
TXSocket(const char *url, Char_t mode = 'M', Int_t psid = -1, Char_t ver = -1, TXSocket(const char *url, Char_t mode = 'M', Int_t psid = -1, Char_t ver = -1,
const char *logbuf = 0, Int_t loglevel = -1, TXHandler *handler = 0); const char *logbuf = 0, Int_t loglevel = -1, TXHandler *handler = 0);
TXSocket(const TXSocket &xs); TXSocket(const TXSocket &xs);
TXSocket& operator=(const TXSocket& xs); TXSocket& operator=(const TXSocket& xs);
virtual ~TXSocket(); virtual ~TXSocket();
virtual void Close(Option_t *opt = ""); virtual void Close(Option_t *opt = "");
skipping to change at line 274 skipping to change at line 273
static Long64_t BuffMem(); static Long64_t BuffMem();
static Long64_t GetMemMax(); static Long64_t GetMemMax();
static void SetMemMax(Long64_t memmax); static void SetMemMax(Long64_t memmax);
private: private:
Char_t *fMem; Char_t *fMem;
static Long64_t fgBuffMem; // Total allocated memory static Long64_t fgBuffMem; // Total allocated memory
static Long64_t fgMemMax; // Max allocated memory allowed static Long64_t fgMemMax; // Max allocated memory allowed
}; };
//
// The following class describes internal pipes
//
class TXSockPipe {
public:
TXSockPipe(const char *loc = "");
virtual ~TXSockPipe();
Bool_t IsValid() const { return ((fPipe[0] >= 0 && fPipe[1] >= 0)
? kTRUE : kFALSE); }
TXSocket *GetLastReady();
Int_t GetRead() const { return fPipe[0]; }
Int_t Post(TSocket *s); // Notify socket ready via global pipe
Int_t Clean(TSocket *s); // Clean previous pipe notification
Int_t Flush(TSocket *s); // Remove any instance of 's' from the p
ipe
void DumpReadySock();
void SetLoc(const char *loc = "") { fLoc = loc; }
private:
TMutex fMutex; // Protect access to the sockets-ready list
Int_t fPipe[2]; // Pipe for input monitoring
TString fLoc; // Location string
TList fReadySock; // List of sockets ready to be read
};
#endif #endif
 End of changes. 9 change blocks. 
18 lines changed or deleted 41 lines changed or added


 TXSocketHandler.h   TXSocketHandler.h 
// @(#)root/proofx:$Id: TXSocketHandler.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/proofx:$Id: TXSocketHandler.h 26678 2008-12-05 14:53:23Z ganis $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TXSocketHandler #ifndef ROOT_TXSocketHandler
#define ROOT_TXSocketHandler #define ROOT_TXSocketHandler
skipping to change at line 32 skipping to change at line 32
#ifndef ROOT_TSysEvtHandler #ifndef ROOT_TSysEvtHandler
#include "TSysEvtHandler.h" #include "TSysEvtHandler.h"
#endif #endif
#ifndef ROOT_TXSocket #ifndef ROOT_TXSocket
#include "TXSocket.h" #include "TXSocket.h"
#endif #endif
class TXSocketHandler : public TFileHandler { class TXSocketHandler : public TFileHandler {
friend class TXSocket; // friend class TXSocket;
TFileHandler *fHandler; // Handler associated to the input socket TFileHandler *fHandler; // Handler associated to the input socket
TSocket *fInputSock; // Input socket from client or master TSocket *fInputSock; // Input socket from client or master
void SetHandler(TFileHandler *h, TSocket *s) void SetHandler(TFileHandler *h, TSocket *s)
{ fHandler = h; fInputSock = s; } { fHandler = h; fInputSock = s; }
static TXSocketHandler *fgSocketHandler; // Input socket handler static TXSocketHandler *fgSocketHandler; // Input socket handler
TXSocketHandler(TFileHandler *h, TSocket *s) : TXSocketHandler(TFileHandler *h, TSocket *s) :
TFileHandler(TXSocket::GetPipeRead(), 1) TFileHandler(TXSocket::fgPipe.GetRead(), 1)
{ fHandler = h; fInputSock = s; } { fHandler = h; fInputSock = s; }
public: public:
virtual ~TXSocketHandler() { } virtual ~TXSocketHandler() { }
Bool_t Notify(); Bool_t Notify();
Bool_t ReadNotify() { return Notify(); } Bool_t ReadNotify() { return Notify(); }
static TXSocketHandler *GetSocketHandler(TFileHandler *h = 0, TSocket *s = 0); static TXSocketHandler *GetSocketHandler(TFileHandler *h = 0, TSocket *s = 0);
ClassDef(TXSocketHandler, 0) //Input handler class for xproofd sockets ClassDef(TXSocketHandler, 0) //Input handler class for xproofd sockets
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 WrappedFunction.h   WrappedFunction.h 
// @(#)root/mathcore:$Id: WrappedFunction.h 24482 2008-06-23 15:33:08Z mone ta $ // @(#)root/mathcore:$Id: WrappedFunction.h 26866 2008-12-12 10:50:07Z mone ta $
// Authors: L. Moneta, A. Zsenei 08/2005 // Authors: L. Moneta, A. Zsenei 08/2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT * * Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT *
* * * *
* This library is free software; you can redistribute it and/or * * This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License * * modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 * * as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. * * of the License, or (at your option) any later version. *
skipping to change at line 143 skipping to change at line 143
*/ */
template< typename Func = FreeMultiFunctionPtr > template< typename Func = FreeMultiFunctionPtr >
class WrappedMultiFunction : public IMultiGenFunction { class WrappedMultiFunction : public IMultiGenFunction {
public: public:
/** /**
construct from the pointer to the object and the member function construct from the pointer to the object and the member function
*/ */
WrappedMultiFunction( Func f , unsigned int dim) : WrappedMultiFunction( Func f , unsigned int dim = 1) :
fFunc( f ), fFunc( f ),
fDim( dim) fDim( dim)
{ /* no op */ } { /* no op */ }
// use default copy contructor and assignment operator // use default copy contructor and assignment operator
/// clone (required by the interface) /// clone (required by the interface)
WrappedMultiFunction * Clone() const { WrappedMultiFunction * Clone() const {
return new WrappedMultiFunction(fFunc,fDim); return new WrappedMultiFunction(fFunc,fDim);
} }
skipping to change at line 170 skipping to change at line 170
virtual double DoEval (const double * x) const { virtual double DoEval (const double * x) const {
return fFunc( x ); return fFunc( x );
} }
Func fFunc; Func fFunc;
unsigned int fDim; unsigned int fDim;
}; // WrappedMultiFunction }; // WrappedMultiFunction
template<typename FuncObj, typename MemFuncPtr >
class WrappedMemMultiFunction : public IMultiGenFunction {
public:
/**
construct from the pointer to the object and the member function
*/
WrappedMemMultiFunction( FuncObj & obj, MemFuncPtr memFn, unsigned int d
im = 1 ) :
fObj(&obj),
fMemFunc( memFn ),
fDim(dim)
{ /* no op */ }
// use default copy contructor and assignment operator
/// clone (required by the interface)
WrappedMemMultiFunction * Clone() const {
return new WrappedMemMultiFunction(*fObj,fMemFunc,fDim);
}
unsigned int NDim() const { return fDim; }
private:
virtual double DoEval (const double * x) const {
return ((*fObj).*fMemFunc)( x );
}
FuncObj * fObj;
MemFuncPtr fMemFunc;
unsigned int fDim;
}; // WrappedMemMultiFunction
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#endif // ROOT_Math_WrappedFunction #endif // ROOT_Math_WrappedFunction
 End of changes. 3 change blocks. 
2 lines changed or deleted 38 lines changed or added


 WrappedTF1.h   WrappedTF1.h 
// @(#)root/mathmore:$Id: WrappedTF1.h 24403 2008-06-20 08:31:10Z moneta $ // @(#)root/mathmore:$Id: WrappedTF1.h 26946 2008-12-16 10:47:01Z moneta $
// Author: L. Moneta Wed Sep 6 09:52:26 2006 // Author: L. Moneta Wed Sep 6 09:52:26 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class WrappedTFunction // Header file for class WrappedTFunction
skipping to change at line 69 skipping to change at line 69
if (fFunc->GetMethodCall() ) fFunc->InitArgs(fX, &fParams.front() ); if (fFunc->GetMethodCall() ) fFunc->InitArgs(fX, &fParams.front() );
// distinguish case of polynomial functions and linear functions // distinguish case of polynomial functions and linear functions
if (fFunc->GetNumber() >= 300 && fFunc->GetNumber() < 310) { if (fFunc->GetNumber() >= 300 && fFunc->GetNumber() < 310) {
fLinear = true; fLinear = true;
fPolynomial = true; fPolynomial = true;
} }
// check that in case function is linear the linear terms are not zer o // check that in case function is linear the linear terms are not zer o
if (fFunc->IsLinear() ) { if (fFunc->IsLinear() ) {
unsigned int ip = 0; unsigned int ip = 0;
fLinear = true; fLinear = true;
while (fLinear) { while (fLinear && ip < fParams.size() ) {
fLinear &= (fFunc->GetLinearPart(ip) != 0) ; fLinear &= (fFunc->GetLinearPart(ip) != 0) ;
ip++; ip++;
} }
} }
} }
/** /**
Destructor (no operations). TF1 Function pointer is not owned Destructor (no operations). TF1 Function pointer is not owned
*/ */
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 compiledata.h   compiledata.h 
/* This is file is automatically generated */ /* This is file is automatically generated */
#define BUILD_ARCH "linux" #define BUILD_ARCH "linux"
#define BUILD_NODE "Linux lxbuild116-vm3.cern.ch 2.6.18-92.1.13.el5PAE #1 S MP Thu Sep 25 14:07:47 CEST 2008 i686 i686 i386 GNU/Linux" #define BUILD_NODE "Linux lxbuild116-vm3.cern.ch 2.6.18-92.1.18.el5PAE #1 S MP Wed Nov 12 07:09:13 EST 2008 i686 i686 i386 GNU/Linux"
#define COMPILER "/afs/cern.ch/sw/lcg/contrib/gcc/4.3/slc4_ia32_gcc34/bin/g ++" #define COMPILER "/afs/cern.ch/sw/lcg/contrib/gcc/4.3/slc4_ia32_gcc34/bin/g ++"
#define COMPILERVERS "gcc432" #define COMPILERVERS "gcc432"
#define MAKESHAREDLIB "cd $BuildDir ; g++ -c $Opt -pipe -m32 -Wall -W -Wov erloaded-virtual -fPIC -pthread $IncludePath $SourceFiles ; g++ $ObjectFil es -shared -Wl,-soname,$LibName.so -m32 -O2 $LinkedLibs -o $SharedLib" #define MAKESHAREDLIB "cd $BuildDir ; g++ -c $Opt -pipe -m32 -Wall -W -Wov erloaded-virtual -fPIC -pthread $IncludePath $SourceFiles ; g++ $ObjectFil es -shared -Wl,-soname,$LibName.so -m32 -O2 $LinkedLibs -o $SharedLib"
#define MAKEEXE "cd $BuildDir ; g++ -c -pipe -m32 -Wall -W -Woverloaded-vi rtual -fPIC -pthread $IncludePath $SourceFiles; g++ $ObjectFiles -m32 -O2 -o $ExeName $LinkedLibs -lm -ldl -pthread -rdynamic" #define MAKEEXE "cd $BuildDir ; g++ -c -pipe -m32 -Wall -W -Woverloaded-vi rtual -fPIC -pthread $IncludePath $SourceFiles; g++ $ObjectFiles -m32 -O2 -o $ExeName $LinkedLibs -lm -ldl -pthread -rdynamic"
#define CXXOPT "-O2" #define CXXOPT "-O2"
#define CXXDEBUG "-g" #define CXXDEBUG "-g"
#define ROOTBUILD "" #define ROOTBUILD ""
#define LINKEDLIBS "-L$ROOTSYS/lib -lCore -lCint -lMathCore -lRint " #define LINKEDLIBS "-L$ROOTSYS/lib -lCore -lCint -lMathCore -lRint "
#define INCLUDEPATH "-I$ROOTSYS/include" #define INCLUDEPATH "-I$ROOTSYS/include"
#define OBJEXT "o" #define OBJEXT "o"
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/