3DConversions.h   3DConversions.h 
// @(#)root/mathcore:$Id: 3DConversions.h 22516 2008-03-07 15:14:26Z moneta $ // @(#)root/mathcore:$Id: 3DConversions.h 32727 2010-03-24 11:18:41Z rdm $
// Authors: W. Brown, M. Fischler, L. Moneta 2005 // Authors: W. Brown, M. Fischler, L. Moneta 2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005, LCG ROOT FNAL MathLib Team * * Copyright (c) 2005, LCG ROOT FNAL MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class Rotation in 3 dimensions, represented by 3x3 matri x // Header file for class Rotation in 3 dimensions, represented by 3x3 matri x
skipping to change at line 34 skipping to change at line 34
#include "Math/GenVector/RotationXfwd.h" #include "Math/GenVector/RotationXfwd.h"
#include "Math/GenVector/RotationYfwd.h" #include "Math/GenVector/RotationYfwd.h"
#include "Math/GenVector/RotationZfwd.h" #include "Math/GenVector/RotationZfwd.h"
#include "Math/GenVector/RotationZYXfwd.h" #include "Math/GenVector/RotationZYXfwd.h"
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
namespace gv_detail { namespace gv_detail {
// flag a compile time error when a wrong conversion is instantiated // flag a link time error when a wrong conversion is instantiated
struct ERROR_This_Rotation_Conversion_is_NOT_Supported; struct ERROR_This_Rotation_Conversion_is_NOT_Supported {
ERROR_This_Rotation_Conversion_is_NOT_Supported();
};
template<class R1, class R2> template<class R1, class R2>
void convert( R1 const &, R2 const) { void convert( R1 const &, R2 const) {
ERROR_This_Rotation_Conversion_is_NOT_Supported(); ERROR_This_Rotation_Conversion_is_NOT_Supported();
} }
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// conversions from Rotation3D // conversions from Rotation3D
/** /**
conversion functions from 3D rotation. conversion functions from 3D rotation.
For converting to Euler Angles see For converting to Euler Angles see
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 AllIntegrationTypes.h   AllIntegrationTypes.h 
// @(#)root/mathmore:$Id: AllIntegrationTypes.h 24403 2008-06-20 08:31:10Z moneta $ // @(#)root/mathmore:$Id: AllIntegrationTypes.h 33180 2010-04-25 10:14:07Z moneta $
// Author: Magdalena Slawinska 10/2007 // Author: Magdalena Slawinska 10/2007
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2007 ROOT Foundation, CERN/PH-SFT * * Copyright (c) 2007 ROOT Foundation, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Integration types for // Integration types for
skipping to change at line 30 skipping to change at line 30
// type of integration // type of integration
//for 1-dim integration //for 1-dim integration
namespace IntegrationOneDim { namespace IntegrationOneDim {
/** /**
enumeration specifying the integration types. enumeration specifying the integration types.
<ul> <ul>
<li>kGAUSS: simple Gauss integration method with fixed rule <li>kGAUSS: simple Gauss integration method with fixed rule
<li>kLEGENDRE: Gauss-Legendre integration
<li>kNONADAPTIVE : to be used for smooth functions <li>kNONADAPTIVE : to be used for smooth functions
<li>kADAPTIVE : to be used for general functions without singularit ies. <li>kADAPTIVE : to be used for general functions without singularit ies.
<li>kADAPTIVESINGULAR: default adaptive integration type which can be used in the case of the presence of singularities. <li>kADAPTIVESINGULAR: default adaptive integration type which can be used in the case of the presence of singularities.
</ul> </ul>
@ingroup Integration @ingroup Integration
*/ */
enum Type { kGAUSS, kADAPTIVE, kADAPTIVESINGULAR, kNONADAPTIVE}; enum Type { kGAUSS, kLEGENDRE, kADAPTIVE, kADAPTIVESINGULAR, kNONADAPT IVE};
} }
//for multi-dim integration //for multi-dim integration
namespace IntegrationMultiDim { namespace IntegrationMultiDim {
/** /**
enumeration specifying the integration types. enumeration specifying the integration types.
<ul> <ul>
<li>ADAPTIVE : adaptive multi-dimensional integration <li>ADAPTIVE : adaptive multi-dimensional integration
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 Api.h   Api.h 
skipping to change at line 210 skipping to change at line 210
} }
void Init(const char* fname); void Init(const char* fname);
const char *Name(); const char *Name();
const char *Prepname(); const char *Prepname();
FILE* fp(); FILE* fp();
int MaxLine(); int MaxLine();
G__SourceFileInfo& IncludedFrom(); G__SourceFileInfo& IncludedFrom();
long Property(); long Property();
int IsValid(); int IsValid();
int Next(); int Next();
static int SerialNumber();
private: private:
int filen; int filen;
}; };
/********************************************************************* /*********************************************************************
* G__IncludePathInfo * G__IncludePathInfo
*********************************************************************/ *********************************************************************/
class class
#ifndef __CINT__ #ifndef __CINT__
G__EXPORT G__EXPORT
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 BayesianCalculator.h   BayesianCalculator.h 
// @(#)root/roostats:$Id: BayesianCalculator.h 31742 2009-12-09 17:34:15Z m oneta $ // @(#)root/roostats:$Id: BayesianCalculator.h 33228 2010-04-27 07:09:42Z 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_BayesianCalculator #ifndef ROOSTATS_BayesianCalculator
skipping to change at line 64 skipping to change at line 64
// destructor // destructor
virtual ~BayesianCalculator(); virtual ~BayesianCalculator();
RooPlot* GetPosteriorPlot() const; RooPlot* GetPosteriorPlot() const;
// return posterior pdf (object is managed by the BayesianCalculator class) // return posterior pdf (object is managed by the BayesianCalculator class)
RooAbsPdf* GetPosteriorPdf() const; RooAbsPdf* GetPosteriorPdf() const;
virtual SimpleInterval* GetInterval() const ; virtual SimpleInterval* GetInterval() const ;
virtual void SetData( RooAbsData & data ) { fData = &data; } virtual void SetData( RooAbsData & data ) {
fData = &data;
ClearAll();
}
virtual void SetModel( const ModelConfig& model ); virtual void SetModel( const ModelConfig& model );
// 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 SetTestSize( Double_t size ) { virtual void SetTestSize( Double_t size ) {
fSize = size; fSize = size;
if (fInterval) delete fInterval; fValidInterval = false;
fInterval = 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 ) { SetTestSize(1.-cl); } virtual void SetConfidenceLevel( Double_t cl ) { SetTestSize(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; }
protected: protected:
skipping to change at line 105 skipping to change at line 107
RooAbsPdf* fPdf; RooAbsPdf* fPdf;
RooArgSet fPOI; RooArgSet fPOI;
RooAbsPdf* fPriorPOI; RooAbsPdf* fPriorPOI;
RooArgSet fNuisanceParameters; RooArgSet fNuisanceParameters;
mutable RooAbsPdf* fProductPdf; mutable RooAbsPdf* fProductPdf;
mutable RooAbsReal* fLogLike; mutable RooAbsReal* fLogLike;
mutable RooAbsReal* fLikelihood; mutable RooAbsReal* fLikelihood;
mutable RooAbsReal* fIntegratedLikelihood; mutable RooAbsReal* fIntegratedLikelihood;
mutable RooAbsPdf* fPosteriorPdf; mutable RooAbsPdf* fPosteriorPdf;
mutable SimpleInterval* fInterval; // cached pointer to resulting in mutable Double_t fLower;
terval mutable Double_t fUpper;
mutable Bool_t fValidInterval;
double fSize; // size used for getting the interval double fSize; // size used for getting the interval
protected: protected:
ClassDef(BayesianCalculator,1) // BayesianCalculator class ClassDef(BayesianCalculator,1) // BayesianCalculator class
}; };
} }
 End of changes. 4 change blocks. 
6 lines changed or deleted 9 lines changed or added


 BinData.h   BinData.h 
// @(#)root/mathcore:$Id: BinData.h 31180 2009-11-16 10:54:05Z moneta $ // @(#)root/mathcore:$Id: BinData.h 33180 2010-04-25 10:14:07Z moneta $
// Author: L. Moneta Wed Aug 30 11:15:23 2006 // Author: L. Moneta Wed Aug 30 11:15:23 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 BinData // Header file for class BinData
skipping to change at line 209 skipping to change at line 209
add multi-dim coordinate data with only error in value add multi-dim coordinate data with only error in value
*/ */
void Add(const double *x, double val, double eval); void Add(const double *x, double val, double eval);
/** /**
add multi-dim coordinate data with both error in coordinates and valu e add multi-dim coordinate data with both error in coordinates and valu e
*/ */
void Add(const double *x, double val, const double * ex, double eval); void Add(const double *x, double val, const double * ex, double eval);
/** /**
add multi-dim coordinate data with both error in coordinates and valu
e
*/
void Add(const double *x, double val, const double * ex, double elval,
double ehval);
/**
return a pointer to the coordinates data for the given fit point return a pointer to the coordinates data for the given fit point
*/ */
const double * Coords(unsigned int ipoint) const { const double * Coords(unsigned int ipoint) const {
if (fDataVector) if (fDataVector)
return &((fDataVector->Data())[ ipoint*fPointSize ] ); return &((fDataVector->Data())[ ipoint*fPointSize ] );
return fDataWrapper->Coords(ipoint); return fDataWrapper->Coords(ipoint);
} }
/** /**
skipping to change at line 467 skipping to change at line 472
bool HasBinEdges() const { bool HasBinEdges() const {
return fBinEdge.size() > 0 && fBinEdge.size() == fDim*fNPoints; return fBinEdge.size() > 0 && fBinEdge.size() == fDim*fNPoints;
} }
/** /**
add the bin width data, a pointer to an array with the bin upper edg e information. add the bin width data, a pointer to an array with the bin upper edg e information.
This is needed when fitting with integral options This is needed when fitting with integral options
The information is added for the previously inserted point. The information is added for the previously inserted point.
BinData::Add must be called before BinData::Add must be called before
*/ */
void AddBinUpEdge(const double * binwidth); void AddBinUpEdge(const double * xup);
/** /**
retrieve the reference volume used to normalize the data when the op tion bin volume is set retrieve the reference volume used to normalize the data when the op tion bin volume is set
*/ */
double RefVolume() const { return fRefVolume; } double RefVolume() const { return fRefVolume; }
/** /**
set the reference volume used to normalize the data when the option b in volume is set set the reference volume used to normalize the data when the option b in volume is set
*/ */
void SetRefVolume(double value) { fRefVolume = value; } void SetRefVolume(double value) { fRefVolume = value; }
 End of changes. 3 change blocks. 
2 lines changed or deleted 9 lines changed or added


 BrentMethods.h   BrentMethods.h 
#ifndef ROOT_Math_BrentMethods #ifndef ROOT_Math_BrentMethods
#define ROOT_Math_BrentMethods #define ROOT_Math_BrentMethods
#include <Math/IFunction.h> #ifndef ROOT_Math_IFunctionfwd
#include "Math/IFunctionfwd.h"
#endif
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
double MinimStep(const IGenFunction* f, int type, double &xmin, double &xma namespace BrentMethods {
x, double fy, int fNpx = 100);
double MinimBrent(const IGenFunction* f, int type, double &xmin, double &xm /**
ax, double xmiddle, double fy, bool &ok); Grid search implementation, used to bracket the minimum and later
use Brent's method with the bracketed interval
The step of the search is set to (xmax-xmin)/fNpx
type: 0-returns MinimumX
1-returns Minimum
2-returns MaximumX
3-returns Maximum
4-returns X corresponding to fy
*/
double MinimStep(const IGenFunction* f, int type, double &xmin, double &
xmax, double fy, int npx = 100);
/**
Finds a minimum of a function, if the function is unimodal between x
min and xmax
This method uses a combination of golden section search and parabolic
interpolation
Details about convergence and properties of this algorithm can be
found in the book by R.P.Brent "Algorithms for Minimization Without D
erivatives"
or in the "Numerical Recipes", chapter 10.2
convergence is reached using tolerance = 2 *( epsrel * abs(x) + epsa
bs)
type: 0-returns MinimumX
1-returns Minimum
2-returns MaximumX
3-returns Maximum
4-returns X corresponding to fy
if ok=true the method has converged.
Maxiter returns the actual number of iteration performed
*/
double MinimBrent(const IGenFunction* f, int type, double &xmin, double
&xmax, double xmiddle, double fy, bool &ok, int &niter, double epsabs = 1.E
-8, double epsrel = 1.E-10, int maxiter = 100 );
} } // end namespace BrentMethods
} } // end namespace Math
} // ned namespace ROOT
#endif #endif
 End of changes. 3 change blocks. 
7 lines changed or deleted 49 lines changed or added


 BrentMinimizer1D.h   BrentMinimizer1D.h 
// @(#)root/mathcore:$Id: BrentMinimizer1D.h 31583 2009-12-06 13:55:26Z rdm $ // @(#)root/mathcore:$Id: BrentMinimizer1D.h 32583 2010-03-12 09:57:42Z mon eta $
// Author: David Gonzalez Maline 2/2008 // Author: David Gonzalez Maline 2/2008
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2004 Maline, CERN/PH-SFT * * Copyright (c) 2004 Maline, 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 30 skipping to change at line 30
* 330, Boston, MA 02111-1307 USA, or contact the author. * * 330, Boston, MA 02111-1307 USA, or contact the author. *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class BrentMinimizer1D // Header file for class BrentMinimizer1D
// //
// Created by: Maline at Mon Feb 4 09:32:36 2008 // Created by: Maline at Mon Feb 4 09:32:36 2008
// //
// //
#include "Math/IMinimizer1D.h"
#include "Math/IFunction.h"
#ifndef ROOT_Math_BrentMinimizer1D #ifndef ROOT_Math_BrentMinimizer1D
#define ROOT_Math_BrentMinimizer1D #define ROOT_Math_BrentMinimizer1D
#ifndef ROOT_Math_IMinimizer1D
#include "Math/IMinimizer1D.h"
#endif
#ifndef ROOT_Math_IFunctionfwd
#include "Math/IFunctionfwd.h"
#endif
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//_________________________________________________________________________ __________________ //_________________________________________________________________________ __________________
/** /**
User class for performing function minimization User class for performing function minimization
It will use the Brent Method for function minimization in a given interv al. It will use the Brent Method for function minimization in a given interv al.
First, a grid search is used to bracket the minimum value
with the a step size = (xmax-xmin)/npx. The step size
can be controlled via the SetNpx() function. A default value of npx = 10
0 is used.
The default value con be changed using the static method SetDefaultNpx.
If the function is unimodal or if its extrema are far apart, setting the
fNpx to
a small value speeds the algorithm up many times.
Then, Brent's method is applied on the bracketed interval.
If the Brent method fails to converge the bracketing is repeted on the l
atest best estimate of the
interval. The procedure is repeted with a maximum value (default =10) wh
ich can be set for all
BrentRootFinder classes with the method SetDefaultNSearch
This class is implemented from TF1::GetMinimum. This class is implemented from TF1::GetMinimum.
To use the class, three steps have to be taken: To use the class, three steps have to be taken:
1. Create the class. 1. Create the class.
2. Set a function within an interval to look for the minimum. 2. Set a function within an interval to look for the minimum.
3. Call the Minimize function with the error parameters. 3. Call the Minimize function with the error parameters.
If another minimization is to be performed, repeat the last two steps. If another minimization is to be performed, repeat the last two steps.
@ingroup Min1D @ingroup Min1D
*/ */
class BrentMinimizer1D: IMinimizer1D { class BrentMinimizer1D: ROOT::Math::IMinimizer1D {
public: public:
/** Default Constructor. */ /** Default Constructor. */
BrentMinimizer1D(); BrentMinimizer1D();
/** Default Destructor. */ /** Default Destructor. */
virtual ~BrentMinimizer1D(); virtual ~BrentMinimizer1D() {}
public: public:
/** Return current estimate of the position of the minimum. */ /** Return current estimate of the position of the minimum. */
virtual double XMinimum() const; virtual double XMinimum() const { return fXMinimum; }
/** Return current lower bound of the minimization interval. */ /** Return current lower bound of the minimization interval. */
virtual double XLower() const; virtual double XLower() const { return fXMin; }
/** Return current upper bound of the minimization interval. */ /** Return current upper bound of the minimization interval. */
virtual double XUpper() const; virtual double XUpper() const { return fXMax; }
/** Return function value at current estimate of the minimum. */ /** Return function value at current estimate of the minimum. */
virtual double FValMinimum() const; virtual double FValMinimum() const;
/** Return function value at current lower bound of the minimization interval. */ /** Return function value at current lower bound of the minimization interval. */
virtual double FValLower() const; virtual double FValLower() const;
/** Return function value at current upper bound of the minimization interval. */ /** Return function value at current upper bound of the minimization interval. */
virtual double FValUpper() const; virtual double FValUpper() const;
/** Find minimum position iterating until convergence specified by th e absolute and relative tolerance or /** Find minimum position iterating until convergence specified by th e absolute and relative tolerance or
the maximum number of iteration is reached. the maximum number of iteration is reached.
Return true if iterations converged successfully
\@param maxIter maximum number of iterations. \@param maxIter maximum number of iterations.
\@param absTol desired absolute error in the minimum position. \@param absTol desired absolute error in the minimum position (de
\@param absTol desired relative error in the minimum position. fault 1.E-8)
\@param absTol desired relative error in the minimum position (de
fault = 1.E-10)
*/ */
virtual int Minimize( int maxIter, double absTol, double relTol); virtual bool Minimize( int maxIter, double absTol = 1.E-8, double rel Tol = 1.E-10);
/** Return number of iteration used to find minimum */ /** Return number of iteration used to find minimum */
virtual int Iterations() const; virtual int Iterations() const { return fNIter; }
/** Return name of minimization algorithm ("BrentMinimizer1D") */ /** Return name of minimization algorithm ("BrentMinimizer1D") */
virtual const char * Name() const; virtual const char * Name() const;
/** Sets function to be minimized. /** Sets function to be minimized.
\@param f Function to be minimized. \@param f Function to be minimized.
\@param xlow Lower bound of the search interval. \@param xlow Lower bound of the search interval.
\@param xup Upper bound of the search interval. \@param xup Upper bound of the search interval.
*/ */
int SetFunction(const ROOT::Math::IGenFunction& f, double xlow, doubl void SetFunction(const ROOT::Math::IGenFunction& f, double xlow, doub
e xup); le xup);
/** Set the number of point used to bracket root using a grid */
void SetNpx(int npx) { fNpx = npx; }
/** Returns status of last estimate. If = 0 is OK */
int Status() const { return fStatus; }
// static function used to modify the default parameters
/** set number of default Npx used at construction time (when SetNpx
is not called)
Default value is 100
*/
static void SetDefaultNpx(int npx);
/** set number of times the bracketing search in combination with is
done to find a good interval
Default value is 10
*/
static void SetDefaultNSearch(int n);
private:
protected:
const IGenFunction* fFunction; // Pointer to the function. const IGenFunction* fFunction; // Pointer to the function.
int fNIter; // Number of iterations needed for the
last estimation.
int fNpx; // Number of points to bracket minimum
with grid (def is 100)
int fStatus; // Status of code of the last estimate
double fXMin; // Lower bound of the search interval. double fXMin; // Lower bound of the search interval.
double fXMax; // Upper bound of the search interval double fXMax; // Upper bound of the search interval
double fXMinimum; // Position of the stimated minimum. double fXMinimum; // Position of the stimated minimum.
int fNIter; // Number of iterations needed for the last stimation.
}; // end class BrentMinimizer1D }; // end class BrentMinimizer1D
} // end namespace Math } // end namespace Math
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Math_BrentMinimizer1D */ #endif /* ROOT_Math_BrentMinimizer1D */
 End of changes. 17 change blocks. 
18 lines changed or deleted 65 lines changed or added


 BrentRootFinder.h   BrentRootFinder.h 
// @(#)root/mathcore:$Id: BrentRootFinder.h 24477 2008-06-23 12:58:47Z mone ta $ // @(#)root/mathcore:$Id: BrentRootFinder.h 32583 2010-03-12 09:57:42Z mone ta $
// Authors: David Gonzalez Maline 01/2008 // Authors: David Gonzalez Maline 01/2008
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 , LCG ROOT MathLib Team * * Copyright (c) 2006 , LCG ROOT MathLib Team *
* * * *
* 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 33 skipping to change at line 33
**********************************************************************/ **********************************************************************/
// Header for the RootFinder // Header for the RootFinder
// //
// Created by: David Gonzalez Maline : Wed Jan 21 2008 // Created by: David Gonzalez Maline : Wed Jan 21 2008
// //
#ifndef ROOT_Math_BrentRootFinder #ifndef ROOT_Math_BrentRootFinder
#define ROOT_Math_BrentRootFinder #define ROOT_Math_BrentRootFinder
#include <Math/IFunction.h> #ifndef ROOT_Math_IFunctionfwd
#include <Math/IRootFinderMethod.h> #include "Math/IFunctionfwd.h"
#endif
#ifndef ROOT_Math_IRootFinderMethod
#include "Math/IRootFinderMethod.h"
#endif
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//_________________________________________________________________________ __________________ //_________________________________________________________________________ __________________
/** /**
User class for finding function roots. Class for finding the root of a one dimensional function using the Brent
algorithm.
It will use the Brent Method for finding function roots in a given inter
val.
First, a grid search is used to bracket the root value
with the a step size = (xmax-xmin)/npx. The step size
can be controlled via the SetNpx() function. A default value of npx = 10
0 is used.
The default value con be changed using the static method SetDefaultNpx.
If the function is unimodal or if its extrema are far apart, setting the
fNpx to
a small value speeds the algorithm up many times.
Then, Brent's method is applied on the bracketed interval.
It will use the Brent Method for finding function roots in a given inter val. It will use the Brent Method for finding function roots in a given inter val.
If the Brent method fails to converge the bracketing is repeted on the l
atest best estimate of the
interval. The procedure is repeted with a maximum value (default =10) wh
ich can be set for all
BrentRootFinder classes with the method SetDefaultNSearch
This class is implemented from TF1::GetX() method. This class is implemented from TF1::GetX() method.
@ingroup RootFinders @ingroup RootFinders
*/ */
class BrentRootFinder: public IRootFinderMethod { class BrentRootFinder: public IRootFinderMethod {
public: public:
/** Default Destructor. */
virtual ~BrentRootFinder();
/** Default Constructor. */ /** Default Constructor. */
BrentRootFinder(); BrentRootFinder();
/** Default Destructor. */
virtual ~BrentRootFinder() {}
/** Set function to solve and the interval in where to look for the r oot. /** Set function to solve and the interval in where to look for the r oot.
\@param f Function to be minimized. \@param f Function to be minimized.
\@param xlow Lower bound of the search interval. \@param xlow Lower bound of the search interval.
\@param xup Upper bound of the search interval. \@param xup Upper bound of the search interval.
*/ */
using IRootFinderMethod::SetFunction; using IRootFinderMethod::SetFunction;
int SetFunction(const ROOT::Math::IGenFunction& f, double xlow, doubl e xup); bool SetFunction(const ROOT::Math::IGenFunction& f, double xlow, doub le xup);
/** Returns the X value corresponding to the function value fy for (x min<x<xmax). /** Returns the X value corresponding to the function value fy for (x min<x<xmax).
Method: Method:
First, the grid search is used to bracket the maximum First, the grid search is used to bracket the maximum
with the step size = (xmax-xmin)/fNpx. This way, the step size with the step size = (xmax-xmin)/fNpx. This way, the step size
can be controlled via the SetNpx() function. If the function is can be controlled via the SetNpx() function. If the function is
unimodal or if its extrema are far apart, setting the fNpx to unimodal or if its extrema are far apart, setting the fNpx to
a small value speeds the algorithm up many times. a small value speeds the algorithm up many times.
Then, Brent's method is applied on the bracketed interval. Then, Brent's method is applied on the bracketed interval.
\@param maxIter maximum number of iterations. \@param maxIter maximum number of iterations.
\@param absTol desired absolute error in the minimum position. \@param absTol desired absolute error in the minimum position.
\@param absTol desired relative error in the minimum position. \@param absTol desired relative error in the minimum position.
*/ */
int Solve(int maxIter = 100, double absTol = 1E-3, double relTol = 1E bool Solve(int maxIter = 100, double absTol = 1E-8, double relTol = 1
-6); E-10);
/** Set the number of point used to bracket root using a grid */
void SetNpx(int npx) { fNpx = npx; }
/** Returns root value. Need to call first Solve(). */ /** Returns root value. Need to call first Solve(). */
double Root() const; double Root() const { return fRoot; }
/** Returns status of last estimate. If = 0 is OK */
int Status() const { return fStatus; }
/** Return number of iteration used to find minimum */
int Iterations() const { return fNIter; }
/** Return name of root finder algorithm ("BrentRootFinder"). */ /** Return name of root finder algorithm ("BrentRootFinder"). */
const char* Name() const; const char* Name() const;
protected: // static function used to modify the default parameters
/** set number of default Npx used at construction time (when SetNpx
is not called)
Default value is 100
*/
static void SetDefaultNpx(int npx);
/** set number of times the bracketing search in combination with is
done to find a good interval
Default value is 10
*/
static void SetDefaultNSearch(int n);
private:
const IGenFunction* fFunction; // Pointer to the function. const IGenFunction* fFunction; // Pointer to the function.
int fNIter; // Number of iterations needed for the
last estimation.
int fNpx; // Number of points to bracket root wi
th initial grid (def is 100)
int fStatus; // Status of code of the last estimate
double fXMin; // Lower bound of the search interval. double fXMin; // Lower bound of the search interval.
double fXMax; // Upper bound of the search interval double fXMax; // Upper bound of the search interval
double fRoot; // Current stimation of the function r oot. double fRoot; // Current stimation of the function r oot.
}; };
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#endif /* ROOT_Math_BrentRootFinder */ #endif /* ROOT_Math_BrentRootFinder */
 End of changes. 11 change blocks. 
13 lines changed or deleted 64 lines changed or added


 Buttons.h   Buttons.h 
/* @(#)root/base:$Id: Buttons.h 30690 2009-10-12 18:12:30Z rdm $ */ /* @(#)root/base:$Id: Buttons.h 32308 2010-02-10 08:39:43Z brun $ */
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_Buttons #ifndef ROOT_Buttons
#define ROOT_Buttons #define ROOT_Buttons
enum EEventType { enum EEventType {
kNoEvent = 0, kNoEvent = 0,
kButton1Down = 1, kButton2Down = 2, kButton3Down = 3, kKeyDown = 4, kButton1Down = 1, kButton2Down = 2, kButton3Down = 3, kKeyDown = 4,
kWheelUp = 5, kWheelDown = 6, kButton1Shift = 7, kWheelUp = 5, kWheelDown = 6, kButton1Shift = 7, kButton1S hiftMotion = 8,
kButton1Up = 11, kButton2Up = 12, kButton3Up = 13, kKeyUp = 14, kButton1Up = 11, kButton2Up = 12, kButton3Up = 13, kKeyUp = 14,
kButton1Motion = 21, kButton2Motion = 22, kButton3Motion = 23, kKeyPress = 24, kButton1Motion = 21, kButton2Motion = 22, kButton3Motion = 23, kKeyPress = 24,
kButton1Locate = 41, kButton2Locate = 42, kButton3Locate = 43, kESC = 27, kButton1Locate = 41, kButton2Locate = 42, kButton3Locate = 43, kESC = 27,
kMouseMotion = 51, kMouseEnter = 52, kMouseLeave = 53, kMouseMotion = 51, kMouseEnter = 52, kMouseLeave = 53,
kButton1Double = 61, kButton2Double = 62, kButton3Double = 63 kButton1Double = 61, kButton2Double = 62, kButton3Double = 63
}; };
enum EEditMode { enum EEditMode {
kPolyLine = 1, kSPolyLine = 2, kPolyGone = 3, kPolyLine = 1, kSPolyLine = 2, kPolyGone = 3,
kSPolyGone = 4, kBox = 5, kDelete = 6, kSPolyGone = 4, kBox = 5, kDelete = 6,
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Class.h   Class.h 
skipping to change at line 59 skipping to change at line 59
const char *Name() ; const char *Name() ;
const char *Fullname(); const char *Fullname();
const char *Title() ; const char *Title() ;
int Size() ; int Size() ;
long Property(); long Property();
int NDataMembers(); int NDataMembers();
int NMethods(); int NMethods();
long IsBase(const char *classname); long IsBase(const char *classname);
long IsBase(G__ClassInfo& a); long IsBase(G__ClassInfo& a);
void* DynamicCast(G__ClassInfo& to, void* obj);
long Tagnum() const { return(tagnum); } long Tagnum() const { return(tagnum); }
G__ClassInfo EnclosingClass() ; G__ClassInfo EnclosingClass() ;
G__ClassInfo EnclosingSpace() ; G__ClassInfo EnclosingSpace() ;
struct G__friendtag* GetFriendInfo(); struct G__friendtag* GetFriendInfo();
void SetGlobalcomp(int globalcomp); void SetGlobalcomp(int globalcomp);
void SetProtectedAccess(int protectedaccess); void SetProtectedAccess(int protectedaccess);
#ifdef G__OLDIMPLEMENTATION1218_YET #ifdef G__OLDIMPLEMENTATION1218_YET
int IsValid() { return 0<=tagnum && tagnum<G__struct.alltag ? 1 : 0; } int IsValid() { return 0<=tagnum && tagnum<G__struct.alltag ? 1 : 0; }
#else #else
int IsValid(); int IsValid();
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 ClassBuilder.h   ClassBuilder.h 
// @(#)root/reflex:$Id: ClassBuilder.h 29355 2009-07-06 17:34:05Z axel $ // @(#)root/reflex:$Id: ClassBuilder.h 32228 2010-02-05 16:13:09Z 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-2010, 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.
#ifndef Reflex_ClassBuilder #ifndef Reflex_ClassBuilder
#define Reflex_ClassBuilder #define Reflex_ClassBuilder
skipping to change at line 110 skipping to change at line 110
* which will be emtpied with the next call of a builder * which will be emtpied with the next call of a builder
* class and attached to the item built with this call * class and attached to the item built with this call
* *
* @param key the PropertyNth key * @param key the PropertyNth key
* @param value the value of the PropertyNth * @param value the value of the PropertyNth
*/ */
void AddProperty(const char* key, void AddProperty(const char* key,
Any value); Any value);
void AddProperty(const char* key, void AddProperty(const char* key,
const char* value); const char* value);
void AddProperty(const char* key,
const Literal& value) { AddProperty(key, (const char*)v
alue); }
/** /**
* Register an on demand builder for data members with this class. * Register an on demand builder for data members with this class.
*/ */
void AddOnDemandDataMemberBuilder(OnDemandBuilderForScope* odb); void AddOnDemandDataMemberBuilder(OnDemandBuilderForScope* odb);
/** /**
* Register an on demand builder for function members with this class. * Register an on demand builder for function members with this class.
*/ */
void AddOnDemandFunctionMemberBuilder(OnDemandBuilderForScope* odb); void AddOnDemandFunctionMemberBuilder(OnDemandBuilderForScope* odb);
 End of changes. 3 change blocks. 
2 lines changed or deleted 5 lines changed or added


 Config.h   Config.h 
// @(#)root/tmva $Id: Config.h 29195 2009-06-24 10:39:49Z brun $ // @(#)root/tmva $Id: Config.h 32128 2010-01-28 07:13:49Z brun $
// Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss // Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* 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 : Config * * Class : Config *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* GLobal configuration settings (singleton) * * GLobal configuration settings (singleton) *
skipping to change at line 55 skipping to change at line 55
#endif #endif
namespace TMVA { namespace TMVA {
class MsgLogger; class MsgLogger;
class Config { class Config {
public: public:
static Config& Instance() { return fgConfigPtr ? *fgConfigPtr : *(fgC static Config& Instance();
onfigPtr = new Config()); } static void DestroyInstance();
static void DestroyInstance() { if (fgConfigPtr != 0) { delete fgC
onfigPtr; fgConfigPtr = 0; } }
Bool_t UseColor() const { return fUseColoredConsole; } Bool_t UseColor() const { return fUseColoredConsole; }
void SetUseColor( Bool_t uc ) { fUseColoredConsole = uc; } void SetUseColor( Bool_t uc ) { fUseColoredConsole = uc; }
Bool_t IsSilent() const { return fSilent; } Bool_t IsSilent() const { return fSilent; }
void SetSilent( Bool_t s ) { fSilent = s; } void SetSilent( Bool_t s ) { fSilent = s; }
Bool_t WriteOptionsReference() const { return fWriteOptionsReference; } Bool_t WriteOptionsReference() const { return fWriteOptionsReference; }
void SetWriteOptionsReference( Bool_t w ) { fWriteOptionsReference = w; } void SetWriteOptionsReference( Bool_t w ) { fWriteOptionsReference = w; }
 End of changes. 2 change blocks. 
5 lines changed or deleted 3 lines changed or added


 DataRange.h   DataRange.h 
// @(#)root/mathcore:$Id: DataRange.h 25486 2008-09-22 12:43:03Z moneta $ // @(#)root/mathcore:$Id: DataRange.h 33180 2010-04-25 10:14:07Z moneta $
// Author: L. Moneta Wed Aug 30 11:05:02 2006 // Author: L. Moneta Wed Aug 30 11:05:02 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 DataRange // Header file for class DataRange
skipping to change at line 74 skipping to change at line 74
/** /**
return range size for coordinate icoord (starts from zero) return range size for coordinate icoord (starts from zero)
Size == 0 indicates no range is present [-inf, + inf] Size == 0 indicates no range is present [-inf, + inf]
*/ */
unsigned int Size(unsigned int icoord) const { unsigned int Size(unsigned int icoord) const {
return icoord < fRanges.size() ? fRanges[icoord].size() : 0; return icoord < fRanges.size() ? fRanges[icoord].size() : 0;
} }
/** /**
return true if a range has been set in any of the coordinates
i.e. when it is not [-inf,+inf] for all coordinates
Avoid in case of multi-dim to loop on all the coordinated and ask the
size
*/
bool IsSet() const {
for (unsigned int icoord = 0; icoord < fRanges.size(); ++icoord)
if (fRanges[icoord].size() > 0) return true;
return false;
}
/**
return the vector of ranges for the coordinate icoord return the vector of ranges for the coordinate icoord
*/ */
const RangeSet & Ranges(unsigned int icoord) const { const RangeSet & Ranges(unsigned int icoord) const {
// return icoord < fRanges.size() ? fRanges[icoord] : RangeSet(); // return icoord < fRanges.size() ? fRanges[icoord] : RangeSet();
return fRanges.at(icoord); return fRanges.at(icoord);
} }
/** /**
return the first range for the coordinate icoord. return the first range for the coordinate icoord.
Useful method when only one range is present for the given coordinat e Useful method when only one range is present for the given coordinat e
*/ */
std::pair<double, double> operator() (unsigned int icoord) const { std::pair<double, double> operator() (unsigned int icoord) const {
return Size(icoord) > 0 ? fRanges[icoord].front() : std::make_pair<do uble,double>(0,0); return Size(icoord) > 0 ? fRanges[icoord].front() : std::make_pair<do uble,double>(0,0);
} }
/** /**
get the first range for given coordinate get the first range for given coordinate. If range does not exist
return -inf, +inf
*/ */
void GetRange(unsigned int icoord, double & xmin, double & xmax) const { void GetRange(unsigned int icoord, double & xmin, double & xmax) const {
if (Size(icoord) == 0) { if (Size(icoord) == 0) GetInfRange(xmin,xmax);
xmin = 0; else {
xmax = 0; xmin = fRanges[icoord].front().first;
return; xmax = fRanges[icoord].front().second;
} }
xmin = fRanges[icoord].front().first;
xmax = fRanges[icoord].front().second;
} }
/** /**
get range for the x - coordinate get first range for the x - coordinate
*/ */
void GetRange(double & xmin, double & xmax) const { GetRange(0,xmin,xma x); } void GetRange(double & xmin, double & xmax) const { GetRange(0,xmin,xma x); }
/** /**
get range for the x and y coordinates get first range for the x and y coordinates
*/ */
void GetRange(double & xmin, double & xmax, double & ymin, double & ymax ) const { void GetRange(double & xmin, double & xmax, double & ymin, double & ymax ) const {
GetRange(0,xmin,xmax); GetRange(1,ymin,ymax); GetRange(0,xmin,xmax); GetRange(1,ymin,ymax);
} }
/** /**
get range for the x and y and z coordinates get first range for the x and y and z coordinates
*/ */
void GetRange(double & xmin, double & xmax, double & ymin, double & ymax , double & zmin, double & zmax) const { void GetRange(double & xmin, double & xmax, double & ymin, double & ymax , double & zmin, double & zmax) const {
GetRange(0,xmin,xmax); GetRange(1,ymin,ymax); GetRange(2,zmin,zmax); GetRange(0,xmin,xmax); GetRange(1,ymin,ymax); GetRange(2,zmin,zmax);
} }
/**
get first range for coordinates and fill the vector
*/
void GetRange(double * xmin, double * xmax) const {
for (unsigned int i = 0; i < fRanges.size(); ++i)
GetRange(i,xmin[i],xmax[i]);
}
/** /**
Destructor (no operations) Destructor (no operations)
*/ */
~DataRange () {} ~DataRange () {}
/** /**
add a range [xmin,xmax] for the new coordinate icoord add a range [xmin,xmax] for the new coordinate icoord
Adding a range does not delete existing one, but takes the OR with Adding a range does not delete existing one, but takes the OR with
existing ranges. existing ranges.
skipping to change at line 185 skipping to change at line 202
*/ */
bool IsInside(double x, unsigned int icoord = 0) const; bool IsInside(double x, unsigned int icoord = 0) const;
protected: protected:
/** /**
internal function to remove all the existing ranges between xmin and xmax internal function to remove all the existing ranges between xmin and xmax
called when a new range is inserted called when a new range is inserted
*/ */
void CleanRangeSet(unsigned int icoord, double xmin, double xmax); void CleanRangeSet(unsigned int icoord, double xmin, double xmax);
// get the full range (-inf, +inf)
static void GetInfRange(double &x1, double &x2);
private: private:
RangeIntervals fRanges; // list of all ranges RangeIntervals fRanges; // list of all ranges
}; };
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
 End of changes. 10 change blocks. 
11 lines changed or deleted 32 lines changed or added


 FTFont.h   FTFont.h 
skipping to change at line 197 skipping to change at line 197
float Advance( const wchar_t* string); float Advance( const wchar_t* string);
/** /**
* Get the advance width for a string. * Get the advance width for a string.
* *
* @param string a char string * @param string a char string
* @return advance width * @return advance width
*/ */
float Advance( const char* string); float Advance( const char* string);
/**
* Prepare for rendering
*/
virtual void PreRender() { preRenderCalled = true; }
/**
* Cleanup after rendering
*/
virtual void PostRender() { preRenderCalled = false; }
/** /**
* Render a string of characters * Render a string of characters
* *
* @param string 'C' style string to be output. * @param string 'C' style string to be output.
*/ */
virtual void Render( const char* string ); virtual void Render( const char* string );
/** /**
* Render a string of characters * Render a string of characters
* *
* @param string 'C' style string to be output.
* @param w_max maximum width of text
* @param w_fade width at which text starts to fade
*/
virtual void Render( const char* string, float w_max, float w_fade
);
/**
* Render a string of characters
*
* @param string wchar_t string to be output. * @param string wchar_t string to be output.
*/ */
virtual void Render( const wchar_t* string ); virtual void Render( const wchar_t* string );
/** /**
* Queries the Font for errors. * Queries the Font for errors.
* *
* @return The current error code. * @return The current error code.
*/ */
FT_Error Error() const { return err;} FT_Error Error() const { return err;}
skipping to change at line 262 skipping to change at line 281
private: private:
/** /**
* Check that the glyph at <code>chr</code> exist. If not load it. * Check that the glyph at <code>chr</code> exist. If not load it.
* *
* @param chr character index * @param chr character index
* @return <code>true</code> if the glyph can be created. * @return <code>true</code> if the glyph can be created.
*/ */
inline bool CheckGlyph( const unsigned int chr); inline bool CheckGlyph( const unsigned int chr);
/** /**
* PreRender() was called from outside. Do not call it again
* from Render(), nor call PostRender().
* User has to call it himself.
*/
bool preRenderCalled;
/**
* An object that holds a list of glyphs * An object that holds a list of glyphs
*/ */
FTGlyphContainer* glyphList; FTGlyphContainer* glyphList;
/** /**
* Current pen or cursor position; * Current pen or cursor position;
*/ */
FTPoint pen; FTPoint pen;
}; };
#endif // __FTFont__ #endif // __FTFont__
 End of changes. 4 change blocks. 
1 lines changed or deleted 27 lines changed or added


 FTGLBitmapFont.h   FTGLBitmapFont.h 
skipping to change at line 38 skipping to change at line 38
* @param pBufferBytes the in-memory buffer * @param pBufferBytes the in-memory buffer
* @param bufferSizeInBytes the length of the buffer in bytes * @param bufferSizeInBytes the length of the buffer in bytes
*/ */
FTGLBitmapFont( const unsigned char *pBufferBytes, size_t bufferSiz eInBytes); FTGLBitmapFont( const unsigned char *pBufferBytes, size_t bufferSiz eInBytes);
/** /**
* Destructor * Destructor
*/ */
~FTGLBitmapFont(); ~FTGLBitmapFont();
/** /**
* Renders a string of characters * Prepare for rendering
*
* @param string 'C' style string to be output.
*/ */
void Render( const char* string); virtual void PreRender();
/** /**
* Renders a string of characters * Cleanup after rendering
*
* @param string 'C' style wide string to be output.
*/ */
void Render( const wchar_t* string); virtual void PostRender();
// attributes
private: private:
/** /**
* Construct a FTBitmapGlyph. * Construct a FTBitmapGlyph.
* *
* @param g The glyph index NOT the char code. * @param g The glyph index NOT the char code.
* @return An FTBitmapGlyph or <code>null</code> on failure. * @return An FTBitmapGlyph or <code>null</code> on failure.
*/ */
inline virtual FTGlyph* MakeGlyph( unsigned int g); inline virtual FTGlyph* MakeGlyph( unsigned int g);
 End of changes. 4 change blocks. 
12 lines changed or deleted 6 lines changed or added


 FTGLOutlineFont.h   FTGLOutlineFont.h 
skipping to change at line 38 skipping to change at line 38
* @param pBufferBytes the in-memory buffer * @param pBufferBytes the in-memory buffer
* @param bufferSizeInBytes the length of the buffer in bytes * @param bufferSizeInBytes the length of the buffer in bytes
*/ */
FTGLOutlineFont( const unsigned char *pBufferBytes, size_t bufferSi zeInBytes); FTGLOutlineFont( const unsigned char *pBufferBytes, size_t bufferSi zeInBytes);
/** /**
* Destructor * Destructor
*/ */
~FTGLOutlineFont(); ~FTGLOutlineFont();
/** /**
* Renders a string of characters * Prepare for rendering
*
* @param string 'C' style string to be output.
*/ */
void Render( const char* string); virtual void PreRender();
/** /**
* Renders a string of characters * Cleanup after rendering
*
* @param string wchar_t string to be output.
*/ */
void Render( const wchar_t* string); virtual void PostRender();
private: private:
/** /**
* Construct a FTOutlineGlyph. * Construct a FTOutlineGlyph.
* *
* @param g The glyph index NOT the char code. * @param g The glyph index NOT the char code.
* @return An FTOutlineGlyph or <code>null</code> on failure. * @return An FTOutlineGlyph or <code>null</code> on failure.
*/ */
inline virtual FTGlyph* MakeGlyph( unsigned int g); inline virtual FTGlyph* MakeGlyph( unsigned int g);
 End of changes. 4 change blocks. 
10 lines changed or deleted 6 lines changed or added


 FTGLPixmapFont.h   FTGLPixmapFont.h 
skipping to change at line 38 skipping to change at line 38
* @param pBufferBytes the in-memory buffer * @param pBufferBytes the in-memory buffer
* @param bufferSizeInBytes the length of the buffer in bytes * @param bufferSizeInBytes the length of the buffer in bytes
*/ */
FTGLPixmapFont( const unsigned char *pBufferBytes, size_t bufferSiz eInBytes); FTGLPixmapFont( const unsigned char *pBufferBytes, size_t bufferSiz eInBytes);
/** /**
* Destructor * Destructor
*/ */
~FTGLPixmapFont(); ~FTGLPixmapFont();
/** /**
* Renders a string of characters * Prepare for rendering
*
* @param string 'C' style string to be output.
*/ */
void Render( const char* string); virtual void PreRender();
/** /**
* Renders a string of characters * Cleanup after rendering
*
* @param string wchar_t string to be output.
*/ */
void Render( const wchar_t* string); virtual void PostRender();
private: private:
/** /**
* Construct a FTPixmapGlyph. * Construct a FTPixmapGlyph.
* *
* @param g The glyph index NOT the char code. * @param g The glyph index NOT the char code.
* @return An FTPixmapGlyph or <code>null</code> on failure. * @return An FTPixmapGlyph or <code>null</code> on failure.
*/ */
inline virtual FTGlyph* MakeGlyph( unsigned int g); inline virtual FTGlyph* MakeGlyph( unsigned int g);
 End of changes. 4 change blocks. 
10 lines changed or deleted 6 lines changed or added


 FTGLTextureFont.h   FTGLTextureFont.h 
skipping to change at line 48 skipping to change at line 48
/** /**
* Set the char size for the current face. * Set the char size for the current face.
* *
* @param size the face size in points (1/72 inch) * @param size the face size in points (1/72 inch)
* @param res the resolution of the target device. * @param res the resolution of the target device.
* @return <code>true</code> if size was set correctly * @return <code>true</code> if size was set correctly
*/ */
virtual bool FaceSize( const unsigned int size, const unsigned int res = 72); virtual bool FaceSize( const unsigned int size, const unsigned int res = 72);
/** /**
* Renders a string of characters * Prepare for rendering
*
* @param string 'C' style string to be output.
*/ */
virtual void Render( const char* string); virtual void PreRender();
/** /**
* Renders a string of characters * Cleanup after rendering
*
* @param string wchar_t string to be output.
*/ */
virtual void Render( const wchar_t* string); virtual void PostRender();
private: private:
/** /**
* Construct a FTTextureGlyph. * Construct a FTTextureGlyph.
* *
* @param glyphIndex The glyph index NOT the char code. * @param glyphIndex The glyph index NOT the char code.
* @return An FTTextureGlyph or <code>null</code> on failure. * @return An FTTextureGlyph or <code>null</code> on failure.
*/ */
inline virtual FTGlyph* MakeGlyph( unsigned int glyphIndex); inline virtual FTGlyph* MakeGlyph( unsigned int glyphIndex);
 End of changes. 4 change blocks. 
10 lines changed or deleted 6 lines changed or added


 Factory.h   Factory.h 
// @(#)root/mathcore:$Id: Factory.h 21503 2007-12-19 17:34:54Z moneta $ // @(#)root/mathcore:$Id: Factory.h 33180 2010-04-25 10:14:07Z moneta $
// Author: L. Moneta Fri Dec 22 14:43:33 2006 // Author: L. Moneta Fri Dec 22 14:43:33 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 Factory // Header file for class Factory
skipping to change at line 23 skipping to change at line 23
#ifndef ROOT_Math_Factory #ifndef ROOT_Math_Factory
#define ROOT_Math_Factory #define ROOT_Math_Factory
#include <string> #include <string>
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
class Minimizer; class Minimizer;
class DistSampler;
//_________________________________________________________________________ __ //_________________________________________________________________________ __
/** /**
Factory class holding static functions to create the interfaces like RO OT::Math::Minimizer Factory class holding static functions to create the interfaces like RO OT::Math::Minimizer
via the Plugin Manager via the Plugin Manager
*/ */
class Factory { class Factory {
public: public:
/** /**
static method to create the corrisponding Minimizer given the string static method to create the corrisponding Minimizer given the string
Supported Minimizers types are:
Minuit (TMinuit), Minuit2, GSLMultiMin, GSLMultiFit, GSLSimAn, Linear
, Fumili, Genetic
*/ */
static ROOT::Math::Minimizer * CreateMinimizer(const std::string & minim izerType = "Minuit2", const std::string & algoType = "Migrad"); static ROOT::Math::Minimizer * CreateMinimizer(const std::string & minim izerType = "Minuit2", const std::string & algoType = "Migrad");
/**
static method to create the distribution sampler class given a string
specifying the type
Supported sampler types are:
Unuran
*/
static ROOT::Math::DistSampler * CreateDistSampler(const std::string & s
amplerType ="Unuran");
}; };
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Fit_MinimizerFactory */ #endif /* ROOT_Fit_MinimizerFactory */
 End of changes. 4 change blocks. 
1 lines changed or deleted 14 lines changed or added


 Fitter.h   Fitter.h 
// @(#)root/mathcore:$Id: Fitter.h 31873 2009-12-14 10:05:39Z brun $ // @(#)root/mathcore:$Id: Fitter.h 33180 2010-04-25 10:14: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 150 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 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 the given FCN function represented by a multi-dimensional f unction interface fit using the given FCN function represented by a multi-dimensional f unction interface
(ROOT::Math::IMultiGenFunction). (ROOT::Math::IMultiGenFunction).
Give optionally initial the parameter values and data size to have th e fit Ndf correctly Give optionally initial the parameter values and data size to have th e fit Ndf correctly
set in the FitResult. set in the FitResult.
If the parameters values are not given (parameter pointers=0) the If the parameters values are not given (parameter pointers=0) the
current parameter settings are used. The parameter settings can be cr eated before 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 by using the FitConfig::SetParamsSetting. If they have not been creat ed they are created
automatically when the params pointer is not zero 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 FCN function representing a multi-dimensional gra dient function Fit using the given FCN function representing a multi-dimensional gra dient function
interface (ROOT::Math::IMultiGradFunction). In this case the minimize r will use the interface (ROOT::Math::IMultiGradFunction). In this case the minimize r will use the
gradient information provided by the function. gradient information provided by the function.
For the other arguments same consideration as in the previous method 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 320 skipping to change at line 320
// implementation of inline methods // implementation of inline methods
#ifndef __CINT__ #ifndef __CINT__
#ifndef ROOT_Math_WrappedFunction #ifndef ROOT_Math_WrappedFunction
#include "Math/WrappedFunction.h" #include "Math/WrappedFunction.h"
#endif #endif
template<class Function> template<class Function>
bool ROOT::Fit::Fitter::FitFCN(unsigned int npar, Function f, const double bool ROOT::Fit::Fitter::FitFCN(unsigned int npar, Function & f, const doubl
* par, unsigned int datasize) { e * par, unsigned int datasize) {
ROOT::Math::WrappedMultiFunction<Function> wf(f,npar); ROOT::Math::WrappedMultiFunction<Function &> wf(f,npar);
return FitFCN(wf,par,datasize); return FitFCN(wf,par,datasize);
} }
#endif // endif __CINT__ #endif // endif __CINT__
#endif /* ROOT_Fit_Fitter */ #endif /* ROOT_Fit_Fitter */
 End of changes. 4 change blocks. 
16 lines changed or deleted 16 lines changed or added


 Functor.h   Functor.h 
// @(#)root/mathcore:$Id: Functor.h 24482 2008-06-23 15:33:08Z moneta $ // @(#)root/mathcore:$Id: Functor.h 33180 2010-04-25 10:14:07Z 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 *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Heaer file for Functor classes. // Heaer file for Functor classes.
skipping to change at line 95 skipping to change at line 95
inline double DoDerivative (double x) const { inline double DoDerivative (double x) const {
return fFunc.Derivative(x); return fFunc.Derivative(x);
} }
inline double DoDerivative (const double * x, unsigned int icoord ) cons t { inline double DoDerivative (const double * x, unsigned int icoord ) cons t {
return fFunc.Derivative(x,icoord); return fFunc.Derivative(x,icoord);
} }
unsigned int fDim; unsigned int fDim;
mutable Func fFunc; mutable Func fFunc; // should here be a reference and pass a non-const ref in ctor
}; };
/** /**
Functor Handler class for gradient functions where both callable objects are provided for the function Functor Handler class for gradient functions where both callable objects are provided for the function
evaluation (type Func) and for the gradient (type GradFunc) . evaluation (type Func) and for the gradient (type GradFunc) .
It can be created from any function implementing the correct signature It can be created from any function implementing the correct signature
corresponding to the requested type corresponding to the requested type
In the case of one dimension the function evaluation object and the deri vative function object must implement In the case of one dimension the function evaluation object and the deri vative function object must implement
double operator() (double x). double operator() (double x).
skipping to change at line 188 skipping to change at line 188
class MemFunHandler : public ParentFunctor::Impl class MemFunHandler : public ParentFunctor::Impl
{ {
//typedef typename ParentFunctor::Dim Dim; //typedef typename ParentFunctor::Dim Dim;
typedef typename ParentFunctor::Impl ImplFunc; typedef typename ParentFunctor::Impl ImplFunc;
typedef typename ImplFunc::BaseFunc BaseFunc; typedef typename ImplFunc::BaseFunc BaseFunc;
public: public:
/// constructor from a pointer to the class and a pointer to the functio n /// constructor from a pointer to the class and a pointer to the functio n
MemFunHandler(const PointerToObj& pObj, PointerToMemFn pMemFn) MemFunHandler(const PointerToObj& pObj, PointerToMemFn pMemFn)
: fDim(1), fObj(pObj), fMemFn(pMemFn) : fDim(1), fObj(pObj), fMemFn(pMemFn) // should pass pointer b y value ??
{} {}
/// constructor from a pointer to the class and a pointer to the functio n /// constructor from a pointer to the class and a pointer to the functio n
MemFunHandler(unsigned int dim, const PointerToObj& pObj, PointerToMemFn pMemFn) MemFunHandler(unsigned int dim, const PointerToObj& pObj, PointerToMemFn pMemFn)
: fDim(dim), fObj(pObj), fMemFn(pMemFn) : fDim(dim), fObj(pObj), fMemFn(pMemFn)
{} {}
// clone of the function handler (use copy-ctor) // clone of the function handler (use copy-ctor)
BaseFunc * Clone() const { return new MemFunHandler(*this); } BaseFunc * Clone() const { return new MemFunHandler(*this); }
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 GSLIntegrator.h   GSLIntegrator.h 
// @(#)root/mathmore:$Id: GSLIntegrator.h 22689 2008-03-17 16:21:23Z rdm $ // @(#)root/mathmore:$Id: GSLIntegrator.h 33180 2010-04-25 10:14:07Z moneta $
// 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 163 skipping to change at line 163
// template methods for generic functors // template methods for generic functors
/** /**
method to set the a generic integration function method to set the a generic integration function
@param f integration function. The function type must implement t he assigment operator, <em> double operator() ( double x ) </em> @param f integration function. The function type must implement t he assigment operator, <em> double operator() ( double x ) </em>
*/ */
void SetFunction(const IGenFunction &f, bool copyFunc = false); void SetFunction(const IGenFunction &f);
/** /**
Set function from a GSL pointer function type Set function from a GSL pointer function type
*/ */
void SetFunction( GSLFuncPointer f, void * p = 0); void SetFunction( GSLFuncPointer f, void * p = 0);
// methods using IGenFunction // methods using IGenFunction
/** /**
evaluate the Integral of a function f over the defined interval (a ,b) evaluate the Integral of a function f over the defined interval (a ,b)
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 GSLMinimizer1D.h   GSLMinimizer1D.h 
// @(#)root/mathmore:$Id: GSLMinimizer1D.h 24477 2008-06-23 12:58:47Z monet a $ // @(#)root/mathmore:$Id: GSLMinimizer1D.h 32583 2010-03-12 09:57:42Z monet a $
// Author: L. Moneta, A. Zsenei 08/2005 // Author: L. Moneta, A. Zsenei 08/2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2004 moneta, CERN/PH-SFT * * Copyright (c) 2004 moneta, 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 158 skipping to change at line 158
double FValLower() const; double FValLower() const;
/** /**
Return function value at current upper bound of the minimization i nterval Return function value at current upper bound of the minimization i nterval
*/ */
double FValUpper() const; double FValUpper() const;
/** /**
Find minimum position iterating until convergence specified by the absolute and relative tolerance or Find minimum position iterating until convergence specified by the absolute and relative tolerance or
the maximum number of iteration is reached the maximum number of iteration is reached
Return true is result is successfull
\@param maxIter maximum number of iteration \@param maxIter maximum number of iteration
\@param absTol desired absolute error in the minimum position \@param absTol desired absolute error in the minimum position
\@param absTol desired relative error in the minimum position \@param absTol desired relative error in the minimum position
*/ */
int Minimize( int maxIter, double absTol, double relTol); bool Minimize( int maxIter, double absTol, double relTol);
/** /**
Return number of iteration used to find minimum Return number of iteration used to find minimum
*/ */
int Iterations() const { int Iterations() const {
return fIter; return fIter;
} }
/** /**
Return status of last minimization
*/
int Status() const { return fStatus; }
/**
Return name of minimization algorithm Return name of minimization algorithm
*/ */
const char * Name() const; const char * Name() const;
/** /**
Test convergence of the interval. Test convergence of the interval.
The test returns success if The test returns success if
\f[ \f[
|x_{min}-x_{truemin}| < epsAbs + epsRel *x_{truemin} |x_{min}-x_{truemin}| < epsAbs + epsRel *x_{truemin}
\f] \f]
skipping to change at line 196 skipping to change at line 202
private: private:
double fXmin; double fXmin;
double fXlow; double fXlow;
double fXup; double fXup;
double fMin; double fMin;
double fLow; double fLow;
double fUp; double fUp;
int fIter; int fIter;
int fStatus; // status of last minimization (==0 ok =1 failed)
bool fIsSet; bool fIsSet;
GSL1DMinimizerWrapper * fMinimizer; GSL1DMinimizerWrapper * fMinimizer;
GSLFunctionWrapper * fFunction; GSLFunctionWrapper * fFunction;
}; };
} // end namespace Math } // end namespace Math
} // end namespace ROOT } // end namespace ROOT
 End of changes. 5 change blocks. 
2 lines changed or deleted 9 lines changed or added


 GSLNLSMinimizer.h   GSLNLSMinimizer.h 
// @(#)root/mathmore:$Id: GSLNLSMinimizer.h 31604 2009-12-07 19:04:33Z mone ta $ // @(#)root/mathmore:$Id: GSLNLSMinimizer.h 33180 2010-04-25 10:14: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 109 skipping to change at line 109
return *this; return *this;
} }
IMultiGenFunction * Clone() const { IMultiGenFunction * Clone() const {
return new LSResidualFunc(*fChi2,fIndex); return new LSResidualFunc(*fChi2,fIndex);
} }
unsigned int NDim() const { return fChi2->NDim(); } unsigned int NDim() const { return fChi2->NDim(); }
void Gradient( const double * x, double * g) const { void Gradient( const double * x, double * g) const {
double f0 = 0;
FdF(x,f0,g);
}
void FdF (const double * x, double & f, double * g) const {
unsigned int n = NDim(); unsigned int n = NDim();
std::copy(x,x+n,fX2.begin()); std::copy(x,x+n,fX2.begin());
const double kEps = 1.0E-4; const double kEps = 1.0E-4;
double f0 = DoEval(x); f = DoEval(x);
for (unsigned int i = 0; i < n; ++i) { for (unsigned int i = 0; i < n; ++i) {
fX2[i] += kEps; fX2[i] += kEps;
g[i] = ( DoEval(&fX2.front()) - f0 )/kEps; g[i] = ( DoEval(&fX2.front()) - f )/kEps;
fX2[i] = x[i]; fX2[i] = x[i];
} }
} }
private: private:
double DoEval (const double * x) const { double DoEval (const double * x) const {
return fChi2->DataElement(x, fIndex); return fChi2->DataElement(x, fIndex);
} }
 End of changes. 4 change blocks. 
3 lines changed or deleted 8 lines changed or added


 GSLRootFinder.h   GSLRootFinder.h 
// @(#)root/mathmore:$Id: GSLRootFinder.h 22522 2008-03-07 16:07:51Z moneta $ // @(#)root/mathmore:$Id: GSLRootFinder.h 32583 2010-03-12 09:57:42Z moneta $
// Author: L. Moneta, A. Zsenei 08/2005 // Author: 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 57 skipping to change at line 57
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
class GSLRootFSolver; class GSLRootFSolver;
class GSLFunctionWrapper; class GSLFunctionWrapper;
//_________________________________________________________________________ _______________________________ //_________________________________________________________________________ _______________________________
/** /**
Base class for GSL Root-Finding algorithms for one dimensional functio ns which do not use function derivatives. Base class for GSL Root-Finding algorithms for one dimensional functio ns which do not use function derivatives.
For finding the roots users should not use this class directly but ins For finding the roots users should not use this class directly but ins
tantiate the template tantiate the derived classes,
ROOT::Math::RootFinder class with the corresponding algorithms. for example ROOT::Math::Roots::Brent for using the Brent algorithm.
For example the ROOT::Math::RootFinder<ROOT::Math::Roots::Brent> for u All the classes defining the alhorithms are defined in the header Math
sing the Brent algorithm. See that class also /RootFinderAlgorithm.h
for the documentation. They possible types implementing root bracketing algorithms which they
do not require function
derivatives are:
<ul>
<li>ROOT::Math::Roots::Bisection
<li>ROOT::Math::Roots::FalsePos
<li>ROOT::Math::Roots::Brent
</ul>
See also the specific classes for the documentation.
See the GSL <A HREF="http://www.gnu.org/software/gsl/manual/html_node/ Root-Bracketing-Algorithms.html"> online manual</A> for See the GSL <A HREF="http://www.gnu.org/software/gsl/manual/html_node/ Root-Bracketing-Algorithms.html"> online manual</A> for
information on the GSL Root-Finding algorithms information on the GSL Root-Finding algorithms
@ingroup RootFinders @ingroup RootFinders
*/ */
class GSLRootFinder: public IRootFinderMethod { class GSLRootFinder: public IRootFinderMethod {
public: public:
GSLRootFinder(); GSLRootFinder();
virtual ~GSLRootFinder(); virtual ~GSLRootFinder();
private: private:
// usually copying is non trivial, so we make this unaccessible // usually copying is non trivial, so we make this unaccessible
GSLRootFinder(const GSLRootFinder &); GSLRootFinder(const GSLRootFinder &);
GSLRootFinder & operator = (const GSLRootFinder &); GSLRootFinder & operator = (const GSLRootFinder &);
public: public:
#if defined(__MAKECINT__) || defined(G__DICTIONARY) #if defined(__MAKECINT__) || defined(G__DICTIONARY)
int SetFunction( const IGradFunction & , double ) { bool SetFunction( const IGradFunction & , double ) {
std::cerr <<"GSLRootFinder - Error : this method must be used with std::cerr <<"GSLRootFinder - Error : this method must be used with a
a Root Finder algorithm using derivatives" << std::endl; Root Finder algorithm using derivatives" << std::endl;
return -1; return false;
} }
#endif #endif
int SetFunction( const IGenFunction & f, double xlow, double xup); bool SetFunction( const IGenFunction & f, double xlow, double xup);
typedef double ( * GSLFuncPointer ) ( double, void *); typedef double ( * GSLFuncPointer ) ( double, void *);
int SetFunction( GSLFuncPointer f, void * params, double xlow, double bool SetFunction( GSLFuncPointer f, void * params, double xlow, double
xup); xup);
using IRootFinderMethod::SetFunction; using IRootFinderMethod::SetFunction;
int Iterate(); // iterate to find ROOTS return GSL_CONTINUE if iteration was succesful
l or another error
int Iterate();
double Root() const; double Root() const;
//double XLower() const; //double XLower() const;
//double XUpper() const; //double XUpper() const;
// Solve for roots /// Find the root
int Solve( int maxIter = 100, double absTol = 1E-3, double relTol = 1E bool Solve( int maxIter = 100, double absTol = 1E-8, double relTol = 1E
-6); -10);
int Iterations() const { /// Return number of iterations
int Iterations() const {
return fIter; return fIter;
} }
const char * Name() const;
protected: /// Return the status of last root finding
int Status() const { return fStatus; }
void SetSolver ( GSLRootFSolver * s ); const char * Name() const;
void FreeSolver(); protected:
private: void SetSolver ( GSLRootFSolver * s );
GSLFunctionWrapper * fFunction; void FreeSolver();
GSLRootFSolver * fS;
protected: private:
private: GSLFunctionWrapper * fFunction;
GSLRootFSolver * fS;
double fRoot; double fRoot;
double fXlow; double fXlow;
double fXup; double fXup;
int fIter; int fIter;
bool fValidInterval; int fStatus;
bool fValidInterval;
}; };
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#endif /* ROOT_Math_GSLRootFinder */ #endif /* ROOT_Math_GSLRootFinder */
 End of changes. 25 change blocks. 
52 lines changed or deleted 64 lines changed or added


 GSLRootFinderDeriv.h   GSLRootFinderDeriv.h 
// @(#)root/mathmore:$Id: GSLRootFinderDeriv.h 23524 2008-04-24 15:25:55Z m oneta $ // @(#)root/mathmore:$Id: GSLRootFinderDeriv.h 32583 2010-03-12 09:57:42Z m oneta $
// 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 60 skipping to change at line 60
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
class GSLRootFdFSolver; class GSLRootFdFSolver;
class GSLFunctionDerivWrapper; class GSLFunctionDerivWrapper;
//_________________________________________________________________________ ____________ //_________________________________________________________________________ ____________
/** /**
Base class for GSL Root-Finding algorithms for one dimensional functi ons which use function derivatives. Base class for GSL Root-Finding algorithms for one dimensional functi ons which use function derivatives.
For finding the roots users should not use this class directly but in For finding the roots users should not use this class directly but in
stantiate the template stantiate the derived classes,
ROOT::Math::RootFinder class with the corresponding algorithms. for example ROOT::Math::Roots::Newton for using the Newton algorithm
For example the ROOT::Math::RootFinder<ROOT::Math::Roots::Newton> for .
using the Newton algorithm. All the classes defining the alhorithms are defined in the header Mat
See that class also for the documentation. h/RootFinderAlgorithm.h
They possible types implementing root bracketing algorithms which use
function
derivatives are:
<ul>
<li>ROOT::Math::Roots::Newton
<li>ROOT::Math::Roots::Secant
<li>ROOT::Math::Roots::Steffenson
</ul>
See also those classes for the documentation.
See the GSL <A HREF="http://www.gnu.org/software/gsl/manual/html_node /Root-Finding-Algorithms-using-Derivatives.html"> online manual</A> for See the GSL <A HREF="http://www.gnu.org/software/gsl/manual/html_node /Root-Finding-Algorithms-using-Derivatives.html"> online manual</A> for
information on the GSL Root-Finding algorithms information on the GSL Root-Finding algorithms
@ingroup RootFinders @ingroup RootFinders
*/ */
class GSLRootFinderDeriv: public IRootFinderMethod { class GSLRootFinderDeriv: public IRootFinderMethod {
public: public:
GSLRootFinderDeriv(); GSLRootFinderDeriv();
virtual ~GSLRootFinderDeriv(); virtual ~GSLRootFinderDeriv();
private: private:
// usually copying is non trivial, so we make this unaccessible // usually copying is non trivial, so we make this unaccessible
GSLRootFinderDeriv(const GSLRootFinderDeriv &); GSLRootFinderDeriv(const GSLRootFinderDeriv &);
GSLRootFinderDeriv & operator = (const GSLRootFinderDeriv &); GSLRootFinderDeriv & operator = (const GSLRootFinderDeriv &);
public: public:
#if defined(__MAKECINT__) || defined(G__DICTIONARY) #if defined(__MAKECINT__) || defined(G__DICTIONARY)
int SetFunction( const IGenFunction & , double , double ) { bool SetFunction( const IGenFunction & , double , double ) {
std::cerr <<"GSLRootFinderDeriv - Error : Algorithm requirs derivativ es" << std::endl; std::cerr <<"GSLRootFinderDeriv - Error : Algorithm requirs derivativ es" << std::endl;
return -1; return false;
} }
#endif #endif
int SetFunction( const IGradFunction & f, double xstart) { bool SetFunction( const IGradFunction & f, double xstart) {
const void * p = &f; const void * p = &f;
return SetFunction( &GSLFunctionAdapter<IGradFunction>::F, &GSLFunct ionAdapter<IGradFunction>::Df, &GSLFunctionAdapter<IGradFunction>::Fdf, con st_cast<void *>(p), xstart ); return SetFunction( &GSLFunctionAdapter<IGradFunction>::F, &GSLFunct ionAdapter<IGradFunction>::Df, &GSLFunctionAdapter<IGradFunction>::Fdf, con st_cast<void *>(p), xstart );
} }
typedef double ( * GSLFuncPointer ) ( double, void *); typedef double ( * GSLFuncPointer ) ( double, void *);
typedef void ( * GSLFdFPointer ) ( double, void *, double *, double *); typedef void ( * GSLFdFPointer ) ( double, void *, double *, double *);
int SetFunction( GSLFuncPointer f, GSLFuncPointer df, GSLFdFPointer fdf, void * p, double Root ); bool SetFunction( GSLFuncPointer f, GSLFuncPointer df, GSLFdFPointer fdf , void * p, double Root );
using IRootFinderMethod::SetFunction; using IRootFinderMethod::SetFunction;
/// iterate (return GSL_SUCCESS in case of succesfull iteration)
int Iterate(); int Iterate();
double Root() const; double Root() const;
// Solve for roots /// Find the root (return false if failed)
int Solve( int maxIter = 100, double absTol = 1E-3, double relTol = 1E-6 bool Solve( int maxIter = 100, double absTol = 1E-8, double relTol = 1E-
); 10);
/// Return number of iterations
int Iterations() const { int Iterations() const {
return fIter; return fIter;
} }
/// Return the status of last root finding
int Status() const { return fStatus; }
const char * Name() const; const char * Name() const;
protected: protected:
void SetSolver ( GSLRootFdFSolver * s ); void SetSolver ( GSLRootFdFSolver * s );
void FreeSolver(); void FreeSolver();
private: private:
GSLFunctionDerivWrapper * fFunction; GSLFunctionDerivWrapper * fFunction;
GSLRootFdFSolver * fS; GSLRootFdFSolver * fS;
mutable double fRoot; mutable double fRoot;
mutable double fPrevRoot; mutable double fPrevRoot;
int fIter; int fIter;
int fStatus;
bool fValidPoint; bool fValidPoint;
}; };
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#endif /* ROOT_Math_GSL_RootFinderDeriv */ #endif /* ROOT_Math_GSL_RootFinderDeriv */
 End of changes. 12 change blocks. 
15 lines changed or deleted 31 lines changed or added


 GSLSimAnMinimizer.h   GSLSimAnMinimizer.h 
// @(#)root/mathmore:$Id: GSLSimAnMinimizer.h 31604 2009-12-07 19:04:33Z mo neta $ // @(#)root/mathmore:$Id: GSLSimAnMinimizer.h 32583 2010-03-12 09:57:42Z 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 68 skipping to change at line 68
//_________________________________________________________________________ ____________ //_________________________________________________________________________ ____________
/** /**
GSLSimAnMinimizer class for minimization using simulated annealing GSLSimAnMinimizer class for minimization using simulated annealing
using the algorithm from using the algorithm from
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Simulated-Anne aling.html"> <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Simulated-Anne aling.html">
GSL</A>. GSL</A>.
It implements the ROOT::Minimizer interface and It implements the ROOT::Minimizer interface and
a plug-in (name "GSLSimAn") exists to instantiate this class via the plu g-in manager a plug-in (name "GSLSimAn") exists to instantiate this class via the plu g-in manager
@ingroup Min1D @ingroup MultiMin
*/ */
class GSLSimAnMinimizer : public ROOT::Math::Minimizer { class GSLSimAnMinimizer : public ROOT::Math::Minimizer {
public: public:
/** /**
Default constructor Default constructor
*/ */
GSLSimAnMinimizer (int type = 0); GSLSimAnMinimizer (int type = 0);
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 G__ci.h   G__ci.h 
skipping to change at line 538 skipping to change at line 538
#ifdef G__SECURITY #ifdef G__SECURITY
/* #include "include/security.h" */ /* #include "include/security.h" */
#define G__NOERROR 0x0000 #define G__NOERROR 0x0000
#define G__RECOVERABLE 0x0001 #define G__RECOVERABLE 0x0001
#define G__DANGEROUS 0x0002 #define G__DANGEROUS 0x0002
#define G__FATAL 0x0004 #define G__FATAL 0x0004
#ifdef G__64BIT
typedef unsigned int G__UINT32 ;
#else
typedef unsigned long G__UINT32 ;
#endif
#if (defined(G__SGICC) || defined(G__DECCXX)) && defined(G__ROOT) #if (defined(G__SGICC) || defined(G__DECCXX)) && defined(G__ROOT)
#define G__CHECK(ITEM,COND,ACTION) \ #define G__CHECK(ITEM,COND,ACTION) \
if((G__security=G__SECURE_LEVEL0)&&(G__security&ITEM) && (COND) && G__secu rity_handle(ITEM)) ACTION if((G__security=G__SECURE_LEVEL0)&&(G__security&ITEM) && (COND) && G__secu rity_handle(ITEM)) ACTION
#else #else
#define G__CHECK(ITEM,COND,ACTION) \ #define G__CHECK(ITEM,COND,ACTION) \
if((G__security&ITEM) && (COND) && G__security_handle(ITEM)) ACTION if((G__security&ITEM) && (COND) && G__security_handle(ITEM)) ACTION
#endif #endif
#define G__CHECKDRANGE(p,low,up) \ #define G__CHECKDRANGE(p,low,up) \
if(G__check_drange(p,low,up,G__double(libp->para[p]),result7,funcname)) \ if(G__check_drange(p,low,up,G__double(libp->para[p]),result7,funcname)) \
skipping to change at line 1382 skipping to change at line 1388
extern G__EXPORT unsigned long G__uint G__P((G__value buf)); extern G__EXPORT unsigned long G__uint G__P((G__value buf));
#if defined(G__DEBUG) && !defined(G__MEMTEST_C) #if defined(G__DEBUG) && !defined(G__MEMTEST_C)
#include "src/memtest.h" #include "src/memtest.h"
#endif #endif
#ifndef G__WILDCARD #ifndef G__WILDCARD
#define G__WILDCARD #define G__WILDCARD
#endif #endif
extern int G__fgetline G__P((char *string));
extern int G__load G__P((char *commandfile));
/* extern float G__float G__P((G__value buf));*/
extern G__value (*G__GetSpecialObject) G__P((const char *name,void **ptr,vo
id** ppdict));
extern G__EXPORT int G__call_setup_funcs G__P((void));
extern void G__reset_setup_funcs G__P((void));
extern G__EXPORT const char *G__cint_version G__P((void));
extern void G__init_garbagecollection G__P((void));
extern int G__garbagecollection G__P((void));
extern void G__add_alloctable G__P((void* allocedmem,int type,int tagnum));
extern int G__del_alloctable G__P((void* allocmem));
extern int G__add_refcount G__P((void* allocedmem,void** storedmem));
extern int G__del_refcount G__P((void* allocedmem,void** storedmem));
extern int G__disp_garbagecollection G__P((FILE* fout));
struct G__ifunc_table *G__get_methodhandle G__P((const char *funcname,const
char *argtype
,struct G__ifunc_table *p_ifunc
,long *pifn,long *poffset
,int withConversion
,int withInheritance));
struct G__ifunc_table *G__get_methodhandle2 G__P((char *funcname
,struct G__param* libp
,struct G__ifunc_table *p_ifunc
,long *pifn,long *poffset
,int withConversion
,int withInheritance));
struct G__var_array *G__searchvariable G__P((char *varname,int varhash
,struct G__var_array *varlocal
,struct G__var_array *varglobal
,long *pG__struct_offset
,long *pstore_struct_offset
,int *pig15
,int isdecl));
struct G__ifunc_table* G__p2f2funchandle G__P((void* p2f,struct G__ifunc_ta
ble* p_ifunc,int* pindex));
G__EXPORT char* G__p2f2funcname G__P((void *p2f));
G__EXPORT int G__isinterpretedp2f G__P((void* p2f));
int G__compile_bytecode G__P((struct G__ifunc_table* ifunc,int index));
/************************************************************************** /**************************************************************************
* Variable argument, byte layout policy * Variable argument, byte layout policy
************************************************************************** / ************************************************************************** /
#define G__VAARG_SIZE 1024 #define G__VAARG_SIZE 1024
typedef struct { typedef struct {
union { union {
char d[G__VAARG_SIZE]; char d[G__VAARG_SIZE];
long i[G__VAARG_SIZE/sizeof(long)]; long i[G__VAARG_SIZE/sizeof(long)];
} x; } x;
skipping to change at line 1556 skipping to change at line 1524
#define G__VAARG_INC_COPY_N 4 #define G__VAARG_INC_COPY_N 4
/* #define G__VAARG_PASS_BY_REFERENCE 8 */ /* #define G__VAARG_PASS_BY_REFERENCE 8 */
#endif #endif
struct G__va_list_para { struct G__va_list_para {
struct G__param *libp; struct G__param *libp;
int i; int i;
}; };
void G__va_arg_setalign G__P((int n)); extern G__EXPORT G__value (*G__GetSpecialObject) (G__CONST char *name,void
void G__va_arg_copyvalue G__P((int t,void* p,G__value* pval,int objsize)); **ptr,void** ppdict);
extern G__EXPORT int (*G__ScriptCompiler)(G__CONST char*,G__CONST char*);
#endif /* __CINT__ */
/*
#define G__letdouble(&buf,valtype,value) buf->type=valtype;buf->obj.d=value
#define G__letint(&buf,valtype,value) buf->type=valtype;buf->obj.i=value
*/
#ifndef __CINT__
/*************************************************************************
* ROOT script compiler
*************************************************************************/
extern G__EXPORT void G__Set_RTLD_NOW G__P((void));
extern G__EXPORT void G__Set_RTLD_LAZY G__P((void));
extern G__EXPORT int (*G__ScriptCompiler) G__P((G__CONST char*,G__CONST cha
r*));
extern G__EXPORT void G__RegisterScriptCompiler G__P((int(*p2f)(G__CONST ch
ar*,G__CONST char*)));
/*************************************************************************
* Pointer to function evaluation function
*************************************************************************/
/*************************************************************************
* G__atpause, G__aterror API
*************************************************************************/
/*************************************************************************
* interface method setup functions
*************************************************************************/
extern G__EXPORT int G__defined_tagname G__P((G__CONST char* tagname,int no
error));
extern G__EXPORT struct G__Definedtemplateclass *G__defined_templateclass G
__P((const char *name));
int G__EXPORT G__deleteglobal G__P((void* p));
int G__EXPORT G__deletevariable G__P((G__CONST char* varname));
extern G__EXPORT int G__optimizemode G__P((int optimizemode));
extern G__EXPORT int G__getoptimizemode G__P((void));
G__value G__string2type_body G__P((G__CONST char *typenamin,int noerror));
G__value G__string2type G__P((G__CONST char *typenamin));
extern G__EXPORT void* G__findsym G__P((G__CONST char *fname));
extern G__EXPORT int G__IsInMacro G__P((void));
extern G__EXPORT void G__storerewindposition G__P((void));
extern G__EXPORT void G__rewinddictionary G__P((void));
extern G__EXPORT void G__SetCriticalSectionEnv G__P(( int(*issamethread)G__
P((void)), void(*storelockthread)G__P((void)), void(*entercs)G__P((void)),
void(*leavecs)G__P((void)) ));
extern G__EXPORT void G__storelasterror G__P((void));
extern G__EXPORT void G__set_smartunload G__P((int smartunload));
extern G__EXPORT void G__set_autoloading G__P((int (*p2f) G__P((char*))));
extern G__EXPORT void G__set_class_autoloading_callback G__P((int (*p2f) G_
_P((char*,char*))));
extern G__EXPORT void G__set_class_autoloading_table G__P((char* classname,
char* libname));
extern G__EXPORT char* G__get_class_autoloading_table G__P((char* classname
));
extern G__EXPORT int G__set_class_autoloading G__P((int newvalue));
typedef int (*G__IgnoreInclude) G__P((const char* fname,const char* expande dfname)); typedef int (*G__IgnoreInclude) G__P((const char* fname,const char* expande dfname));
#ifdef G__NEVER
extern G__EXPORT void* G__operator_new G__P((size_t size,void* p));
extern G__EXPORT void* G__operator_new_ary G__P((size_t size,void* p)) ;
extern G__EXPORT void G__operator_delete G__P((void *p)) ;
extern G__EXPORT void G__operator_delete_ary G__P((void *p)) ;
#endif
extern G__EXPORT int G__getexitcode G__P((void));
extern G__EXPORT int G__get_return G__P((int *exitval));
#ifndef G__OLDIMPLEMENTATION1485
#ifdef G__FIX1
extern G__EXPORT int G__fprinterr (FILE* fp,const char* fmt,...);
#else
extern G__EXPORT int G__fprinterr G__P((FILE* fp,const char* fmt,...));
#endif
extern G__EXPORT int G__fputerr G__P((int c));
#else
#define G__fprinterr fprintf
#endif
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__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 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 int G__GetCatchException G__P((void));
extern G__EXPORT int G__Lsizeof G__P((const char *typenamein));
#ifdef G__ASM_WHOLEFUNC /**********************************************
/************************************************************************** * Exported Functions
* 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));
#endif
/************************************************************************** #ifndef G__DECL_API
* Exported Cint API functions # ifndef G__MULTITHREADLIBCINT
************************************************************************** # ifdef __cplusplus
/ # define G__DUMMYTOCHECKFORDUPLICATES_CONCAT(A,B) A##B
#ifdef G__FIX1 # define G__DUMMYTOCHECKFORDUPLICATES(IDX) namespace{class G__DUMMYTOCHE
extern G__EXPORT int G__fprintf (FILE* fp,const char* fmt,...); CKFORDUPLICATES_CONCAT(this_API_function_index_occurs_more_than_once_,IDX)
#else {};}
extern G__EXPORT int G__fprintf G__P((FILE* fp,const char* fmt,...)); # else
#endif # define G__DUMMYTOCHECKFORDUPLICATES(IDX)
extern G__EXPORT int G__setmasksignal G__P((int)); # endif
extern G__EXPORT void G__settemplevel G__P((int val)); # define G__DECL_API(IDX, RET, NAME, ARGS) \
extern G__EXPORT void G__clearstack G__P((void)); G__EXPORT RET NAME ARGS ; G__DUMMYTOCHECKFORDUPLICATES(IDX)
extern G__EXPORT int G__lasterror G__P((void)) ; # else
extern G__EXPORT void G__reset_lasterror G__P((void)); # define G__DUMMYTOCHECKFORDUPLICATES(IDX)
extern G__EXPORT int G__gettempfilenum G__P((void)); # define G__DECL_API(IDX, RET, NAME, ARGS) \
extern G__EXPORT void G__LockCpp G__P((void)); static RET (* NAME ) ARGS = 0;
extern G__EXPORT void G__set_sym_underscore G__P((int x)); # endif
extern G__EXPORT int G__get_sym_underscore G__P((void)); #endif /*G__DECL_API*/
extern G__EXPORT void* G__get_errmsgcallback G__P((void));
extern G__EXPORT void G__mask_errmsg G__P((char* msg));
#if (!defined(G__MULTITHREADLIBCINTC)) && (!defined(G__MULTITHREADLIBCINTCP
P))
extern G__EXPORT int G__main G__P((int argc,char **argv));
extern G__EXPORT void G__setothermain G__P((int othermain));
extern G__EXPORT void G__exit G__P((int rtn));
extern G__EXPORT int G__getnumbaseclass G__P((int tagnum));
extern G__EXPORT void G__setnewtype G__P((int globalcomp,G__CONST char* com
ment,int nindex));
extern G__EXPORT void G__setnewtypeindex G__P((int j,int index));
extern G__EXPORT void G__resetplocal G__P((void));
extern G__EXPORT long G__getgvp G__P((void));
extern G__EXPORT void G__resetglobalenv G__P((void));
extern G__EXPORT void G__lastifuncposition G__P((void));
extern G__EXPORT void G__resetifuncposition G__P((void));
extern G__EXPORT void G__setnull G__P((G__value* result));
extern G__EXPORT long G__getstructoffset G__P((void));
extern G__EXPORT int G__getaryconstruct G__P((void));
extern G__EXPORT long G__gettempbufpointer G__P((void));
extern G__EXPORT void G__setsizep2memfunc G__P((int sizep2memfunc));
extern G__EXPORT int G__getsizep2memfunc G__P((void));
extern G__EXPORT int G__get_linked_tagnum G__P((G__linked_taginfo *p));
extern G__EXPORT int G__get_linked_tagnum_fwd G__P((G__linked_taginfo *p));
extern G__EXPORT int G__tagtable_setup G__P((int tagnum,int size,int cpplin
k,int isabstract,G__CONST char *comment,G__incsetup setup_memvar,G__incsetu
p setup_memfunc));
extern G__EXPORT int G__search_tagname G__P((G__CONST char *tagname,int typ
e));
extern G__EXPORT int G__search_typename G__P((G__CONST char *typenamein,int
typein,int tagnum,int reftype));
extern G__EXPORT int G__defined_typename G__P((G__CONST char* typenamein));
extern G__EXPORT int G__tag_memvar_setup G__P((int tagnum));
extern G__EXPORT int G__memvar_setup G__P((void *p,int type,int reftype,int
constvar,int tagnum,int typenum,int statictype,int access,G__CONST char *e
xpr,int definemacro,G__CONST char *comment));
extern G__EXPORT int G__tag_memvar_reset G__P((void));
extern G__EXPORT int G__tag_memfunc_setup G__P((int tagnum));
extern G__EXPORT void G__set_tagnum(G__value* val, int tagnum);
extern G__EXPORT void G__set_typenum(G__value* val, const char* type);
extern G__EXPORT void G__set_type(G__value* val, char* type);
#ifdef G__TRUEP2F
extern G__EXPORT int G__memfunc_setup G__P((G__CONST char *funcname,int has
h,G__InterfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment,void* tp2f,int isvirtual))
;
#else /* G__TRUEP2F */
extern G__EXPORT int G__memfunc_setup G__P((G__CONST char *funcname,int has
h,G__InterfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment));
#endif /* G__TRUEP2F */
#ifdef G__TRUEP2F
extern G__EXPORT int G__memfunc_setup2 G__P((G__CONST char *funcname,int ha
sh,G__CONST char *mangled_name,G__InterfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment,void* tp2f,int isvirtual))
;
#else /* G__TRUEP2F */
extern G__EXPORT int G__memfunc_setup2 G__P((G__CONST char *funcname,int ha
sh,G__CONST char *mangled_name,G__InterfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment));
#endif /* G__TRUEP2F */
extern G__EXPORT int G__memfunc_next G__P((void));
extern G__EXPORT int G__memfunc_para_setup G__P((int ifn,int type,int tagnu
m,int typenum,int reftype,G__value *para_default,char *para_def,char *para_
name));
extern G__EXPORT int G__tag_memfunc_reset G__P((void));
extern G__EXPORT void G__letint G__P((G__value *buf,int type,long value));
extern G__EXPORT void G__letdouble G__P((G__value *buf,int type,double valu
e));
extern G__EXPORT int G__value_get_type G__P((G__value* buf));
extern G__EXPORT int G__value_get_tagnum G__P((G__value* buf));
extern G__EXPORT void G__store_tempobject G__P((G__value reg));
extern G__EXPORT int G__inheritance_setup G__P((int tagnum,int basetagnum,l
ong baseoffset,int baseaccess,int property));
extern G__EXPORT void G__add_compiledheader G__P((G__CONST char *headerfile
));
extern G__EXPORT void G__add_ipath G__P((G__CONST char *ipath));
extern G__EXPORT int G__delete_ipath G__P((G__CONST char *ipath));
extern G__EXPORT struct G__includepath *G__getipathentry();
extern G__EXPORT void G__add_macro G__P((G__CONST char *macro));
extern G__EXPORT void G__check_setup_version G__P((int version,G__CONST cha
r *func));
extern G__EXPORT long G__int G__P((G__value buf));
extern G__EXPORT long G__int_cast G__P((G__value buf));
extern G__EXPORT double G__double G__P((G__value buf));
extern G__EXPORT G__value G__calc G__P((G__CONST char *expr));
extern G__EXPORT int G__loadfile G__P((G__CONST char* filename));
extern G__EXPORT int G__setfilecontext G__P((G__CONST char* filename, stru
ct G__input_file* ifile));
extern G__EXPORT int G__unloadfile G__P((G__CONST char* filename));
extern G__EXPORT int G__init_cint G__P((G__CONST char* command));
extern G__EXPORT void G__scratch_all G__P((void));
extern G__EXPORT void G__setdouble G__P((G__value *pbuf,double d,void* pd,i
nt type,int tagnum,int typenum,int reftype));
extern G__EXPORT void G__setint G__P((G__value *pbuf,long d,void* pd,int ty
pe,int tagnum,int typenum,int reftype));
extern G__EXPORT void G__stubstoreenv G__P((struct G__StoreEnv *env,void* p
,int tagnum));
extern G__EXPORT void G__stubrestoreenv G__P((struct G__StoreEnv *env));
extern G__EXPORT int G__getstream G__P((const char *source,int *isrc,char *
string,const char *endmark));
extern G__EXPORT char *G__type2string G__P((int type,int tagnum,int typenum
,int reftype,int isconst));
extern G__EXPORT void G__alloc_tempobject G__P((int tagnum,int typenum));
extern G__EXPORT void G__alloc_tempobject_val G__P((G__value* val));
extern G__EXPORT void G__set_p2fsetup G__P((void (*p2f)()));
extern G__EXPORT void G__free_p2fsetup G__P((void));
extern G__EXPORT int G__genericerror G__P((G__CONST char *message));
extern G__EXPORT char* G__tmpnam G__P((char* name));
extern G__EXPORT int G__setTMPDIR G__P((char* badname));
extern G__EXPORT void G__setPrerun G__P((int prerun));
extern G__EXPORT int G__readline G__P((FILE *fp,char *line,char *argbuf,int
*argn,char *arg[]));
extern G__EXPORT int G__getFuncNow G__P((void));
extern G__EXPORT G__value G__getfunction G__P((const char *item,int *known3
,int memfunc_flag));
extern FILE* G__getIfileFp G__P((void));
extern G__EXPORT void G__incIfileLineNumber G__P((void));
extern G__EXPORT struct G__input_file* G__get_ifile G__P((void));
extern G__EXPORT void G__setReturn G__P((int rtn));
extern G__EXPORT int G__getPrerun G__P((void));
extern G__EXPORT short G__getDispsource G__P((void));
extern G__EXPORT FILE* G__getSerr G__P((void));
extern G__EXPORT int G__getIsMain G__P((void));
extern G__EXPORT void G__setIsMain G__P((int ismain));
extern G__EXPORT void G__setStep G__P((int step));
extern G__EXPORT int G__getStepTrace G__P((void));
extern G__EXPORT void G__setDebug G__P((int dbg));
extern G__EXPORT int G__getDebugTrace G__P((void));
extern G__EXPORT void G__set_asm_noverflow G__P((int novfl));
extern G__EXPORT int G__get_no_exec G__P((void));
extern G__EXPORT int G__get_no_exec_compile G__P((void));
extern G__EXPORT void G__setdebugcond G__P((void));
extern G__EXPORT int G__init_process_cmd G__P((void));
extern G__EXPORT int G__process_cmd G__P((char *line,char *prompt,int *more
,int *err,G__value *rslt));
extern G__EXPORT int G__pause G__P((void));
extern G__EXPORT char* G__input G__P((const char* prompt));
extern G__EXPORT int G__split G__P((char *line,char *string,int *argc,char
**argv));
extern G__EXPORT int G__getIfileLineNumber G__P((void));
extern G__EXPORT void G__addpragma G__P((char* comname,void (*p2f) G__P((ch
ar*)) ));
extern G__EXPORT void G__add_setup_func G__P((G__CONST char *libname, G__in
csetup func));
extern G__EXPORT void G__remove_setup_func G__P((G__CONST char *libname));
extern G__EXPORT void G__setgvp G__P((long gvp));
extern G__EXPORT void G__set_stdio_handle G__P((FILE* sout,FILE* serr,FILE*
sin));
extern G__EXPORT void G__setautoconsole G__P((int autoconsole));
extern G__EXPORT int G__AllocConsole G__P((void));
extern G__EXPORT int G__FreeConsole G__P((void));
extern G__EXPORT int G__getcintready G__P((void));
extern G__EXPORT int G__security_recover G__P((FILE* fout));
extern G__EXPORT void G__breakkey G__P((int signame));
extern G__EXPORT int G__stepmode G__P((int stepmode));
extern G__EXPORT int G__tracemode G__P((int tracemode));
extern G__EXPORT int G__setbreakpoint G__P((const char *breakline,const cha
r *breakfile));
extern G__EXPORT int G__getstepmode G__P((void));
extern G__EXPORT int G__gettracemode G__P((void));
extern G__EXPORT int G__printlinenum G__P((void));
extern G__EXPORT int G__search_typename2 G__P((G__CONST char *typenamein,in
t typein,int tagnum,int reftype,int parent_tagnum));
extern G__EXPORT void G__set_atpause G__P((void (*p2f)()));
extern G__EXPORT void G__set_aterror G__P((void (*p2f)()));
extern G__EXPORT void G__p2f_void_void G__P((void* p2f));
extern G__EXPORT int G__setglobalcomp G__P((int globalcomp));
extern G__EXPORT const char *G__getmakeinfo G__P((const char *item));
extern G__EXPORT const char *G__getmakeinfo1 G__P((const char *item));
extern G__EXPORT int G__get_security_error G__P((void));
extern G__EXPORT char* G__map_cpp_name G__P((const char *in));
extern G__EXPORT char* G__Charref G__P((G__value *buf));
extern G__EXPORT short* G__Shortref G__P((G__value *buf));
extern G__EXPORT int* G__Intref G__P((G__value *buf));
extern G__EXPORT long* G__Longref G__P((G__value *buf));
extern G__EXPORT unsigned char* G__UCharref G__P((G__value *buf));
#ifdef G__BOOL4BYTE
extern G__EXPORT int* G__Boolref G__P((G__value *buf));
#else // G__BOOL4BYTE
extern G__EXPORT unsigned char* G__Boolref G__P((G__value *buf));
#endif // G__BOOL4BYTE
extern G__EXPORT unsigned short* G__UShortref G__P((G__value *buf));
extern G__EXPORT unsigned int* G__UIntref G__P((G__value *buf));
extern G__EXPORT unsigned long* G__ULongref G__P((G__value *buf));
extern G__EXPORT float* G__Floatref G__P((G__value *buf));
extern G__EXPORT double* G__Doubleref G__P((G__value *buf));
extern G__EXPORT int G__loadsystemfile G__P((G__CONST char* filename));
extern G__EXPORT void G__set_ignoreinclude G__P((G__IgnoreInclude ignoreinc
lude));
extern G__EXPORT G__value G__exec_tempfile_fp G__P((FILE *fp));
extern G__EXPORT G__value G__exec_tempfile G__P((G__CONST char *file));
extern G__EXPORT G__value G__exec_text G__P((G__CONST char *unnamedmacro));
extern G__EXPORT char* G__exec_text_str G__P((G__CONST char *unnamedmacro,c
har* result));
extern G__EXPORT char* G__lasterror_filename G__P((void));
extern G__EXPORT int G__lasterror_linenum G__P((void));
extern void G__EXPORT G__va_arg_put G__P((G__va_arg_buf* pbuf,struct G__par
am* libp,int n));
#ifndef G__OLDIMPLEMENTATION1546
extern G__EXPORT const char* G__load_text G__P((G__CONST char *namedmacro))
;
extern G__EXPORT void G__set_emergencycallback G__P((void (*p2f)()));
#endif
#ifndef G__OLDIMPLEMENTATION1485
extern G__EXPORT void G__set_errmsgcallback(void* p);
#endif
extern G__EXPORT void G__letLonglong G__P((G__value* buf,int type,G__int64
value));
extern G__EXPORT void G__letULonglong G__P((G__value* buf,int type,G__uint6
4 value));
extern G__EXPORT void G__letLongdouble G__P((G__value* buf,int type,long do
uble value));
extern G__EXPORT G__int64 G__Longlong G__P((G__value buf));
extern G__EXPORT G__uint64 G__ULonglong G__P((G__value buf));
extern G__EXPORT long double G__Longdouble G__P((G__value buf));
extern G__EXPORT G__int64* G__Longlongref G__P((G__value *buf));
extern G__EXPORT G__uint64* G__ULonglongref G__P((G__value *buf));
extern G__EXPORT long double* G__Longdoubleref G__P((G__value *buf));
extern G__EXPORT void G__exec_alloc_lock();
extern G__EXPORT void G__exec_alloc_unlock();
/* Missing interfaces */
extern G__EXPORT int G__clearfilebusy G__P((int));
/* In Api.h: G__InitGetSpecialObject */
/* In Api.h: G__InitUpdateClassInfo */
/* earlier in this file: G__call_setup_funcs */
/* earlier in this file: G__cint_version */
/* earlier in this file: G__clearstack */
extern G__EXPORT void G__CurrentCall(int, void*, long*);
extern G__EXPORT int G__const_resetnoerror G__P((void));
extern G__EXPORT int G__const_setnoerror G__P((void));
extern G__EXPORT int G__const_whatnoerror G__P((void));
extern G__EXPORT void G__enable_wrappers(int set);
extern G__EXPORT int G__wrappers_enabled();
/* earlier in this file: G__deleteglobal */
/* earlier in this file: G__exec_bytecode */
/* earlier in this file: G__findsym */
extern G__EXPORT int G__close_inputfiles G__P((void));
/* earlier in this file: G__p2f2funcname */
extern G__EXPORT void G__scratch_globals_upto G__P((struct G__dictposition
*dictpos));
extern G__EXPORT int G__scratch_upto G__P((struct G__dictposition *dictpos)
);
/* earlier in this file: G__settemplevel */
extern G__EXPORT void G__store_dictposition G__P((struct G__dictposition* d
ictpos));
extern G__EXPORT int G__printf (const char* fmt,...);
extern G__EXPORT void G__free_tempobject G__P((void));
extern G__EXPORT int G__display_class(FILE *fout,char *name,int base,int st
art);
extern G__EXPORT int G__display_includepath(FILE *fout);
extern G__EXPORT void G__set_alloclockfunc(void(*)());
extern G__EXPORT void G__set_allocunlockfunc(void(*)());
extern G__EXPORT int G__usermemfunc_setup(char *funcname,int hash,int (*fun
cp)(),int type,
int tagnum,int typenum,int reftype,
int para_nu,int ansi,int accessin,int isconst,
char *paras, char *comment
#ifdef G__TRUEP2F
,void *truep2f,int isvirtual
#endif
,void *userparam);
extern G__EXPORT char *G__fulltagname(int tagnum,int mask_dollar);
extern G__EXPORT void G__loadlonglong(int* ptag,int* ptype,int which);
extern G__EXPORT int G__isanybase(int basetagnum,int derivedtagnum,long pob
ject);
extern G__EXPORT int G__pop_tempobject(void);
extern G__EXPORT int G__pop_tempobject_nodel(void);
extern G__EXPORT const char* G__stripfilename(const char* filename);
extern G__EXPORT int G__sizeof (G__value *object);
#ifdef _WIN32
extern G__EXPORT FILE *FOpenAndSleep(const char *filename, const char *mode
);
#endif
extern G__EXPORT struct G__ifunc_table_internal *G__get_ifunc_internal(stru
ct G__ifunc_table* iref);
#else /* G__MULTITHREADLIBCINT */
static int (*G__main) G__P((int argc,char **argv));
static void (*G__setothermain) G__P((int othermain));
static int (*G__getnumbaseclass) G__P((int tagnum));
static void (*G__setnewtype) G__P((int globalcomp,G__CONST char* comment,in
t nindex));
static void (*G__setnewtypeindex) G__P((int j,int index));
static void (*G__resetplocal) G__P((void));
static long (*G__getgvp) G__P((void));
static void (*G__resetglobalenv) G__P((void));
static void (*G__lastifuncposition) G__P((void));
static void (*G__resetifuncposition) G__P((void));
static void (*G__setnull) G__P((G__value* result));
static long (*G__getstructoffset) G__P((void));
static int (*G__getaryconstruct) G__P((void));
static long (*G__gettempbufpointer) G__P((void));
static void (*G__setsizep2memfunc) G__P((int sizep2memfunc));
static int (*G__getsizep2memfunc) G__P((void));
static int (*G__get_linked_tagnum) G__P((G__linked_taginfo *p));
static int (*G__tagtable_setup) G__P((int tagnum,int size,int cpplink,int i
sabstract,G__CONST char *comment,G__incsetup setup_memvar,G__incsetup setup
_memfunc));
static int (*G__search_tagname) G__P((G__CONST char *tagname,int type));
static int (*G__search_typename) G__P((G__CONST char *typenamein,int typein
,int tagnum,int reftype));
static int (*G__defined_typename) G__P((G__CONST char* typenamein));
static int (*G__tag_memvar_setup) G__P((int tagnum));
static int (*G__memvar_setup) G__P((void *p,int type,int reftype,int constv
ar,int tagnum,int typenum,int statictype,int access,G__CONST char *expr,int
definemacro,G__CONST char *comment));
static int (*G__tag_memvar_reset) G__P((void));
static int (*G__tag_memfunc_setup) G__P((int tagnum));
#ifdef G__TRUEP2F
static int (*G__memfunc_setup) G__P((G__CONST char *funcname,int hash, G__I
nterfaceMethod funcp,int type
, int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int is
const,G__CONST char *paras,G__CONST char *comment,void* tp2f,int isvirtual)
);
#else /* G__TRUEP2F */
static int (*G__memfunc_setup) G__P((G__CONST char *funcname,int hash, G__I
nterfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment));
#endif /* G__TRUEP2F */
#ifdef G__TRUEP2F
static int (*G__memfunc_setup2) G__P((G__CONST char *funcname,int hash, G__
CONST char *mangled_name, G__InterfaceMethod funcp
,int type, int tagnum,int typenum,int reftype,int para_nu,int ansi,int acce
ss,int isconst,G__CONST char *paras,G__CONST char *comment,void* tp2f,int i
svirtual));
#else /* G__TRUEP2F */
static int (*G__memfunc_setup2) G__P((G__CONST char *funcname,int hash,G__C
ONST char *mangled_name,G__InterfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment));
#endif /* G__TRUEP2F */
static int (*G__memfunc_next) G__P((void));
static int (*G__memfunc_para_setup) G__P((int ifn,int type,int tagnum,int t
ypenum,int reftype,G__value *para_default,char *para_def,char *para_name));
static int (*G__tag_memfunc_reset) G__P((void));
static void (*G__letint) G__P((G__value *buf,int type,long value));
static void (*G__letdouble) G__P((G__value *buf,int type,double value));
static void (*G__store_tempobject) G__P((G__value reg));
static int (*G__inheritance_setup) G__P((int tagnum,int basetagnum,long bas
eoffset,int baseaccess,int property));
static void (*G__add_compiledheader) G__P((G__CONST char *headerfile));
static void (*G__add_ipath) G__P((G__CONST char *ipath));
static void (*G__add_macro) G__P((G__CONST char *macro));
static void (*G__check_setup_version) G__P((int version,G__CONST char *func
));
static long (*G__int) G__P((G__value buf));
static double (*G__double) G__P((G__value buf));
static G__value (*G__calc) G__P((G__CONST char *expr));
static int (*G__loadfile) G__P((G__CONST char* filename));
static int (*G__unloadfile) G__P((G__CONST char* filename));
static int (*G__init_cint) G__P((G__CONST char* command));
static void (*G__scratch_all) G__P((void));
static void (*G__setdouble) G__P((G__value *pbuf,double d,void* pd,int type
,int tagnum,int typenum,int reftype));
static void (*G__setint) G__P((G__value *pbuf,long d,void* pd,int type,int
tagnum,int typenum,int reftype));
static void (*G__stubstoreenv) G__P((struct G__StoreEnv *env,void* p,int ta
gnum));
static void (*G__stubrestoreenv) G__P((struct G__StoreEnv *env));
static int (*G__getstream) G__P((char *source,int *isrc,char *string,char *
endmark));
static char* (*G__type2string) G__P((int type,int tagnum,int typenum,int re
ftype,int isconst));
static void (*G__alloc_tempobject) G__P((int tagnum,int typenum));
static void (*G__alloc_tempobject_val) G__P((G__value* val));
static void (*G__set_p2fsetup) G__P((void (*p2f)()));
static void (*G__free_p2fsetup) G__P((void));
static int (*G__genericerror) G__P((G__CONST char *message));
static char* (*G__tmpnam) G__P((char* name));
static int (*G__setTMPDIR) G__P((char* badname));
static void (*G__setPrerun) G__P((int prerun));
static int (*G__readline) G__P((FILE *fp,char *line,char *argbuf,int *argn,
char *arg[]));
static int (*G__getFuncNow) G__P((void));
static FILE* (*G__getIfileFp) G__P((void));
static void (*G__incIfileLineNumber) G__P((void));
static struct G__input_file* G__get_ifile G__P((void));
static void (*G__setReturn) G__P((int rtn));
static int (*G__getPrerun) G__P((void));
static short (*G__getDispsource) G__P((void));
static FILE* (*G__getSerr) G__P((void));
static int (*G__getIsMain) G__P((void));
static void (*G__setIsMain) G__P((int ismain));
static void (*G__setStep) G__P((int step));
static int (*G__getStepTrace) G__P((void));
static void (*G__setDebug) G__P((int dbg));
static int (*G__getDebugTrace) G__P((void));
static void (*G__set_asm_noverflow) G__P((int novfl));
static int (*G__get_no_exec) G__P((void));
static int (*G__get_no_exec_compile) G__P((void));
static void (*G__setdebugcond) G__P((void));
static int (*G__init_process_cmd) G__P((void));
static int (*G__process_cmd) G__P((char *line,char *prompt,int *more,int *e
rr,G__value *rslt));
static int (*G__pause) G__P((void));
static char* (*G__input) G__P((const char* prompt));
static int (*G__split) G__P((char *line,char *string,int *argc,char **argv)
);
static int (*G__getIfileLineNumber) G__P((void));
static void (*G__addpragma) G__P((char* comname,void (*p2f) G__P((char*)) )
);
static void (*G__add_setup_func) G__P((G__CONST char *libname,G__incsetup f
unc));
static void (*G__remove_setup_func) G__P((G__CONST char *libname));
static void (*G__setgvp) G__P((long gvp));
static void (*G__set_stdio_handle) G__P((FILE* sout,FILE* serr,FILE* sin));
static void (*G__setautoconsole) G__P((int autoconsole));
static int (*G__AllocConsole) G__P((void));
static int (*G__FreeConsole) G__P((void));
static int (*G__getcintready) G__P((void));
static int (*G__security_recover) G__P((FILE* fout));
static void (*G__breakkey) G__P((int signame));
static int (*G__stepmode) G__P((int stepmode));
static int (*G__tracemode) G__P((int tracemode));
static int (*G__getstepmode) G__P((void));
static int (*G__gettracemode) G__P((void));
static int (*G__printlinenum) G__P((void));
static int (*G__search_typename2) G__P((G__CONST char *typenamein,int typei
n,int tagnum,int reftype,int parent_tagnum));
static void (*G__set_atpause) G__P((void (*p2f)()));
static void (*G__set_aterror) G__P((void (*p2f)()));
static void (*G__p2f_void_void) G__P((void* p2f));
static int (*G__setglobalcomp) G__P((int globalcomp));
static char* (*G__getmakeinfo) G__P((char *item));
static int (*G__get_security_error) G__P((void));
static char* (*G__map_cpp_name) G__P((char *in));
static char* (*G__Charref) G__P((G__value *buf));
static short* (*G__Shortref) G__P((G__value *buf));
static int* (*G__Intref) G__P((G__value *buf));
static long* (*G__Longref) G__P((G__value *buf));
static unsigned char* (*G__UCharref) G__P((G__value *buf));
static unsigned short* (*G__UShortref) G__P((G__value *buf));
static unsigned int* (*G__UIntref) G__P((G__value *buf));
static unsigned long* (*G__ULongref) G__P((G__value *buf));
static float* (*G__Floatref) G__P((G__value *buf));
static double* (*G__Doubleref) G__P((G__value *buf));
static int (*G__loadsystemfile) G__P((G__CONST char* filename));
static void (*G__set_ignoreinclude) G__P((G__IgnoreInclude ignoreinclude));
static G__value (*G__exec_tempfile) G__P((G__CONST char *file));
static G__value (*G__exec_text) G__P((G__CONST char *unnamedmacro));
static char* (*G__lasterror_filename) G__P((void));
static int (*G__lasterror_linenum) G__P((void));
static void (*G__va_arg_put) G__P((G__va_arg_buf* pbuf,struct G__param* lib
p,int n));
#ifndef G__OLDIMPLEMENTATION1546
static char* (*G__load_text) G__P((G__CONST char *namedmacro));
static void (*G__set_emergencycallback) G__P((void (*p2f)()));
#endif
#ifndef G__OLDIMPLEMENTATION1485
static void (*G__set_errmsgcallback) G__P((void* p));
#endif
static void (*G__letLonglong) G__P((G__value* buf,int type,G__int64 value))
;
static void (*G__letULonglong) G__P((G__value* buf,int type,G__uint64 value
));
static void (*G__letLongdouble) G__P((G__value* buf,int type,long double va
lue));
static G__int64 (*G__Longlong) G__P((G__value buf)); /* used to be int */
static G__uint64 (*G__ULonglong) G__P((G__value buf)); /* used to be int */
static long double (*G__Longdouble) G__P((G__value buf)); /* used to be int
*/
static G__int64* (*G__Longlongref) G__P((G__value *buf));
static G__uint64* (*G__ULonglongref) G__P((G__value *buf));
static long double* (*G__Longdoubleref) G__P((G__value *buf));
static struct G__input_file* (*G__get_ifile) G__P((void));
static void (*G__set_alloclockfunc) G__P((void*)); #include "G__ci_fproto.h"
static void (*G__set_allocunlockfunc) G__P((void*));
#ifdef G__MULTITHREADLIBCINTC #ifdef G__MULTITHREADLIBCINT
G__EXPORT void G__SetCCintApiPointers( /* second round, now setting func ptrs */
#else
G__EXPORT void G__SetCppCintApiPointers(
#endif
void* a1,
void* a2,
void* a3,
void* a4,
void* a5,
void* a6,
void* a7,
void* a8,
void* a9,
void* a10,
void* a11,
void* a12,
void* a13,
void* a14,
void* a15,
void* a16,
void* a17,
void* a18,
void* a19,
void* a20,
void* a21,
void* a22,
void* a23,
void* a24,
void* a25,
void* a26,
void* a27,
void* a28,
void* a29,
void* a30,
void* a31,
void* a32,
void* a33,
void* a34,
void* a35,
void* a36,
void* a37,
void* a38,
void* a39,
void* a40,
void* a41,
void* a42,
void* a43,
void* a44,
void* a45,
void* a46,
void* a47,
void* a48,
void* a49,
void* a50,
void* a51,
void* a52,
void* a53,
void* a54,
void* a55,
void* a56,
void* a57,
void* a58,
void* a59,
void* a60,
void* a61,
void* a62,
void* a63,
void* a64,
void* a65,
void* a66,
void* a67,
void* a68,
void* a69,
void* a70,
void* a71,
void* a72,
void* a73,
void* a74,
void* a75,
void* a76,
void* a77,
void* a78,
void* a79,
void* a80,
void* a81,
void* a82,
void* a83,
void* a84,
void* a85,
void* a86,
void* a87,
void* a88,
void* a89,
void* a90,
void* a91,
void* a92,
void* a93,
void* a94,
void* a95,
void* a96,
void* a97,
void* a100,
void* a101,
void* a102,
void* a103,
void* a104,
void* a105,
void* a106,
void* a107,
void* a108,
void* a109,
void* a110,
void* a111,
void* a112,
void* a113,
void* a114,
void* a115,
void* a116,
void* a117,
void* a118,
void* a119,
void* a120,
void* a121,
void* a122,
void* a123,
void* a124
#ifndef G__OLDIMPLEMENTATION1546
,void* a125
,void* a126
#endif
#ifndef G__OLDIMPLEMENTATION1485
,void* a127
#endif
,void* a128
,void* a129
,void* a130
,void* a131
,void* a132
,void* a133
,void* a134
,void* a135
,void* a136
,void* a137
,void* a138
,void* a139
,void* a140
)
{
G__main = (int (*) G__P((int argc,char **argv)) ) a1;
G__setothermain = (void (*) G__P((int othermain)) ) a2;
G__getnumbaseclass = (int (*) G__P((int tagnum)) ) a3;
G__setnewtype = (void (*) G__P((int globalcomp,G__CONST char* comment,int
nindex)) ) a4;
G__setnewtypeindex = (void (*) G__P((int j,int index)) ) a5;
G__resetplocal = (void (*) G__P((void)) ) a6;
G__getgvp = (long (*) G__P((void)) ) a7;
G__resetglobalenv = (void (*) G__P((void)) ) a8;
G__lastifuncposition = (void (*) G__P((void)) ) a9;
G__resetifuncposition = (void (*) G__P((void)) ) a10;
G__setnull = (void (*) G__P((G__value* result)) ) a11;
G__getstructoffset = (long (*) G__P((void)) ) a12;
G__getaryconstruct = (int (*) G__P((void)) ) a13;
G__gettempbufpointer = (long (*) G__P((void)) ) a14;
G__setsizep2memfunc = (void (*) G__P((int sizep2memfunc)) ) a15;
G__getsizep2memfunc = (int (*) G__P((void)) ) a16;
G__get_linked_tagnum = (int (*) G__P((G__linked_taginfo *p)) ) a17;
G__tagtable_setup = (int (*) G__P((int tagnum,int size,int cpplink,int is
abstract,G__CONST char *comment,G__incsetup setup_memvar,G__incsetup setup_
memfunc)) ) a18;
G__search_tagname = (int (*) G__P((G__CONST char *tagname,int type)) ) a1
9;
G__search_typename = (int (*) G__P((G__CONST char *typenamein,int typein,
int tagnum,int reftype)) ) a20;
G__defined_typename = (int (*) G__P((G__CONST char* typenamein)) ) a21;
G__tag_memvar_setup = (int (*) G__P((int tagnum)) ) a22;
G__memvar_setup = (int (*) G__P((void *p,int type,int reftype,int constva
r,int tagnum,int typenum,int statictype,int access,G__CONST char *expr,int
definemacro,G__CONST char *comment)) ) a23;
G__tag_memvar_reset = (int (*) G__P((void)) ) a24;
G__tag_memfunc_setup = (int (*) G__P((int tagnum)) ) a25;
#ifdef G__TRUEP2F
G__memfunc_setup = (int (*) G__P((G__CONST char *funcname,int hash,G__Int
erfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment,void* tp2f,int isvirtual))
) a26;
#else /* G__TRUEP2F */
G__memfunc_setup = (int (*) G__P((G__CONST char *funcname,int hash,G__Int
erfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment)) ) a26;
#endif /* G__TRUEP2F */
G__memfunc_next = (int (*) G__P((void)) ) a27;
G__memfunc_para_setup = (int (*) G__P((int ifn,int type,int tagnum,int ty
penum,int reftype,G__value *para_default,char *para_def,char *para_name)) )
a28;
G__tag_memfunc_reset = (int (*) G__P((void)) ) a29;
G__letint = (void (*) G__P((G__value *buf,int type,long value)) ) a30;
G__letdouble = (void (*) G__P((G__value *buf,int type,double value)) ) a3
1;
G__store_tempobject = (void (*) G__P((G__value reg)) ) a32;
G__inheritance_setup = (int (*) G__P((int tagnum,int basetagnum,long base
offset,int baseaccess,int property)) ) a33;
G__add_compiledheader = (void (*) G__P((G__CONST char *headerfile)) ) a34
;
G__add_ipath = (void (*) G__P((G__CONST char *ipath)) ) a35;
G__add_macro = (void (*) G__P((G__CONST char *macro)) ) a36;
G__check_setup_version = (void (*) G__P((int version,G__CONST char *func)
) ) a37;
G__int = (long (*) G__P((G__value buf)) ) a38;
G__double = (double (*) G__P((G__value buf)) ) a39;
G__calc = (G__value (*) G__P((G__CONST char *expr)) ) a40;
G__loadfile = (int (*) G__P((G__CONST char *filename)) ) a41;
G__unloadfile = (int (*) G__P((G__CONST char *filename)) ) a42;
G__init_cint = (int (*) G__P((G__CONST char *command)) ) a43;
G__scratch_all = (void (*) G__P((void)) ) a44;
G__setdouble = (void (*) G__P((G__value *pbuf,double d,void* pd,int type,
int tagnum,int typenum,int reftype)) ) a45;
G__setint = (void (*) G__P((G__value *pbuf,long d,void* pd,int type,int t
agnum,int typenum,int reftype)) ) a46;
G__stubstoreenv = (void (*) G__P((struct G__StoreEnv *env,void* p,int tag
num)) ) a47;
G__stubrestoreenv = (void (*) G__P((struct G__StoreEnv *env)) ) a48;
G__getstream = (int (*) G__P((char *source,int *isrc,char *string,char *e
ndmark)) ) a49;
G__type2string = (char* (*) G__P((int type,int tagnum,int typenum,int ref
type,int isconst)) ) a50;
G__alloc_tempobject = (void (*) G__P((int tagnum,int typenum)) ) a51;
G__alloc_tempobject_val = (void (*) G__P((G__value* val)) ) a51;
G__set_p2fsetup = (void (*) G__P((void (*p2f)())) ) a52;
G__free_p2fsetup = (void (*) G__P((void)) ) a53;
G__genericerror = (int (*) G__P((G__CONST char *message)) ) a54;
G__tmpnam = (char* (*) G__P((char* name)) ) a55;
G__setTMPDIR = (int (*) G__P((char* badname)) ) a56;
G__setPrerun = (void (*) G__P((int prerun)) ) a57;
G__readline = (int (*) G__P((FILE *fp,char *line,char *argbuf,int *argn,c
har *arg[])) ) a58;
G__getFuncNow = (int (*) G__P((void)) ) a59;
G__getIfileFp = (FILE* (*) G__P((void)) ) a60;
G__incIfileLineNumber = (void (*) G__P((void)) ) a61;
G__setReturn = (void (*) G__P((int rtn)) ) a62;
G__getPrerun = (int (*) G__P((void)) ) a63;
G__getDispsource = (short (*) G__P((void)) ) a64;
G__getSerr = (FILE* (*) G__P((void)) ) a65;
G__getIsMain = (int (*) G__P((void)) ) a66;
G__setIsMain = (void (*) G__P((int ismain)) ) a67;
G__setStep = (void (*) G__P((int step)) ) a68;
G__getStepTrace = (int (*) G__P((void)) ) a69;
G__setDebug = (void (*) G__P((int dbg)) ) a70;
G__getDebugTrace = (int (*) G__P((void)) ) a71;
G__set_asm_noverflow = (void (*) G__P((int novfl)) ) a72;
G__get_no_exec = (int (*) G__P((void)) ) a73;
G__get_no_exec_compile = (int (*) G__P((void)) ) a74;
G__setdebugcond = (void (*) G__P((void)) ) a75;
G__init_process_cmd = (int (*) G__P((void)) ) a76;
G__process_cmd = (int (*) G__P((char *line,char *prompt,int *more,int *er
r,G__value *rslt)) ) a77;
G__pause = (int (*) G__P((void)) ) a78;
G__input = (char* (*) G__P((const char* prompt)) ) a79;
G__split = (int (*) G__P((char *line,char *string,int *argc,char **argv))
) a80;
G__getIfileLineNumber = (int (*) G__P((void)) ) a81;
G__addpragma = (void (*) G__P((char* comname,void (*p2f) G__P((char*)) ))
) a82;
G__add_setup_func = (void (*) G__P((G__CONST char *libname,G__incsetup fu
nc)) ) a83;
G__remove_setup_func = (void (*) G__P((G__CONST char *libname)) ) a84;
G__setgvp = (void (*) G__P((long gvp)) ) a85;
G__set_stdio_handle = (void (*) G__P((FILE* sout,FILE* serr,FILE* sin)) )
a86;
G__setautoconsole = (void (*) G__P((int autoconsole)) ) a87;
G__AllocConsole = (int (*) G__P((void)) ) a88;
G__FreeConsole = (int (*) G__P((void)) ) a89;
G__getcintready = (int (*) G__P((void)) ) a90;
G__security_recover = (int (*) G__P((FILE* fout)) ) a91;
G__breakkey = (void (*) G__P((int signame)) ) a92;
G__stepmode = (int (*) G__P((int stepmode)) ) a93;
G__tracemode = (int (*) G__P((int tracemode)) ) a94;
G__getstepmode = (int (*) G__P((void)) ) a95;
G__gettracemode = (int (*) G__P((void)) ) a96;
G__printlinenum = (int (*) G__P((void)) ) a97;
G__search_typename2 = (int (*) G__P((G__CONST char *typenamein,int typein
,int tagnum,int reftype,int parent_tagnum)) ) a100;
G__set_atpause = (void (*) G__P((void (*p2f)())) ) a101;
G__set_aterror = (void (*) G__P((void (*p2f)())) ) a102;
G__p2f_void_void = (void (*) G__P((void* p2f)) ) a103;
G__setglobalcomp = (void (*) G__P((int globalcomp)) ) a104;
G__getmakeinfo = (char* (*) G__P((char *item)) ) a105;
G__get_security_error = (int (*) G__P((void)) ) a106;
G__map_cpp_name = (char* (*) G__P((char *in)) ) a107;
G__Charref = (char* (*) G__P((G__value *buf)) ) a108;
G__Shortref = (short* (*) G__P((G__value *buf)) ) a109;
G__Intref = (int* (*) G__P((G__value *buf)) ) a110;
G__Longref = (long* (*) G__P((G__value *buf)) ) a111;
G__UCharref = (unsigned char* (*) G__P((G__value *buf)) ) a112;
G__UShortref = (unsigned short* (*) G__P((G__value *buf)) ) a113;
G__UIntref = (unsigned int* (*) G__P((G__value *buf)) ) a114;
G__ULongref = (unsigned long* (*) G__P((G__value *buf)) ) a115;
G__Floatref = (float* (*) G__P((G__value *buf)) ) a116;
G__Doubleref = (double* (*) G__P((G__value *buf)) ) a117;
G__loadsystemfile = (int (*) G__P((G__CONST char* filename)) ) a118;
G__set_ignoreinclude = (void (*) G__P((G__IgnoreInclude ignoreinclude)) )
a119;
G__exec_tempfile = (G__value (*) G__P((G__CONST char *file)) ) a120;
G__exec_text = (G__value (*) G__P((G__CONST char *unnamedmacro)) ) a121;
G__lasterror_filename = (char* (*) G__P((void)) ) a122;
G__lasterror_linenum = (int (*) G__P((void)) ) a123;
G__va_arg_put = (void (*) G__P((G__va_arg_buf* pbuf,struct G__param* libp
,int n)) ) a124;
#ifndef G__OLDIMPLEMENTATION1546
G__load_text = (char* (*) G__P((G__CONST char *namedmacro)) ) a125;
G__set_emergencycallback= (void (*) G__P((void (*p2f)())) ) a126;
#endif
#ifndef G__OLDIMPLEMENTATION1485
G__set_errmsgcallback= (void (*) G__P((void *p)) ) a127;
#endif
G__letLonglong=(void (*) G__P((G__value* buf,int type,G__int64 value)))a1
28;
G__letULonglong=(void (*) G__P((G__value* buf,int type,G__uint64 value)))
a129;
G__letLongdouble=(void (*) G__P((G__value* buf,int type,long double value
)))a130;
G__Longlong=(void (*) G__P((G__value buf)))a131;
G__ULonglong=(void (*) G__P((G__value buf)))a132;
G__Longdouble=(void (*) G__P((G__value buf)))a133;
G__Longlongref=(void (*) G__P((G__value *buf)))a134;
G__ULonglongref=(void (*) G__P((G__value *buf)))a135;
G__Longdoubleref=(void (*) G__P((G__value *buf)))a136;
G__get_ifile = (struct G__intput_ifile* (*) G__P((void)) ) a137;
G__set_alloclockfunc = (void (*) G__P((void* foo)) ) a138;
G__set_allocunlockfunc = (void (*) G__P((void* foo)) ) a139;
#ifdef G__TRUEP2F
G__memfunc_setup2 = (int (*) G__P((G__CONST char *funcname,int hash,G__In
terfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment,void* tp2f,int isvirtual))
) a140;
#else /* G__TRUEP2F */
G__memfunc_setup2 = (int (*) G__P((G__CONST char *funcname,int hash,G__In
terfaceMethod funcp,int type
,int tagnum,int typenum,int reftype,int para_nu,int ansi,int access,int isc
onst,G__CONST char *paras,G__CONST char *comment)) ) a140;
#endif /* G__TRUEP2F */
# undef G__DUMMYTOCHECKFORDUPLICATES
# define G__DUMMYTOCHECKFORDUPLICATES(IDX)
# ifdef G__MULTITHREADLIBCINTC
# define G__SET_CINT_API_POINTERS_FUNCNAME G__SetCCintApiPointers
# else
# define G__SET_CINT_API_POINTERS_FUNCNAME G__SetCppCintApiPointers
# endif
# undef G__DECL_API
# define G__DECL_API(IDX, RET, NAME, ARGS) \
NAME = (RET (*) ARGS) a[IDX];
G__EXPORT void G__SET_CINT_API_POINTERS_FUNCNAME (void *a[G__NUMBER_OF_API_
FUNCTIONS]) {
#include "G__ci_fproto.h"
} }
#endif /* G__MULTITHREADLIBCINT */ #endif /* G__MULTITHREADLIBCINT */
/************************************************************************** /**************************************************************************
* end of Exported Cint API functions * end of Exported Cint API functions
************************************************************************** / ************************************************************************** /
#endif /* __CINT__ */ #endif /* __CINT__ */
#if defined(G__WIN32) && (!defined(G__SYMANTEC)) && defined(G__CINTBODY) #if defined(G__WIN32) && (!defined(G__SYMANTEC)) && defined(G__CINTBODY)
skipping to change at line 2434 skipping to change at line 1626
#define fputc G__fputc #define fputc G__fputc
#define putc G__fputc #define putc G__fputc
#define putchar G__putchar #define putchar G__putchar
#define fputs G__fputs #define fputs G__fputs
#define puts G__puts #define puts G__puts
#define fgets G__fgets #define fgets G__fgets
#define gets G__gets #define gets G__gets
#define system G__system #define system G__system
#define tmpfile G__tmpfile #define tmpfile G__tmpfile
#ifdef G__FIX1
int G__printf (const char* fmt,...);
#else
int G__printf G__P((const char* fmt,...));
#endif
int G__fputc G__P((int character,FILE *fp)); int G__fputc G__P((int character,FILE *fp));
int G__putchar G__P((int character)); int G__putchar G__P((int character));
int G__fputs G__P((char *string,FILE *fp)); int G__fputs G__P((char *string,FILE *fp));
int G__puts G__P((char *string)); int G__puts G__P((char *string));
char *G__fgets G__P((char *string,int n,FILE *fp)); char *G__fgets G__P((char *string,int n,FILE *fp));
char *G__gets G__P((char *buffer)); char *G__gets G__P((char *buffer));
int G__system G__P((char *com)); int G__system G__P((char *com));
FILE *G__tmpfile(void); FILE *G__tmpfile(void);
#ifdef G__SPECIALSTDIO #ifdef G__SPECIALSTDIO
skipping to change at line 2472 skipping to change at line 1659
typedef void (*G__signaltype)(int,void (*)(int)); typedef void (*G__signaltype)(int,void (*)(int));
G__signaltype G__signal G__P((int sgnl,void (*f)(int))); G__signaltype G__signal G__P((int sgnl,void (*f)(int)));
#endif /* G__SPECIALSTDIO */ #endif /* G__SPECIALSTDIO */
#endif /* WIN32 !SYMANTEC CINTBODY*/ #endif /* WIN32 !SYMANTEC CINTBODY*/
/************************************************************************** /**************************************************************************
* end of specialstdio or win32 * end of specialstdio or win32
**************************************************************************/ **************************************************************************/
/***********************************************************************
* Native long long support
***********************************************************************/
#ifndef __CINT__
extern G__EXPORT G__int64 G__expr_strtoll G__P((const char *nptr,char **end
ptr, register int base));
extern G__EXPORT G__uint64 G__expr_strtoull G__P((const char *nptr, char **
endptr, register int base));
#endif
/***********************************************************************/ /***********************************************************************/
#if defined(__cplusplus) && !defined(__CINT__) #if defined(__cplusplus) && !defined(__CINT__)
} /* extern C 3 */ } /* extern C 3 */
#endif #endif
/***********************************************************************/ /***********************************************************************/
#if defined(__cplusplus) && !defined(__CINT__) #if defined(__cplusplus) && !defined(__CINT__)
// Helper class to avoid compiler warning about casting function pointer // Helper class to avoid compiler warning about casting function pointer
// to void pointer. // to void pointer.
class G__func2void { class G__func2void {
skipping to change at line 2512 skipping to change at line 1691
public: public:
template <typename T> template <typename T>
G__func2void( T vfp ) : _tmp(0) { G__func2void( T vfp ) : _tmp(0) {
_tmp._write = ( funcptr_t )vfp; _tmp._write = ( funcptr_t )vfp;
} }
operator void* () const { operator void* () const {
return _tmp._read; return _tmp._read;
} }
}; };
#endif #endif /* __cplusplus && ! __CINT__*/
#endif /* __MAKECINT__ */ #endif /* __MAKECINT__ */
/************************************************************************** /**************************************************************************
* endif #ifndef G__MAKECINT * endif #ifndef G__MAKECINT
**************************************************************************/ **************************************************************************/
#endif /* G__CI_H */ #endif /* G__CI_H */
 End of changes. 13 change blocks. 
1013 lines changed or deleted 50 lines changed or added


 GaussIntegrator.h   GaussIntegrator.h 
// @(#)root/mathcore:$Id: GaussIntegrator.h 22728 2008-03-19 10:05:41Z mone ta $ // @(#)root/mathcore:$Id: GaussIntegrator.h 33180 2010-04-25 10:14:07Z mone ta $
// Authors: David Gonzalez Maline 01/2008 // Authors: David Gonzalez Maline 01/2008
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 , LCG ROOT MathLib Team * * Copyright (c) 2006 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for GaussIntegrator // Header file for GaussIntegrator
skipping to change at line 38 skipping to change at line 38
It will use the Gauss Method for function integration in a given interva l. It will use the Gauss Method for function integration in a given interva l.
This class is implemented from TF1::Integral(). This class is implemented from TF1::Integral().
@ingroup Integration @ingroup Integration
*/ */
class GaussIntegrator: public VirtualIntegratorOneDim { class GaussIntegrator: public VirtualIntegratorOneDim {
public: public:
/** Destructor. Deletes the function if it was previously copied. */ /** Destructor */
~GaussIntegrator(); ~GaussIntegrator();
/** Default Constructor. */ /** Default Constructor. */
GaussIntegrator(); GaussIntegrator();
/** Static function: set the fgAbsValue flag. /** Static function: set the fgAbsValue flag.
By default TF1::Integral uses the original function value to compute the integral By default TF1::Integral uses the original function value to compute the integral
However, TF1::Moment, CentralMoment require to compute the integral However, TF1::Moment, CentralMoment require to compute the integral
using the absolute value of the function. using the absolute value of the function.
*/ */
skipping to change at line 65 skipping to change at line 65
/** This method is not implemented. */ /** This method is not implemented. */
void SetAbsTolerance (double); void SetAbsTolerance (double);
/** Returns the result of the last Integral calculation. */ /** Returns the result of the last Integral calculation. */
double Result () const; double Result () const;
/** Return the estimate of the absolute Error of the last Integral calcu lation. */ /** Return the estimate of the absolute Error of the last Integral calcu lation. */
double Error () const; double Error () const;
/** This method is not implemented. */ /** return the status of the last integration - 0 in case of success */
int Status () const; int Status () const;
// Implementing VirtualIntegratorOneDim Interface // Implementing VirtualIntegratorOneDim Interface
/** Return Integral of function between a and b. /** Return Integral of function between a and b.
Based on original CERNLIB routine DGAUSS by Sigfried Kolbig Based on original CERNLIB routine DGAUSS by Sigfried Kolbig
converted to C++ by Rene Brun converted to C++ by Rene Brun
This function computes, to an attempted specified accuracy, the value This function computes, to an attempted specified accuracy, the value
skipping to change at line 149 skipping to change at line 149
Note 1: Note 1:
Values of the function f(x) at the interval end-points A and B are not Values of the function f(x) at the interval end-points A and B are not
required. The subprogram may therefore be used when these values ar e required. The subprogram may therefore be used when these values ar e
undefined. undefined.
*/ */
double Integral (double a, double b); double Integral (double a, double b);
/** Set integration function (flag control if function must be copied in side). /** Set integration function (flag control if function must be copied in side).
\@param f Function to be used in the calculations. \@param f Function to be used in the calculations.
\@param copy Indicates whether the function has to be copied.
*/ */
void SetFunction (const IGenFunction &, bool copy=false); void SetFunction (const IGenFunction &);
/** This method is not implemented. */ /** This method is not implemented. */
double Integral (); double Integral ();
/** This method is not implemented. */ /** This method is not implemented. */
double IntegralUp (double a); double IntegralUp (double a);
/**This method is not implemented. */ /**This method is not implemented. */
double IntegralLow (double b); double IntegralLow (double b);
skipping to change at line 175 skipping to change at line 174
/** This method is not implemented. */ /** This method is not implemented. */
double IntegralCauchy (double a, double b, double c); double IntegralCauchy (double a, double b, double c);
protected: protected:
static bool fgAbsValue; // AbsValue used for the calculation of the integral static bool fgAbsValue; // AbsValue used for the calculation of the integral
double fEpsilon; // Relative error. double fEpsilon; // Relative error.
bool fUsedOnce; // Bool value to check if the function was at least called once. bool fUsedOnce; // Bool value to check if the function was at least called once.
double fLastResult; // Result from the last stimation. double fLastResult; // Result from the last stimation.
double fLastError; // Error from the last stimation. double fLastError; // Error from the last stimation.
const IGenFunction* fFunction; // Pointer to function used. const IGenFunction* fFunction; // Pointer to function used.
bool fFunctionCopied; // Bool value to check if the function was copied when set.
}; };
} // end namespace Math } // end namespace Math
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Math_GaussIntegrator */ #endif /* ROOT_Math_GaussIntegrator */
 End of changes. 6 change blocks. 
6 lines changed or deleted 4 lines changed or added


 GaussLegendreIntegrator.h   GaussLegendreIntegrator.h 
// @(#)root/mathcore:$Id: GaussLegendreIntegrator.h 22728 2008-03-19 10:05: 41Z moneta $ // @(#)root/mathcore:$Id: GaussLegendreIntegrator.h 33180 2010-04-25 10:14: 07Z moneta $
// Authors: David Gonzalez Maline 01/2008 // Authors: David Gonzalez Maline 01/2008
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 , LCG ROOT MathLib Team * * Copyright (c) 2006 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for GaussIntegrator // Header file for GaussIntegrator
skipping to change at line 86 skipping to change at line 86
// Implementing VirtualIntegratorOneDim Interface // Implementing VirtualIntegratorOneDim Interface
/** Gauss-Legendre integral, see CalcGaussLegendreSamplingPoints. */ /** Gauss-Legendre integral, see CalcGaussLegendreSamplingPoints. */
double Integral (double a, double b); double Integral (double a, double b);
/** Set integration function (flag control if function must be copied in side). /** Set integration function (flag control if function must be copied in side).
\@param f Function to be used in the calculations. \@param f Function to be used in the calculations.
\@param copy Indicates whether the function has to be copied. \@param copy Indicates whether the function has to be copied.
*/ */
void SetFunction (const IGenFunction &, bool copy=false); void SetFunction (const IGenFunction &);
/** This method is not implemented. */ /** This method is not implemented. */
double Integral (); double Integral ();
/** This method is not implemented. */ /** This method is not implemented. */
double IntegralUp (double a); double IntegralUp (double a);
/**This method is not implemented. */ /**This method is not implemented. */
double IntegralLow (double b); double IntegralLow (double b);
skipping to change at line 135 skipping to change at line 135
protected: protected:
int fNum; // Number of points used in the stimat ion of the integral. int fNum; // Number of points used in the stimat ion of the integral.
double* fX; // Abscisa of the points used. double* fX; // Abscisa of the points used.
double* fW; // Weights of the points used. double* fW; // Weights of the points used.
double fEpsilon; // Desired relative error. double fEpsilon; // Desired relative error.
bool fUsedOnce; // Bool value to check if the function was at least called once. bool fUsedOnce; // Bool value to check if the function was at least called once.
double fLastResult; // Result from the last stimation. double fLastResult; // Result from the last stimation.
double fLastError; // Error from the last stimation. double fLastError; // Error from the last stimation.
const IGenFunction* fFunction; // Pointer to function used. const IGenFunction* fFunction; // Pointer to function used.
bool fFunctionCopied; // Bool value to check if the function was copied when set.
}; };
} // end namespace Math } // end namespace Math
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Math_GaussLegendreIntegrator */ #endif /* ROOT_Math_GaussLegendreIntegrator */
 End of changes. 3 change blocks. 
3 lines changed or deleted 2 lines changed or added


 IMinimizer1D.h   IMinimizer1D.h 
// @(#)root/mathcore:$Id: IMinimizer1D.h 24477 2008-06-23 12:58:47Z moneta $ // @(#)root/mathcore:$Id: IMinimizer1D.h 32583 2010-03-12 09:57:42Z moneta $
// Author: David Gonzalez Maline 2/2008 // Author: David Gonzalez Maline 2/2008
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2004 Maline, CERN/PH-SFT * * Copyright (c) 2004 Maline, 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 45 skipping to change at line 45
@ingroup NumAlgo @ingroup NumAlgo
*/ */
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//_________________________________________________________________________ __________________ //_________________________________________________________________________ __________________
/** /**
Interface class for numerical methods for one-dimensional minimization Interface class for numerical methods for one-dimensional minimization
@ingroup Minimization @ingroup Min1D
*/ */
class IMinimizer1D { class IMinimizer1D {
public: public:
IMinimizer1D() {} IMinimizer1D() {}
virtual ~IMinimizer1D() {} virtual ~IMinimizer1D() {}
skipping to change at line 91 skipping to change at line 91
virtual double FValLower() const = 0; virtual double FValLower() const = 0;
/** /**
* Return function value at current upper bound of the minimization i nterval * Return function value at current upper bound of the minimization i nterval
*/ */
virtual double FValUpper() const = 0; virtual double FValUpper() const = 0;
/** /**
* Find minimum position iterating until convergence specified by the absolute and relative tolerance or * Find minimum position iterating until convergence specified by the absolute and relative tolerance or
* the maximum number of iteration is reached * the maximum number of iteration is reached
* Return true if iterations converged successfully
* \@param maxIter maximum number of iteration * \@param maxIter maximum number of iteration
* \@param absTol desired absolute error in the minimum position * \@param absTol desired absolute error in the minimum position
* \@param absTol desired relative error in the minimum position * \@param absTol desired relative error in the minimum position
*/ */
virtual int Minimize( int maxIter, double absTol, double relTol) = 0; virtual bool Minimize( int maxIter, double absTol, double relTol) = 0 ;
/** /**
* Return number of iteration used to find minimum * Return number of iteration used to find minimum
*/ */
virtual int Iterations() const = 0; virtual int Iterations() const = 0;
/** /**
* Return name of minimization algorithm * Return name of minimization algorithm
*/ */
virtual const char * Name() const = 0; virtual const char * Name() const = 0;
/** Returns the status of the previous estimate */
virtual int Status() const = 0;
}; // end class IMinimizer1D }; // end class IMinimizer1D
} // end namespace Math } // end namespace Math
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Math_IMinimizer1D */ #endif /* ROOT_Math_IMinimizer1D */
 End of changes. 5 change blocks. 
3 lines changed or deleted 7 lines changed or added


 IParamFunction.h   IParamFunction.h 
// @(#)root/mathcore:$Id: IParamFunction.h 27272 2009-01-28 09:03:03Z monet a $ // @(#)root/mathcore:$Id: IParamFunction.h 32583 2010-03-12 09:57:42Z monet a $
// Author: L. Moneta Tue Nov 14 14:20:07 2006 // Author: L. Moneta Tue Nov 14 14:20:07 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 IParamFunction // Header file for class IParamFunction
skipping to change at line 171 skipping to change at line 171
called. called.
Use the pure virtual function DoEvalPar to implement it Use the pure virtual function DoEvalPar to implement it
*/ */
double operator() ( double x, const double * p ) const { double operator() ( double x, const double * p ) const {
return DoEvalPar(x, p); return DoEvalPar(x, p);
} }
/** /**
multidim-like interface multidim-like interface
*/ */
double operator() (const double * x, const double * p ) double operator() (const double * x, const double * p ) const
{ {
return DoEvalPar(*x, p); return DoEvalPar(*x, p);
} }
private: private:
/** /**
Implementation of the evaluation function using the x value and the p arameters. Implementation of the evaluation function using the x value and the p arameters.
Must be implemented by derived classes Must be implemented by derived classes
*/ */
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 IRootFinderMethod.h   IRootFinderMethod.h 
// @(#)root/mathcore:$Id: IRootFinderMethod.h 24477 2008-06-23 12:58:47Z mo neta $ // @(#)root/mathcore:$Id: IRootFinderMethod.h 32583 2010-03-12 09:57:42Z mo neta $
// Authors: David Gonzalez Maline 01/2008 // Authors: David Gonzalez Maline 01/2008
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 , LCG ROOT MathLib Team * * Copyright (c) 2006 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header for the IRootFinderMethod interface // Header for the IRootFinderMethod interface
skipping to change at line 23 skipping to change at line 23
// Created by: David Gonzalez Maline : Fri Jan 25 2008 // Created by: David Gonzalez Maline : Fri Jan 25 2008
// //
#ifndef ROOT_Math_IRootFinderMethod #ifndef ROOT_Math_IRootFinderMethod
#define ROOT_Math_IRootFinderMethod #define ROOT_Math_IRootFinderMethod
#ifndef ROOT_Math_Error #ifndef ROOT_Math_Error
#include "Math/Error.h" #include "Math/Error.h"
#endif #endif
#include <Math/IFunction.h> #ifndef ROOT_Math_IFunctionfwd
#include "Math/IFunctionfwd.h"
#endif
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//_________________________________________________________________________ __________________ //_________________________________________________________________________ __________________
/** /**
Interface for finding function roots of one-dimensional functions Interface for finding function roots of one-dimensional functions
@ingroup RootFinders @ingroup RootFinders
skipping to change at line 47 skipping to change at line 49
public: public:
/** Default Destructor. */ /** Default Destructor. */
virtual ~IRootFinderMethod() {} virtual ~IRootFinderMethod() {}
/** Default Constructor. */ /** Default Constructor. */
IRootFinderMethod() {} IRootFinderMethod() {}
// Common functionality // Common functionality
/** Sets the function for algorithms using derivatives. */ /** Sets the function for algorithms using derivatives. */
virtual int SetFunction(const ROOT::Math::IGradFunction&, double) virtual bool SetFunction(const ROOT::Math::IGradFunction&, double)
{ {
MATH_ERROR_MSG("SetFunction", "This method must be used with a Root F inder algorithm using derivatives"); MATH_ERROR_MSG("SetFunction", "This method must be used with a Root F inder algorithm using derivatives");
return -1; return false;
} }
/** Sets the function for the rest of the algorithms. /** Sets the function for the rest of the algorithms.
The parameters set the interval where the root has to be calculated. */ The parameters set the interval where the root has to be calculated. */
virtual int SetFunction(const ROOT::Math::IGenFunction& , double , doubl e ) virtual bool SetFunction(const ROOT::Math::IGenFunction& , double , doub le )
{ {
MATH_ERROR_MSG("SetFunction", "Algorithm requires derivatives"); MATH_ERROR_MSG("SetFunction", "Algorithm requires derivatives");
return -1; return false;
} }
/** Returns the previously calculated root. */ /** Returns the previously calculated root. */
virtual double Root() const = 0; virtual double Root() const = 0;
/** Returns the status of the previous estimate */
virtual int Status() const = 0;
// Methods to be Implemented in the derived classes // Methods to be Implemented in the derived classes
/** Stimates the root for the function. /** Stimates the root for the function.
\@param maxIter maximum number of iterations. \@param maxIter maximum number of iterations.
\@param absTol desired absolute error in the minimum position. \@param absTol desired absolute error in the minimum position.
\@param absTol desired relative error in the minimum position. \@param absTol desired relative error in the minimum position.
*/ */
virtual int Solve(int maxIter = 100, double absTol = 1E-3, double relTol = 1E-6) = 0; virtual bool Solve(int maxIter = 100, double absTol = 1E-8, double relTo l = 1E-10) = 0;
/** Return name of root finder algorithm */ /** Return name of root finder algorithm */
virtual const char* Name() const = 0; virtual const char* Name() const = 0;
/** This method is not implemented. They are here to accomplish with the GSLRootFinder /** This method is implemented only by the GSLRootFinder
and GSLRootFinderDeriv classes and will return an error if it's not one of them. */ and GSLRootFinderDeriv classes and will return an error if it's not one of them. */
virtual int Iterate() { virtual int Iterate() {
MATH_ERROR_MSG("Iterate", "This method must be used with a Root Finde r algorithm wrapping the GSL Library"); MATH_ERROR_MSG("Iterate", "This method must be used with a Root Finde r algorithm wrapping the GSL Library");
return -1; return -1;
} }
/** This method is not implemented. They are here to accomplish with the /** Return number of iterations used to find the root
GSLRootFinder Must be implemented by derived classes
and GSLRootFinderDeriv classes and will return an error if it's not */
one of them. */ virtual int Iterations() const { return -1; }
virtual int Iterations() const {
MATH_ERROR_MSG("Iterations", "This method must be used with a Root Fi
nder algorithm wrapping the GSL Library");
return -1;
}
}; };
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#endif /* ROOT_Math_IRootFinderMethod */ #endif /* ROOT_Math_IRootFinderMethod */
 End of changes. 10 change blocks. 
17 lines changed or deleted 17 lines changed or added


 Integrator.h   Integrator.h 
// @(#)root/mathmore:$Id: Integrator.h 28946 2009-06-11 15:39:14Z moneta $ // @(#)root/mathmore:$Id: Integrator.h 33185 2010-04-25 10:34:11Z moneta $
// Authors: L. Moneta, M. Slawinska 10/2007 // Authors: L. Moneta, M. Slawinska 10/2007
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2007 ROOT Foundation, CERN/PH-SFT * * Copyright (c) 2007 ROOT Foundation, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class Integrator // Header file for class Integrator
// //
// //
#ifndef ROOT_Math_Integrator #ifndef ROOT_Math_Integrator
#define ROOT_Math_Integrator #define ROOT_Math_Integrator
#ifndef ROOT_Math_AllIntegrationTypes #ifndef ROOT_Math_AllIntegrationTypes
#include "Math/AllIntegrationTypes.h" #include "Math/AllIntegrationTypes.h"
#endif #endif
#ifndef ROOT_Math_IFunctionfwd #ifndef ROOT_Math_IFunction
#include "Math/IFunctionfwd.h" #include "Math/IFunction.h"
#endif #endif
#ifndef ROOT_Math_VirtualIntegrator #ifndef ROOT_Math_VirtualIntegrator
#include "Math/VirtualIntegrator.h" #include "Math/VirtualIntegrator.h"
#endif #endif
#include <memory>
/** /**
@defgroup Integration Numerical Integration @defgroup Integration Numerical Integration
*/ */
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//_________________________________________________________________________ ___________________ //_________________________________________________________________________ ___________________
skipping to change at line 89 skipping to change at line 91
@param absTol desired absolute Error @param absTol desired absolute Error
@param relTol desired relative Error @param relTol desired relative Error
@param size maximum number of sub-intervals @param size maximum number of sub-intervals
@param rule Gauss-Kronrod integration rule (only for GSL kADAPTIVE type) @param rule Gauss-Kronrod integration rule (only for GSL kADAPTIVE type)
Possible type values are : kGAUSS (simple Gauss method), kADAPTIVE ( from GSL), kADAPTIVESINGULAR (from GSL), kNONADAPTIVE (from GSL) Possible type values are : kGAUSS (simple Gauss method), kADAPTIVE ( from GSL), kADAPTIVESINGULAR (from GSL), kNONADAPTIVE (from GSL)
Possible rule values are kGAUS15 (rule = 1), kGAUS21( rule = 2), kGA US31(rule =3), kGAUS41 (rule=4), kGAUS51 (rule =5), kGAUS61(rule =6) Possible rule values are kGAUS15 (rule = 1), kGAUS21( rule = 2), kGA US31(rule =3), kGAUS41 (rule=4), kGAUS51 (rule =5), kGAUS61(rule =6)
lower rules are indicated for singular functions while higher for sm ooth functions to get better accuracies lower rules are indicated for singular functions while higher for sm ooth functions to get better accuracies
*/ */
explicit explicit
IntegratorOneDim(IntegrationOneDim::Type type = IntegrationOneDim::kADA PTIVE, double absTol = 1.E-9, double relTol = 1E-6, unsigned int size = 100 0, unsigned int rule = 3) { IntegratorOneDim(IntegrationOneDim::Type type = IntegrationOneDim::kADA PTIVESINGULAR, double absTol = 1.E-9, double relTol = 1E-6, unsigned int si ze = 1000, unsigned int rule = 3) {
fIntegrator = CreateIntegrator(type, absTol, relTol, size, rule); fIntegrator = CreateIntegrator(type, absTol, relTol, size, rule);
} }
/** /**
Constructor of one dimensional Integrator passing a function interfa ce Constructor of one dimensional Integrator passing a function interfa ce
@param f integration function (1D interface). It is copied insi de @param f integration function (1D interface). It is copied insi de
@param type integration type (adaptive, non-adaptive, etc..) @param type integration type (adaptive, non-adaptive, etc..)
@param absTol desired absolute Error @param absTol desired absolute Error
@param relTol desired relative Error @param relTol desired relative Error
skipping to change at line 119 skipping to change at line 121
/** /**
Template Constructor of one dimensional Integrator passing a generi c function object Template Constructor of one dimensional Integrator passing a generi c function object
@param f integration function (any C++ callable object implemen ting operator()(double x) @param f integration function (any C++ callable object implemen ting operator()(double x)
@param type integration type (adaptive, non-adaptive, etc..) @param type integration type (adaptive, non-adaptive, etc..)
@param absTol desired absolute Error @param absTol desired absolute Error
@param relTol desired relative Error @param relTol desired relative Error
@param size maximum number of sub-intervals @param size maximum number of sub-intervals
@param rule Gauss-Kronrod integration rule (only for GSL ADAPTIVE ty pe) @param rule Gauss-Kronrod integration rule (only for GSL ADAPTIVE ty pe)
*/ */
#ifdef LATER
template<class Function> template<class Function>
explicit explicit
IntegratorOneDim(Function f, IntegrationOneDim::Type type = IntegrationO neDim::kADAPTIVE, double absTol = 1.E-9, double relTol = 1E-6, unsigned int size = 1000, int rule = 3) { IntegratorOneDim(Function & f, IntegrationOneDim::Type type = Integratio nOneDim::kADAPTIVE, double absTol = 1.E-9, double relTol = 1E-6, unsigned i nt size = 1000, int rule = 3) {
fIntegrator = CreateIntegrator(type, absTol, relTol, size, rule); fIntegrator = CreateIntegrator(type, absTol, relTol, size, rule);
SetFunction(f); SetFunction(f);
} }
#endif
/// destructor (will delete contained pointer) /// destructor (will delete contained pointer)
virtual ~IntegratorOneDim() { virtual ~IntegratorOneDim() {
if (fIntegrator) delete fIntegrator; if (fIntegrator) delete fIntegrator;
} }
// disable copy constructur and assignment operator // disable copy constructur and assignment operator
private: private:
IntegratorOneDim(const IntegratorOneDim &) {} IntegratorOneDim(const IntegratorOneDim &) {}
skipping to change at line 150 skipping to change at line 151
// template methods for generic functors // template methods for generic functors
/** /**
method to set the a generic integration function method to set the a generic integration function
@param f integration function. The function type must implement the a ssigment operator, <em> double operator() ( double x ) </em> @param f integration function. The function type must implement the a ssigment operator, <em> double operator() ( double x ) </em>
*/ */
template<class Function> template<class Function>
inline void SetFunction(const Function & f); inline void SetFunction(Function & f);
/** /**
set one dimensional function for 1D integration set one dimensional function for 1D integration
*/ */
void SetFunction (const IGenFunction &f, bool copy = false) { void SetFunction (const IGenFunction &f, bool copy = false) {
if (fIntegrator) fIntegrator->SetFunction(f,copy); if (!fIntegrator) return;
if (copy) {
fFunc = std::auto_ptr<IGenFunction>(f.Clone() );
fIntegrator->SetFunction(*fFunc);
return;
}
fIntegrator->SetFunction(f);
} }
/** /**
Set integration function from a multi-dim function type. Set integration function from a multi-dim function type.
Can be used in case of having 1D function implementing the generic in terface Can be used in case of having 1D function implementing the generic in terface
@param f integration function @param f integration function
@param icoord index of coordinate on which the intergation is perfor @param icoord index of coordinate on which the integration is perfor
med med
@param x array of the passed variables values. In case of dim=1 is @param x array of the passed variables values. In case of dim=1 a 0
not required can be passed
*/ */
void SetFunction(const IMultiGenFunction &f, unsigned int icoord = 0, co nst double * x = 0); void SetFunction(const IMultiGenFunction &f, unsigned int icoord , const double * x );
// integration methods using a function // integration methods using a function
/** /**
evaluate the Integral of a function f over the defined interval (a,b ) evaluate the Integral of a function f over the defined interval (a,b )
@param f integration function. The function type must be a C++ calla ble object implementing operator()(double x) @param f integration function. The function type must be a C++ calla ble object implementing operator()(double x)
@param a lower value of the integration interval @param a lower value of the integration interval
@param b upper value of the integration interval @param b upper value of the integration interval
*/ */
template<class Function> template<class Function>
double Integral(const Function & f, double a, double b); double Integral(Function & f, double a, double b);
/** /**
evaluate the Integral of a function f over the defined interval (a,b ) evaluate the Integral of a function f over the defined interval (a,b )
@param f integration function. The function type must implement the mathlib::IGenFunction interface @param f integration function. The function type must implement the mathlib::IGenFunction interface
@param a lower value of the integration interval @param a lower value of the integration interval
@param b upper value of the integration interval @param b upper value of the integration interval
*/ */
double Integral(const IGenFunction & f, double a, double b) { double Integral(const IGenFunction & f, double a, double b) {
SetFunction(f,false); SetFunction(f,false);
return Integral(a,b); return Integral(a,b);
} }
/** /**
evaluate the Integral of a function f over the infinite interval (-in f,+inf) evaluate the Integral of a function f over the infinite interval (-in f,+inf)
@param f integration function. The function type must be a C++ calla ble object implementing operator()(double x) @param f integration function. The function type must be a C++ calla ble object implementing operator()(double x)
*/ */
template<class Function> // template<class Function>
double Integral(const Function & f); // double Integral(const Function & f);
/** /**
evaluate the Integral of a function f over the infinite interval (-in f,+inf) evaluate the Integral of a function f over the infinite interval (-in f,+inf)
@param f integration function. The function type must implement the m athlib::IGenFunction interface @param f integration function. The function type must implement the m athlib::IGenFunction interface
*/ */
double Integral(const IGenFunction & f) { double Integral(const IGenFunction & f) {
SetFunction(f,false); SetFunction(f,false);
return Integral(); return Integral();
} }
/** /**
evaluate the Integral of a function f over the semi-infinite interval (a,+inf) evaluate the Integral of a function f over the semi-infinite interval (a,+inf)
@param f integration function. The function type must be a C++ callab le object implementing operator()(double x) @param f integration function. The function type must be a C++ callab le object implementing operator()(double x)
@param a lower value of the integration interval @param a lower value of the integration interval
*/ */
template<class Function> // template<class Function>
double IntegralUp(const Function & f, double a); // double IntegralUp(Function & f, double a);
/** /**
evaluate the Integral of a function f over the semi-infinite interval (a,+inf) evaluate the Integral of a function f over the semi-infinite interval (a,+inf)
@param f integration function. The function type must implement the m athlib::IGenFunction interface @param f integration function. The function type must implement the m athlib::IGenFunction interface
@param a lower value of the integration interval @param a lower value of the integration interval
*/ */
double IntegralUp(const IGenFunction & f, double a ) { double IntegralUp(const IGenFunction & f, double a ) {
SetFunction(f,false); SetFunction(f,false);
return IntegralUp(a); return IntegralUp(a);
} }
/** /**
evaluate the Integral of a function f over the over the semi-infinite interval (-inf,b) evaluate the Integral of a function f over the over the semi-infinite interval (-inf,b)
@param f integration function. The function type must be a C++ callab le object implementing operator()(double x) @param f integration function. The function type must be a C++ callab le object implementing operator()(double x)
@param b upper value of the integration interval @param b upper value of the integration interval
*/ */
template<class Function> // template<class Function>
double IntegralLow(const Function & f, double b); // double IntegralLow(Function & f, double b);
/** /**
evaluate the Integral of a function f over the over the semi-infinite interval (-inf,b) evaluate the Integral of a function f over the over the semi-infinite interval (-inf,b)
@param f integration function. The function type must implement the m athlib::IGenFunction interface @param f integration function. The function type must implement the m athlib::IGenFunction interface
@param b upper value of the integration interval @param b upper value of the integration interval
*/ */
double IntegralLow(const IGenFunction & f, double b ) { double IntegralLow(const IGenFunction & f, double b ) {
SetFunction(f,false); SetFunction(f,false);
return IntegralLow(b); return IntegralLow(b);
} }
/** /**
evaluate the Integral of a function f with known singular points over the defined Integral (a,b) evaluate the Integral of a function f with known singular points over the defined Integral (a,b)
@param f integration function. The function type must be a C++ callab le object implementing operator()(double x) @param f integration function. The function type must be a C++ callab le object implementing operator()(double x)
@param pts vector containing both the function singular points and th e lower/upper edges of the interval. The vector must have as first element the lower edge of the integration Integral ( \a a) and last element the upp er value. @param pts vector containing both the function singular points and th e lower/upper edges of the interval. The vector must have as first element the lower edge of the integration Integral ( \a a) and last element the upp er value.
*/ */
template<class Function> template<class Function>
double Integral(const Function & f, const std::vector<double> & pts ); double Integral(Function & f, const std::vector<double> & pts );
/** /**
evaluate the Integral of a function f with known singular points over the defined Integral (a,b) evaluate the Integral of a function f with known singular points over the defined Integral (a,b)
@param f integration function. The function type must implement the m athlib::IGenFunction interface @param f integration function. The function type must implement the m athlib::IGenFunction interface
@param pts vector containing both the function singular points and th e lower/upper edges of the interval. The vector must have as first element the lower edge of the integration Integral ( \a a) and last element the upp er value. @param pts vector containing both the function singular points and th e lower/upper edges of the interval. The vector must have as first element the lower edge of the integration Integral ( \a a) and last element the upp er value.
*/ */
double Integral(const IGenFunction & f, const std::vector<double> & pts ) { double Integral(const IGenFunction & f, const std::vector<double> & pts ) {
SetFunction(f,false); SetFunction(f,false);
return Integral(pts); return Integral(pts);
skipping to change at line 273 skipping to change at line 279
/** /**
evaluate the Cauchy principal value of the integral of a function f over the defined interval (a,b) with a singularity at c evaluate the Cauchy principal value of the integral of a function f over the defined interval (a,b) with a singularity at c
@param f integration function. The function type must be a C++ callab le object implementing operator()(double x) @param f integration function. The function type must be a C++ callab le object implementing operator()(double x)
@param a lower value of the integration interval @param a lower value of the integration interval
@param b upper value of the integration interval @param b upper value of the integration interval
@param c position of singularity @param c position of singularity
*/ */
template<class Function> template<class Function>
double IntegralCauchy(const Function & f, double a, double b, double c); double IntegralCauchy(Function & f, double a, double b, double c);
/** /**
evaluate the Cauchy principal value of the integral of a function f over the defined interval (a,b) with a singularity at c evaluate the Cauchy principal value of the integral of a function f over the defined interval (a,b) with a singularity at c
@param f integration function. The function type must implement the mathlib::IGenFunction interface @param f integration function. The function type must implement the mathlib::IGenFunction interface
@param a lower value of the integration interval @param a lower value of the integration interval
@param b upper value of the integration interval @param b upper value of the integration interval
@param c position of singularity @param c position of singularity
*/ */
double IntegralCauchy(const IGenFunction & f, double a, double b, double c) { double IntegralCauchy(const IGenFunction & f, double a, double b, double c) {
skipping to change at line 386 skipping to change at line 392
*/ */
VirtualIntegratorOneDim * GetIntegrator() { return fIntegrator; } VirtualIntegratorOneDim * GetIntegrator() { return fIntegrator; }
protected: protected:
VirtualIntegratorOneDim * CreateIntegrator(IntegrationOneDim::Type type , double absTol, double relTol, unsigned int size, int rule); VirtualIntegratorOneDim * CreateIntegrator(IntegrationOneDim::Type type , double absTol, double relTol, unsigned int size, int rule);
private: private:
VirtualIntegratorOneDim * fIntegrator; // pointer to integrator interf ace class VirtualIntegratorOneDim * fIntegrator; // pointer to integrator interf ace class
std::auto_ptr<IGenFunction> fFunc; // pointer to owned function
}; };
typedef IntegratorOneDim Integrator; typedef IntegratorOneDim Integrator;
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#ifndef __CINT__ #ifndef __CINT__
#ifndef ROOT_Math_WrappedFunction #ifndef ROOT_Math_WrappedFunction
#include "Math/WrappedFunction.h" #include "Math/WrappedFunction.h"
#endif #endif
template<class Function> template<class Function>
void ROOT::Math::IntegratorOneDim::SetFunction(const Function & f) { void ROOT::Math::IntegratorOneDim::SetFunction( Function & f) {
ROOT::Math::WrappedFunction<const Function &> wf(f); ::ROOT::Math::WrappedFunction<Function &> wf(f);
// need to copy the wrapper function, the instance created here will be d eleted after SetFunction() // need to copy the wrapper function, the instance created here will be d eleted after SetFunction()
if (fIntegrator) fIntegrator->SetFunction(wf, true); SetFunction(wf, true);
} }
template<class Function> template<class Function>
double ROOT::Math::IntegratorOneDim::Integral(const Function & f, double a, double ROOT::Math::IntegratorOneDim::Integral(Function & f, double a, doubl
double b) { e b) {
ROOT::Math::WrappedFunction<const Function &> wf(f); ::ROOT::Math::WrappedFunction< Function &> wf(f);
SetFunction(wf,false); // no copy is needed in this case SetFunction(wf,false); // no copy is needed in this case
return Integral(a,b); return Integral(a,b);
} }
template<class Function> // remove because can create ambiguities
double ROOT::Math::IntegratorOneDim::Integral(const Function & f) {
ROOT::Math::WrappedFunction<const Function &> wf(f);
SetFunction(wf,false); // no copy is needed in this case
return Integral();
}
template<class Function>
double ROOT::Math::IntegratorOneDim::IntegralLow(const Function & f, doubl
e x) {
ROOT::Math::WrappedFunction<const Function &> wf(f);
SetFunction(wf,false); // no copy is needed in this case
return IntegralLow(x);
}
template<class Function> // template<class Function>
double ROOT::Math::IntegratorOneDim::IntegralUp(const Function & f, double // double ROOT::Math::IntegratorOneDim::Integral(const Function & f) {
x) { // ROOT::Math::WrappedFunction<const Function &> wf(f);
ROOT::Math::WrappedFunction<const Function &> wf(f); // SetFunction(wf,false); // no copy is needed in this case
SetFunction(wf,false); // no copy is needed in this case // return Integral();
return IntegralUp(x); // }
}
// template<class Function>
// double ROOT::Math::IntegratorOneDim::IntegralLow(Function & f, double x
) {
// ROOT::Math::WrappedFunction< Function &> wf(f);
// SetFunction(wf,false); // no copy is needed in this case
// return IntegralLow(x);
// }
// template<class Function>
// double ROOT::Math::IntegratorOneDim::IntegralUp(Function & f, double x)
{
// ROOT::Math::WrappedFunction<Function &> wf(f);
// SetFunction(wf,false); // no copy is needed in this case
// return IntegralUp(x);
// }
template<class Function> template<class Function>
double ROOT::Math::IntegratorOneDim::Integral(const Function & f, const std double ROOT::Math::IntegratorOneDim::Integral(Function & f, const std::vect
::vector<double> & pts) { or<double> & pts) {
ROOT::Math::WrappedFunction<const Function &> wf(f); ::ROOT::Math::WrappedFunction<Function &> wf(f);
SetFunction(wf,false); // no copy is needed in this case SetFunction(wf,false); // no copy is needed in this case
return Integral(pts); return Integral(pts);
} }
template<class Function> template<class Function>
double ROOT::Math::IntegratorOneDim::IntegralCauchy(const Function & f, dou double ROOT::Math::IntegratorOneDim::IntegralCauchy(Function & f, double a,
ble a, double b, double c) { double b, double c) {
ROOT::Math::WrappedFunction<const Function & > wf(f); ::ROOT::Math::WrappedFunction<Function & > wf(f);
SetFunction(wf,false); // no copy is needed in this case SetFunction(wf,false); // no copy is needed in this case
return IntegralCauchy(a,b,c); return IntegralCauchy(a,b,c);
} }
#endif #endif
#endif /* ROOT_Math_Integrator */ #endif /* ROOT_Math_Integrator */
 End of changes. 27 change blocks. 
58 lines changed or deleted 67 lines changed or added


 IntegratorMultiDim.h   IntegratorMultiDim.h 
skipping to change at line 36 skipping to change at line 36
#endif #endif
#ifndef __CINT__ #ifndef __CINT__
#ifndef ROOT_Math_WrappedFunction #ifndef ROOT_Math_WrappedFunction
#include "Math/WrappedFunction.h" #include "Math/WrappedFunction.h"
#endif #endif
#endif #endif
#include <memory>
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//_________________________________________________________________________ __________________ //_________________________________________________________________________ __________________
/** /**
User class for performing multidimensional integration User class for performing multidimensional integration
By default uses adaptive multi-dimensional integration using the algorit hm from Genz Mallik By default uses adaptive multi-dimensional integration using the algorit hm from Genz Mallik
implemented in the class ROOT::Math::AdaptiveIntegratorMultiDim otherwis e it can uses via the implemented in the class ROOT::Math::AdaptiveIntegratorMultiDim otherwis e it can uses via the
plug-in manager the MC integration class (ROOT::Math::GSLMCIntegration) from MathMore. plug-in manager the MC integration class (ROOT::Math::GSLMCIntegration) from MathMore.
skipping to change at line 81 skipping to change at line 83
@param absTol desired absolute Error @param absTol desired absolute Error
@param relTol desired relative Error @param relTol desired relative Error
@param ncall number of function calls (apply only to MC integratioo n methods) @param ncall number of function calls (apply only to MC integratioo n methods)
*/ */
explicit explicit
IntegratorMultiDim(const IMultiGenFunction &f, IntegrationMultiDim::Type type = IntegrationMultiDim::kADAPTIVE, double absTol = 1.E-9, double relTo l = 1E-6, unsigned int ncall = 100000) { IntegratorMultiDim(const IMultiGenFunction &f, IntegrationMultiDim::Type type = IntegrationMultiDim::kADAPTIVE, double absTol = 1.E-9, double relTo l = 1E-6, unsigned int ncall = 100000) {
fIntegrator = CreateIntegrator(type, absTol, relTol, ncall); fIntegrator = CreateIntegrator(type, absTol, relTol, ncall);
SetFunction(f); SetFunction(f);
} }
// remove template constructor since is ambigous
/** Template Constructor of multi dimensional Integrator passing a gene ric function. By default uses the adaptive integration method /** Template Constructor of multi dimensional Integrator passing a gene ric function. By default uses the adaptive integration method
@param f integration function (generic function implementin ope rator()(const double *) @param f integration function (generic function implementin ope rator()(const double *)
@param dim function dimension @param dim function dimension
@param type integration type (adaptive, MC methods, etc..) @param type integration type (adaptive, MC methods, etc..)
@param absTol desired absolute Error @param absTol desired absolute Error
@param relTol desired relative Error @param relTol desired relative Error
@param ncall number of function calls (apply only to MC integratioo n methods) @param ncall number of function calls (apply only to MC integratioo n methods)
*/ */
#ifdef LATER // this is ambigous
template<class Function> // template<class Function>
IntegratorMultiDim(const Function & f, unsigned int dim, IntegrationMult // IntegratorMultiDim(Function & f, unsigned int dim, IntegrationMultiDi
iDim::Type type = IntegrationMultiDim::kADAPTIVE, double absTol = 1.E-9, do m::Type type = IntegrationMultiDim::kADAPTIVE, double absTol = 1.E-9, doubl
uble relTol = 1E-6, unsigned int ncall = 100000) { e relTol = 1E-6, unsigned int ncall = 100000) {
fIntegrator = CreateIntegrator(type, absTol, relTol, ncall); // fIntegrator = CreateIntegrator(type, absTol, relTol, ncall);
SetFunction(f, dim); // SetFunction(f, dim);
} // }
#endif
/// destructor /// destructor
virtual ~IntegratorMultiDim() { virtual ~IntegratorMultiDim() {
if (fIntegrator) delete fIntegrator; if (fIntegrator) delete fIntegrator;
} }
// disable copy constructur and assignment operator // disable copy constructur and assignment operator
private: private:
IntegratorMultiDim(const IntegratorMultiDim &) {} IntegratorMultiDim(const IntegratorMultiDim &) {}
skipping to change at line 126 skipping to change at line 129
} }
/// evaluate the integral passing a new function /// evaluate the integral passing a new function
double Integral(const IMultiGenFunction &f, const double* xmin, const do uble * xmax) { double Integral(const IMultiGenFunction &f, const double* xmin, const do uble * xmax) {
SetFunction(f); SetFunction(f);
return Integral(xmin,xmax); return Integral(xmin,xmax);
} }
/// evaluate the integral passing a new generic function /// evaluate the integral passing a new generic function
template<class Function> template<class Function>
double Integral(Function f, unsigned int dim, const double* xmin, const double Integral(Function & f , unsigned int dim, const double* xmin, con
double * xmax) { st double * xmax) {
SetFunction(f,dim); SetFunction<Function>(f,dim);
return Integral(xmin, xmax); return Integral(xmin, xmax);
} }
/** /**
set integration function using a generic function implementing the o perator()(double *x) set integration function using a generic function implementing the o perator()(double *x)
The dimension of the function is in this case required The dimension of the function is in this case required
*/ */
template <class Function> template <class Function>
void SetFunction(const Function & f, unsigned int dim) { void SetFunction(Function & f, unsigned int dim) {
ROOT::Math::WrappedMultiFunction<Function> wf(f, dim); fFunc = std::auto_ptr<IMultiGenFunction>(new WrappedMultiFunction<Fu
SetFunction(wf); nction &> (f, dim) );
fIntegrator->SetFunction(*fFunc);
} }
// set the function without cloning it
void SetFunction(const IMultiGenFunction &f) { void SetFunction(const IMultiGenFunction &f) {
if (fIntegrator) fIntegrator->SetFunction(f); if (fIntegrator) fIntegrator->SetFunction(f);
} }
/// return result of last integration /// return result of last integration
double Result() const { return fIntegrator == 0 ? 0 : fIntegrator->Resul t(); } double Result() const { return fIntegrator == 0 ? 0 : fIntegrator->Resul t(); }
/// return integration error /// return integration error
double Error() const { return fIntegrator == 0 ? 0 : fIntegrator->Error( ); } double Error() const { return fIntegrator == 0 ? 0 : fIntegrator->Error( ); }
/// return the Error Status of the last Integral calculation /// return the Error Status of the last Integral calculation
int Status() const { return fIntegrator == 0 ? -1 : fIntegrator->Status( ); } int Status() const { return fIntegrator == 0 ? -1 : fIntegrator->Status( ); }
skipping to change at line 172 skipping to change at line 177
/// return a pointer to integrator object /// return a pointer to integrator object
VirtualIntegratorMultiDim * GetIntegrator() { return fIntegrator; } VirtualIntegratorMultiDim * GetIntegrator() { return fIntegrator; }
protected: protected:
VirtualIntegratorMultiDim * CreateIntegrator(IntegrationMultiDim::Type t ype , double absTol, double relTol, unsigned int ncall); VirtualIntegratorMultiDim * CreateIntegrator(IntegrationMultiDim::Type t ype , double absTol, double relTol, unsigned int ncall);
private: private:
VirtualIntegratorMultiDim * fIntegrator; // pointer to multi-dimensi onal integrator base class VirtualIntegratorMultiDim * fIntegrator; // pointer to multi-dimensi onal integrator base class
std::auto_ptr<IMultiGenFunction> fFunc; // pointer to owned functi on
}; };
}//namespace Math }//namespace Math
}//namespace ROOT }//namespace ROOT
#endif /* ROOT_Math_IntegratorMultiDim */ #endif /* ROOT_Math_IntegratorMultiDim */
 End of changes. 8 change blocks. 
16 lines changed or deleted 23 lines changed or added


 Kernel.h   Kernel.h 
// @(#)root/reflex:$Id: Kernel.h 29355 2009-07-06 17:34:05Z axel $ // @(#)root/reflex:$Id: Kernel.h 32267 2010-02-08 10:24:46Z 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-2010, 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.
#ifndef Reflex_Kernel #ifndef Reflex_Kernel
#define Reflex_Kernel #define Reflex_Kernel
skipping to change at line 220 skipping to change at line 220
/** The Reflex instance ensures the setup of the databases /** The Reflex instance ensures the setup of the databases
and provides access to some general information about the Reflex packag e */ and provides access to some general information about the Reflex packag e */
class RFLX_API Instance { class RFLX_API Instance {
public: public:
/** default constructor */ /** default constructor */
Instance(); Instance();
/** destructor */ /** destructor */
~Instance(); ~Instance();
enum EState {
kUninitialized, // before instance construction
kInitializing, // the instance is being constructed
kActive, // the instance is running
kTearingDown, // the instance is being destructed
kHasShutDown, // the instance has been destructed
kNumStates
};
/** return true if Reflex has shutdown (end of process) */ /** return true if Reflex has shutdown (end of process) */
static bool HasShutdown(); static bool HasShutdown();
/** return Reflex instance state */
static EState State();
void Shutdown();
private: private:
Instance(Instance * createSingleton); Instance(Instance * createSingleton);
static Instance& CreateReflexInstance(); static Instance& CreateReflexInstance();
static Instance* fgSingleton; static Instance* fgSingleton; // class singleton
static bool fgHasShutdown; static EState fgState; // singleton's state
void Shutdown();
/** default constructor */
}; // struct Reflex }; // struct Reflex
/** the Name of the package - used for messages */ /** the Name of the package - used for messages */
RFLX_API const std::string& Argv0(); // returns "Reflex"; RFLX_API const std::string& Argv0(); // returns "Reflex";
// these defines are used for the modifiers they are used in the following // these defines are used for the modifiers they are used in the following
// classes // classes
// BA = BASE // BA = BASE
// CL = CLASS // CL = CLASS
// FU = FUNCTION // FU = FUNCTION
 End of changes. 5 change blocks. 
6 lines changed or deleted 18 lines changed or added


 LikelihoodInterval.h   LikelihoodInterval.h 
// @(#)root/roostats:$Id: LikelihoodInterval.h 31276 2009-11-18 15:06:42Z m oneta $ // @(#)root/roostats:$Id: LikelihoodInterval.h 33206 2010-04-26 09:59:06Z 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_LikelihoodInterval #ifndef RooStats_LikelihoodInterval
skipping to change at line 71 skipping to change at line 71
// return confidence level // return confidence level
virtual Double_t ConfidenceLevel() const {return fConfidenceLevel;} virtual Double_t ConfidenceLevel() const {return fConfidenceLevel;}
// return a cloned list of parameters of interest. User manages the return object // return a cloned list of parameters of interest. User manages the return object
virtual RooArgSet* GetParameters() const; virtual RooArgSet* GetParameters() const;
// check if parameters are correct (i.e. they are the POI of this int erval) // check if parameters are correct (i.e. they are the POI of this int erval)
Bool_t CheckParameters(const RooArgSet&) const ; Bool_t CheckParameters(const RooArgSet&) const ;
// return the lower bound of the interval on a given parameter // return the lower bound of the interval on a given parameter
Double_t LowerLimit(const RooRealVar& param) ; Double_t LowerLimit(const RooRealVar& param) { bool ok; return LowerL
imit(param,ok); }
Double_t LowerLimit(const RooRealVar& param, bool & status) ;
// return the upper bound of the interval on a given parameter // return the upper bound of the interval on a given parameter
Double_t UpperLimit(const RooRealVar& param) ; Double_t UpperLimit(const RooRealVar& param) { bool ok; return UpperL
imit(param,ok); }
Double_t UpperLimit(const RooRealVar& param, bool & status) ;
// find both lower and upper interval boundaries for a given paramete r // find both lower and upper interval boundaries for a given paramete r
// retun false if the bounds have not been found // retun false if the bounds have not been found
Bool_t FindLimits(const RooRealVar & param, double & lower, double &u pper); Bool_t FindLimits(const RooRealVar & param, double & lower, double &u pper);
/** /**
return the 2D-contour points for the given subset of parameters return the 2D-contour points for the given subset of parameters
by default make the contour using 30 points. The User has to preal locate the x and y array which will return by default make the contour using 30 points. The User has to preal locate the x and y array which will return
the set of x and y points defining the contour. the set of x and y points defining the contour.
The return value of the funciton specify the number of contour poi nt found. The return value of the funciton specify the number of contour poi nt found.
 End of changes. 3 change blocks. 
3 lines changed or deleted 7 lines changed or added


 LogLikelihoodFCN.h   LogLikelihoodFCN.h 
// @(#)root/mathcore:$Id: LogLikelihoodFCN.h 30539 2009-10-01 13:13:09Z mon eta $ // @(#)root/mathcore:$Id: LogLikelihoodFCN.h 32508 2010-03-09 10:51:11Z rdm $
// 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 83 skipping to change at line 83
Destructor (no operations) Destructor (no operations)
*/ */
virtual ~LogLikelihoodFCN () {} virtual ~LogLikelihoodFCN () {}
private: private:
// usually copying is non trivial, so we make this unaccessible // usually copying is non trivial, so we make this unaccessible
/** /**
Dummy Copy constructor (private) Dummy Copy constructor (private)
*/ */
LogLikelihoodFCN(const LogLikelihoodFCN &) {} LogLikelihoodFCN(const LogLikelihoodFCN &);
/** /**
Dummy Assignment operator (private) Dummy Assignment operator (private)
*/ */
LogLikelihoodFCN & operator = (const LogLikelihoodFCN & rhs) { LogLikelihoodFCN & operator = (const LogLikelihoodFCN &);
return *this;
}
public: public:
/// clone the function (need to return Base for Windows) /// clone the function (need to return Base for Windows)
virtual BaseFunction * Clone() const { return new LogLikelihoodFCN(fDat a,fFunc); } virtual BaseFunction * Clone() const { return new LogLikelihoodFCN(fDat a,fFunc); }
//using BaseObjFunction::operator(); //using BaseObjFunction::operator();
// effective points used in the fit // effective points used in the fit
virtual unsigned int NFitPoints() const { return fNEffPoints; } virtual unsigned int NFitPoints() const { return fNEffPoints; }
 End of changes. 3 change blocks. 
5 lines changed or deleted 3 lines changed or added


 MemberBase.h   MemberBase.h 
// @(#)root/reflex:$Id: MemberBase.h 29288 2009-07-01 13:03:35Z axel $ // @(#)root/reflex:$Id: MemberBase.h 32228 2010-02-05 16:13:09Z 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-2010, 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.
#ifndef Reflex_MemberBase #ifndef Reflex_MemberBase
#define Reflex_MemberBase #define Reflex_MemberBase
// Include files // Include files
#include "Reflex/Kernel.h" #include "Reflex/Kernel.h"
#include "Reflex/PropertyList.h" #include "Reflex/PropertyList.h"
#include "Reflex/Type.h" #include "Reflex/Type.h"
#include "Reflex/Scope.h" #include "Reflex/Scope.h"
#include "Reflex/internal/LiteralString.h"
namespace Reflex { namespace Reflex {
// forward declarations // forward declarations
class Object; class Object;
class DictionaryGenerator; class DictionaryGenerator;
/** /**
* @class MemberBase MemberBase.h Reflex/internal/MemberBase.h * @class MemberBase MemberBase.h Reflex/internal/MemberBase.h
* @author Stefan Roiser * @author Stefan Roiser
* @date 24/11/2003 * @date 24/11/2003
skipping to change at line 279 skipping to change at line 280
* @link aggregation * @link aggregation
* @clientCardinality 1 * @clientCardinality 1
*/ */
Type fType; Type fType;
/** all modifiers of the member */ /** all modifiers of the member */
unsigned int fModifiers; unsigned int fModifiers;
private: private:
/** name of member */ /** name of member */
std::string fName; LiteralString fName;
/** /**
* scope of the member * scope of the member
* @label member scope * @label member scope
* @link aggregation * @link aggregation
* @supplierCardinality 1 * @supplierCardinality 1
* @clientCardinality 1 * @clientCardinality 1
*/ */
mutable mutable
Scope fScope; Scope fScope;
skipping to change at line 547 skipping to change at line 548
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline std::string inline std::string
Reflex::MemberBase::Name(unsigned int mod) const { Reflex::MemberBase::Name(unsigned int mod) const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
if (0 != (mod & (SCOPED | S))) { if (0 != (mod & (SCOPED | S))) {
std::string s(DeclaringScope().Name(mod)); std::string s(DeclaringScope().Name(mod));
if (!DeclaringScope().IsTopScope()) { if (!DeclaringScope().IsTopScope()) {
s += "::"; s += "::";
} }
s += fName; s += fName.c_str();
return s; return s;
} }
return fName; return fName.c_str();
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline const char* inline const char*
Reflex::MemberBase::Name_c_str() const { Reflex::MemberBase::Name_c_str() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
return fName.c_str(); return fName.c_str();
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
 End of changes. 6 change blocks. 
5 lines changed or deleted 6 lines changed or added


 ModelConfig.h   ModelConfig.h 
// @(#)root/roostats:$Id: ModelConfig.h 31276 2009-11-18 15:06:42Z moneta $ // @(#)root/roostats:$Id: ModelConfig.h 33228 2010-04-27 07:09:42Z 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_ModelConfig #ifndef ROOSTATS_ModelConfig
skipping to change at line 90 skipping to change at line 90
virtual void SetPriorPdf(RooAbsPdf& pdf) { virtual void SetPriorPdf(RooAbsPdf& pdf) {
ImportPdfInWS(pdf); ImportPdfInWS(pdf);
SetPriorPdf( pdf.GetName() ); SetPriorPdf( pdf.GetName() );
} }
// specify the parameters of interest in the interval // specify the parameters of interest in the interval
virtual void SetParameters(RooArgSet& set) { virtual void SetParameters(RooArgSet& set) {
fPOIName=std::string(GetName()) + "_POI"; fPOIName=std::string(GetName()) + "_POI";
DefineSetInWS(fPOIName.c_str(), set); DefineSetInWS(fPOIName.c_str(), set);
} }
virtual void SetParametersOfInterest(RooArgSet& set) {
SetParameters(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) { virtual void SetNuisanceParameters(RooArgSet& set) {
fNuisParamsName=std::string(GetName()) + "_NuisParams"; fNuisParamsName=std::string(GetName()) + "_NuisParams";
DefineSetInWS(fNuisParamsName.c_str(), set); DefineSetInWS(fNuisParamsName.c_str(), set);
} }
// specify the constraint parameters
virtual void SetConstraintParameters(RooArgSet& set) {
fConstrParamsName=std::string(GetName()) + "_ConstrainedParams";
DefineSetInWS(fConstrParamsName.c_str(), set);
}
// specify the observables
virtual void SetObservables(RooArgSet& set) {
fObservablesName=std::string(GetName()) + "_Observables";
DefineSetInWS(fObservablesName.c_str(), set);
}
// specify the conditional observables
virtual void SetConditionalObservables(RooArgSet& set) {
fConditionalObsName=std::string(GetName()) + "_ConditionalObservables
";
DefineSetInWS(fConditionalObsName.c_str(), set);
}
// set parameter values for the null if using a common PDF // set parameter values for the null if using a common PDF
virtual void SetSnapshot(RooArgSet& set) { virtual void SetSnapshot(RooArgSet& set) {
fSnapshotName=std::string(GetName()) + "_Snapshot"; fSnapshotName=std::string(GetName()) + "_Snapshot";
DefineSetInWS(fSnapshotName.c_str(), set); DefineSetInWS(fSnapshotName.c_str(), set);
} }
// 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) { virtual void SetPdf(const char* name) {
if(!fWS){ if(!fWS){
coutE(ObjectHandling) << "workspace not set" << endl; coutE(ObjectHandling) << "workspace not set" << endl;
skipping to change at line 151 skipping to change at line 172
/// get model PDF (return NULL if pdf has not been specified or does not exist) /// get model PDF (return NULL if pdf has not been specified or does not exist)
RooAbsPdf * GetPdf() const { return (fWS) ? fWS->pdf(fPdfName.c_str()) : 0; } RooAbsPdf * GetPdf() const { return (fWS) ? fWS->pdf(fPdfName.c_str()) : 0; }
/// get RooArgSet containing the parameter of interest (return NULL if n ot existing) /// get RooArgSet containing the parameter of interest (return NULL if n ot existing)
const RooArgSet * GetParametersOfInterest() const { return (fWS) ? fWS-> set(fPOIName.c_str()) : 0; } const RooArgSet * GetParametersOfInterest() const { return (fWS) ? fWS-> set(fPOIName.c_str()) : 0; }
/// get RooArgSet containing the nuisance parameters (return NULL if not existing) /// get RooArgSet containing the nuisance parameters (return NULL if not existing)
const RooArgSet * GetNuisanceParameters() const { return (fWS) ? fWS->se t(fNuisParamsName.c_str()) : 0; } const RooArgSet * GetNuisanceParameters() const { return (fWS) ? fWS->se t(fNuisParamsName.c_str()) : 0; }
/// get RooArgSet containing the constraint parameters (return NULL if n ot existing) /// get RooArgSet containing the constraint parameters (return NULL if n ot existing)
const RooArgSet * GetConstraintParameters() const { return (fWS) ? fWS-> set(fConstrainedParamName.c_str()) : 0; } const RooArgSet * GetConstraintParameters() const { return (fWS) ? fWS-> set(fConstrParamsName.c_str()) : 0; }
/// get parameters prior pdf (return NULL if not existing) /// get parameters prior pdf (return NULL if not existing)
RooAbsPdf * GetPriorPdf() const { return (fWS) ? fWS->pdf(fPriorPdfName. c_str()) : 0; } RooAbsPdf * GetPriorPdf() const { return (fWS) ? fWS->pdf(fPriorPdfName. c_str()) : 0; }
/// get RooArgSet for observales (return NULL if not existing) /// get RooArgSet for observales (return NULL if not existing)
const RooArgSet * GetObservables() const { return (fWS) ? fWS->set(fObse rvablesName.c_str()) : 0; } const RooArgSet * GetObservables() const { return (fWS) ? fWS->set(fObse rvablesName.c_str()) : 0; }
/// get RooArgSet for conditional observales (return NULL if not existi ng) /// get RooArgSet for conditional observales (return NULL if not existi ng)
const RooArgSet * GetConditionalObservables() const { return (fWS) ? fWS ->set(fConditionalObservablesName.c_str()) : 0; } const RooArgSet * GetConditionalObservables() const { return (fWS) ? fWS ->set(fConditionalObsName.c_str()) : 0; }
/// get Proto data set (return NULL if not existing) /// get Proto data set (return NULL if not existing)
RooAbsData * GetProtoData() const { return (fWS) ? fWS->data(fProtoDat aName.c_str()) : 0; } RooAbsData * GetProtoData() const { return (fWS) ? fWS->data(fProtoDat aName.c_str()) : 0; }
/// get RooArgSet for parameters for a particular hypothesis (return NU LL if not existing) /// get RooArgSet for parameters for a particular hypothesis (return NU LL if not existing)
const RooArgSet * GetSnapshot() const { return (fWS) ? fWS->set(fSnapsho tName.c_str()) : 0; } const RooArgSet * GetSnapshot() const { return (fWS) ? fWS->set(fSnapsho tName.c_str()) : 0; }
const RooWorkspace * GetWS() const { return fWS; } const RooWorkspace * GetWS() const { return fWS; }
protected: protected:
skipping to change at line 189 skipping to change at line 210
void ImportDataInWS(RooAbsData & data); void ImportDataInWS(RooAbsData & data);
RooWorkspace* fWS; // a workspace that owns all the components to be use d by the calculator RooWorkspace* fWS; // a workspace that owns all the components to be use d by the calculator
Bool_t fOwnsWorkspace; Bool_t fOwnsWorkspace;
std::string fPdfName; // name of PDF in workspace std::string fPdfName; // name of PDF in workspace
std::string fDataName; // name of data set in workspace std::string fDataName; // name of data set in workspace
std::string fPOIName; // name for RooArgSet specifying parameters of int erest std::string fPOIName; // name for RooArgSet specifying parameters of int erest
std::string fNuisParamsName; // name for RooArgSet specifying nuisance p arameters std::string fNuisParamsName; // name for RooArgSet specifying nuisance p arameters
std::string fConstrainedParamName; // name for RooArgSet specifying cons trained parameters std::string fConstrParamsName; // name for RooArgSet specifying constrai ned parameters
std::string fPriorPdfName; // name for RooAbsPdf specifying a prior on t he parameters std::string fPriorPdfName; // name for RooAbsPdf specifying a prior on t he parameters
std::string fConditionalObservablesName; // name for RooArgSet specifyin g conditional observables std::string fConditionalObsName; // name for RooArgSet specifying condit ional observables
std::string fProtoDataName; // name for RooArgSet specifying dataset tha t should be used as protodata std::string fProtoDataName; // name for RooArgSet specifying dataset tha t should be used as protodata
std::string fSnapshotName; // name for RooArgSet that specifies a partic ular hypothesis std::string fSnapshotName; // name for RooArgSet that specifies a partic ular hypothesis
std::string fObservablesName; // name for RooArgSet specifying observabl e parameters. std::string fObservablesName; // name for RooArgSet specifying observabl e parameters.
ClassDef(ModelConfig,1) // A class that holds configuration information for a model using a workspace as a store ClassDef(ModelConfig,1) // A class that holds configuration information for a model using a workspace as a store
}; };
 End of changes. 7 change blocks. 
5 lines changed or deleted 27 lines changed or added


 PoissonLikelihoodFCN.h   PoissonLikelihoodFCN.h 
// @(#)root/mathcore:$Id: PoissonLikelihoodFCN.h 31763 2009-12-10 10:40:21Z moneta $ // @(#)root/mathcore:$Id: PoissonLikelihoodFCN.h 32508 2010-03-09 10:51:11Z rdm $
// 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 78 skipping to change at line 78
fNEffPoints(0), fNEffPoints(0),
fGrad ( std::vector<double> ( func.NPar() ) ) fGrad ( std::vector<double> ( func.NPar() ) )
{ } { }
/** /**
Destructor (no operations) Destructor (no operations)
*/ */
~PoissonLikelihoodFCN () {} ~PoissonLikelihoodFCN () {}
private: private:
// usually copying is non trivial, so we make this unaccessible // usually copying is non trivial, so we declare but don't implement the m
/** /**
Copy constructor Copy constructor
*/ */
PoissonLikelihoodFCN(const PoissonLikelihoodFCN &) {} PoissonLikelihoodFCN(const PoissonLikelihoodFCN &);
/** /**
Assignment operator Assignment operator
*/ */
PoissonLikelihoodFCN & operator = (const PoissonLikelihoodFCN & rhs) { r eturn *this; } PoissonLikelihoodFCN & operator = (const PoissonLikelihoodFCN &);
public: public:
/// clone the function (need to return Base for Windows) /// clone the function (need to return Base for Windows)
virtual BaseFunction * Clone() const { return new PoissonLikelihoodFCN( fData,fFunc); } virtual BaseFunction * Clone() const { return new PoissonLikelihoodFCN( fData,fFunc); }
// effective points used in the fit // effective points used in the fit
virtual unsigned int NFitPoints() const { return fNEffPoints; } virtual unsigned int NFitPoints() const { return fNEffPoints; }
/// i-th likelihood element and its gradient /// i-th likelihood element and its gradient
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 Polynomial.h   Polynomial.h 
// @(#)root/mathmore:$Id: Polynomial.h 24482 2008-06-23 15:33:08Z moneta $ // @(#)root/mathmore:$Id: Polynomial.h 32630 2010-03-17 09:59:26Z moneta $
// 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 38 skipping to change at line 38
// //
// Last update: Wed Nov 10 17:46:19 2004 // Last update: Wed Nov 10 17:46:19 2004
// //
#ifndef ROOT_Math_Polynomial #ifndef ROOT_Math_Polynomial
#define ROOT_Math_Polynomial #define ROOT_Math_Polynomial
#include <complex> #include <complex>
#include "Math/ParamFunction.h" #include "Math/ParamFunction.h"
#ifdef _WIN32 // #ifdef _WIN32
#pragma warning(disable : 4250) // #pragma warning(disable : 4250)
#endif // #endif
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//_________________________________________________________________________ ____________ //_________________________________________________________________________ ____________
/** /**
Parametric Function class describing polynomials of order n. Parametric Function class describing polynomials of order n.
<em>P(x) = p[0] + p[1]*x + p[2]*x**2 + ....... + p[n]*x**n</em> <em>P(x) = p[0] + p[1]*x + p[2]*x**2 + ....... + p[n]*x**n</em>
skipping to change at line 63 skipping to change at line 63
The class provides also the method to find the roots of the polynomial . The class provides also the method to find the roots of the polynomial .
It uses analytical methods up to quartic polynomials. It uses analytical methods up to quartic polynomials.
Implements both the Parameteric function interface and the gradient in terface Implements both the Parameteric function interface and the gradient in terface
since it provides the analytical gradient with respect to x since it provides the analytical gradient with respect to x
@ingroup ParamFunc @ingroup ParamFunc
*/ */
class Polynomial : public ParamFunction<IParamGradFunction>, class Polynomial : public ParamFunction<IParamGradFunction>,
public IGradientFunctionOneDim public IGradientOneDim
{ {
typedef ParamFunction<IParamGradFunction> ParFunc; typedef ParamFunction<IParamGradFunction> ParFunc;
public: public:
/** /**
Construct a Polynomial function of order n. Construct a Polynomial function of order n.
The number of Parameters is n+1. The number of Parameters is n+1.
*/ */
skipping to change at line 130 skipping to change at line 130
*/ */
const std::vector<std::complex <double> > & FindNumRoots(); const std::vector<std::complex <double> > & FindNumRoots();
/** /**
Order of Polynomial Order of Polynomial
*/ */
unsigned int Order() const { return fOrder; } unsigned int Order() const { return fOrder; }
IGenFunction * Clone() const; IGenFunction * Clone() const;
/**
Optimized method to evaluate at the same time the function value and
derivative at a point x.
Implement the interface specified bby ROOT::Math::IGradientOneDim.
In the case of polynomial there is no advantage to compute both at t
he same time
*/
void FdF (double x, double & f, double & df) const {
f = (*this)(x);
df = Derivative(x);
}
private: private:
double DoEvalPar ( double x, const double * p ) const ; double DoEvalPar ( double x, const double * p ) const ;
double DoDerivative (double x) const ; double DoDerivative (double x) const ;
double DoParameterDerivative(double x, const double * p, unsigned int ip ar) const; double DoParameterDerivative(double x, const double * p, unsigned int ip ar) const;
// cache order = number of params - 1) // cache order = number of params - 1)
unsigned int fOrder; unsigned int fOrder;
 End of changes. 4 change blocks. 
5 lines changed or deleted 17 lines changed or added


 RConfig.h   RConfig.h 
/* @(#)root/base:$Id: RConfig.h 30773 2009-10-16 15:10:47Z rdm $ */ /* @(#)root/base:$Id: RConfig.h 32142 2010-01-28 17:40:53Z 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 418 skipping to change at line 418
# define R__ANSISTREAM /* ANSI C++ Standard Library conformant */ # define R__ANSISTREAM /* ANSI C++ Standard Library conformant */
# endif # endif
# if __GNUC__ >= 3 && __GNUC_MINOR__ >=0 && __GNUC_MINOR__ < 8 # if __GNUC__ >= 3 && __GNUC_MINOR__ >=0 && __GNUC_MINOR__ < 8
# define R__SSTREAM /* use sstream or strstream header */ # define R__SSTREAM /* use sstream or strstream header */
# endif # endif
# if defined(__ia64__) && __GNUC__ < 3 /* gcc 2.9x (MINOR is 9!) * / # if defined(__ia64__) && __GNUC__ < 3 /* gcc 2.9x (MINOR is 9!) * /
# define R__VECNEWDELETE /* supports overloading of new[] and delet e[] */ # define R__VECNEWDELETE /* supports overloading of new[] and delet e[] */
# define R__PLACEMENTDELETE /* supports overloading placement delete * / # define R__PLACEMENTDELETE /* supports overloading placement delete * /
# define R__ANSISTREAM /* ANSI C++ Standard Library conformant */ # define R__ANSISTREAM /* ANSI C++ Standard Library conformant */
# endif # endif
# if __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR > 1) # if __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ > 1)
# define R__PRAGMA_DIAGNOSTIC # define R__PRAGMA_DIAGNOSTIC
# endif # endif
#endif #endif
/* allows symbols to be hidden from the shared library export symbol table */ /* allows symbols to be hidden from the shared library export symbol table */
/* use typically on file statics and private methods */ /* use typically on file statics and private methods */
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) #if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
# define R__HIDDEN __attribute__((__visibility__("hidden"))) # define R__HIDDEN __attribute__((__visibility__("hidden")))
#else #else
# define R__HIDDEN # define R__HIDDEN
skipping to change at line 549 skipping to change at line 549
#endif #endif
/*---- misc --------------------------------------------------------------- ---*/ /*---- misc --------------------------------------------------------------- ---*/
#ifdef R__GNU #ifdef R__GNU
# define SafeDelete(p) { if (p) { delete p; p = 0; } } # define SafeDelete(p) { if (p) { delete p; p = 0; } }
#else #else
# define SafeDelete(p) { delete p; p = 0; } # define SafeDelete(p) { delete p; p = 0; }
#endif #endif
#if defined(R__WIN32) || defined(__CINT__)
#define R__LL(longlong) longlong
#define R__ULL(ulonglong) ulonglong
#else
#define R__LL(longlong) _NAME2_(longlong,LL)
#define R__ULL(ulonglong) _NAME2_(ulonglong,ULL)
#endif
#endif #endif
 End of changes. 3 change blocks. 
10 lines changed or deleted 2 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/ #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.4p2/i i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.5.4p2/i
686-slc5-gcc43-opt --fail-on-missing --enable-cintex --enable-explicitlink 686-slc5-gcc43-opt --fail-on-missing --enable-cintex --enable-explicitlink
--enable-gdml --enable-genvector --enable-krb5 --enable-mathmore --enable-m --enable-gdml --enable-genvector --enable-krb5 --enable-mathmore --enable-m
inuit2 --enable-mysql --enable-oracle --enable-python --enable-qt --enable- inuit2 --enable-mysql --enable-oracle --enable-python --enable-qt --enable-
qtgsi --enable-reflex --enable-roofit --enable-table --enable-unuran --with qtgsi --enable-reflex --enable-roofit --enable-table --enable-unuran --with
-castor-incdir=/afs/cern.ch/sw/lcg/external/castor/2.1.8-10/i686-slc5-gcc43 -castor-incdir=/afs/cern.ch/sw/lcg/external/castor/2.1.8-10/i686-slc5-gcc43
-opt/usr/include/shift --with-castor-libdir=/afs/cern.ch/sw/lcg/external/ca -opt/usr/include/shift --with-castor-libdir=/afs/cern.ch/sw/lcg/external/ca
stor/2.1.8-10/i686-slc5-gcc43-opt/usr/lib --with-cern-libdir=/afs/cern.ch/s stor/2.1.8-10/i686-slc5-gcc43-opt/usr/lib --with-cern-libdir=/afs/cern.ch/s
w/lcg/external/cernlib/2006a/i686-slc5-gcc43-opt/lib --with-dcap-libdir=/af w/lcg/external/cernlib/2006a/i686-slc5-gcc43-opt/lib --with-dcap-libdir=/af
s/cern.ch/sw/lcg/external/dcache_client/1.9.3/i686-slc5-gcc43-opt/dcap/lib s/cern.ch/sw/lcg/external/dcache_client/1.9.3p1/i686-slc5-gcc43-opt/dcap/li
--with-dcap-incdir=/afs/cern.ch/sw/lcg/external/dcache_client/1.9.3/i686-sl b --with-dcap-incdir=/afs/cern.ch/sw/lcg/external/dcache_client/1.9.3p1/i68
c5-gcc43-opt/dcap/include --with-fftw3-incdir=/afs/cern.ch/sw/lcg/external/ 6-slc5-gcc43-opt/dcap/include --with-fftw3-incdir=/afs/cern.ch/sw/lcg/exter
fftw3/3.1.2/i686-slc5-gcc43-opt/include --with-fftw3-libdir=/afs/cern.ch/sw nal/fftw3/3.1.2/i686-slc5-gcc43-opt/include --with-fftw3-libdir=/afs/cern.c
/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/lib --with-gccxml=/afs/cern.c h/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/lib --with-gccxml=/afs/ce
h/sw/lcg/external/gccxml/0.9.0_20090601/i686-slc5-gcc43-opt/bin --with-gfal rn.ch/sw/lcg/external/gccxml/0.9.0_20100114/i686-slc5-gcc43-opt/bin --with-
-libdir=/afs/cern.ch/sw/lcg/external/Grid/gfal/1.11.8-3/i686-slc5-gcc43-opt gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid/gfal/1.11.8-3/i686-slc5-gcc43
/lib --with-gfal-incdir=/afs/cern.ch/sw/lcg/external/Grid/gfal/1.11.8-3/i68 -opt/lib --with-gfal-incdir=/afs/cern.ch/sw/lcg/external/Grid/gfal/1.11.8-3
6-slc5-gcc43-opt/include --with-globus-incdir=/afs/cern.ch/sw/lcg/external/ /i686-slc5-gcc43-opt/include --with-globus-incdir=/afs/cern.ch/sw/lcg/exter
Grid/globus/4.0.3-VDT-1.6.0/i686-slc5-gcc43-opt/globus/include --with-globu nal/Grid/globus/4.0.3-VDT-1.6.0/i686-slc5-gcc43-opt/globus/include --with-g
s-libdir=/afs/cern.ch/sw/lcg/external/Grid/globus/4.0.3-VDT-1.6.0/i686-slc5 lobus-libdir=/afs/cern.ch/sw/lcg/external/Grid/globus/4.0.3-VDT-1.6.0/i686-
-gcc43-opt/globus/lib --with-gsl-incdir=/afs/cern.ch/sw/lcg/external/GSL/1. slc5-gcc43-opt/globus/lib --with-gsl-incdir=/afs/cern.ch/sw/lcg/external/GS
10/i686-slc5-gcc43-opt/include --with-gsl-libdir=/afs/cern.ch/sw/lcg/extern L/1.10/i686-slc5-gcc43-opt/include --with-gsl-libdir=/afs/cern.ch/sw/lcg/ex
al/GSL/1.10/i686-slc5-gcc43-opt/lib --with-mysql-incdir=/afs/cern.ch/sw/lcg ternal/GSL/1.10/i686-slc5-gcc43-opt/lib --with-mysql-incdir=/afs/cern.ch/sw
/external/mysql/5.0.18/i686-slc5-gcc43-opt/include --with-mysql-libdir=/afs /lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/include --with-mysql-libdir=
/cern.ch/sw/lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/lib --with-oracle /afs/cern.ch/sw/lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/lib --with-or
-incdir=/afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0/i686-slc5-gcc43-opt/ acle-incdir=/afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0p1/i686-slc5-gcc4
include --with-oracle-libdir=/afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0 3-opt/include --with-oracle-libdir=/afs/cern.ch/sw/lcg/external/oracle/11.2
/i686-slc5-gcc43-opt/lib --with-shift-incdir=/afs/cern.ch/sw/lcg/external/c .0.1.0p1/i686-slc5-gcc43-opt/lib --with-shift-incdir=/afs/cern.ch/sw/lcg/ex
astor/2.1.8-10/i686-slc5-gcc43-opt/usr/include/shift --with-shift-libdir=/a ternal/castor/2.1.8-10/i686-slc5-gcc43-opt/usr/include/shift --with-shift-l
fs/cern.ch/sw/lcg/external/castor/2.1.8-10/i686-slc5-gcc43-opt/usr/lib --wi ibdir=/afs/cern.ch/sw/lcg/external/castor/2.1.8-10/i686-slc5-gcc43-opt/usr/
th-pythia6-libdir=/afs/cern.ch/user/b/bellenot/scratch0/dist/pythia6/i686-s lib --with-pythia6-libdir=/afs/cern.ch/user/b/bellenot/scratch0/dist/pythia
lc5-gcc43-opt --with-pythia8-incdir=/afs/cern.ch/user/b/bellenot/scratch0/d 6/i686-slc5-gcc43-opt --with-pythia8-incdir=/afs/cern.ch/user/b/bellenot/sc
ist/pythia8/i686-slc5-gcc43-opt/include --with-pythia8-libdir=/afs/cern.ch/ ratch0/dist/pythia8/i686-slc5-gcc43-opt/include --with-pythia8-libdir=/afs/
user/b/bellenot/scratch0/dist/pythia8/i686-slc5-gcc43-opt/lib --with-gviz-i cern.ch/user/b/bellenot/scratch0/dist/pythia8/i686-slc5-gcc43-opt/lib --wit
ncdir=/build/bellenot/libraries/i686-slc5-gcc43-opt/graphviz-2.24.0/include h-gviz-incdir=/build/bellenot/libraries/i686-slc5-gcc43-opt/graphviz-2.24.0
/graphviz --with-gviz-libdir=/build/bellenot/libraries/i686-slc5-gcc43-opt/ /include/graphviz --with-gviz-libdir=/build/bellenot/libraries/i686-slc5-gc
graphviz-2.24.0/lib" c43-opt/graphviz-2.24.0/lib"
#define R__CONFIGUREFEATURES "asimage astiff builtin_afterimage builtin_ft #define R__CONFIGUREFEATURES "asimage astiff builtin_afterimage builtin_ft
gl builtin_freetype builtin_glew builtin_pcre builtin_zlib castor cint5 cin gl builtin_freetype builtin_glew builtin_pcre builtin_zlib castor cintex ed
tex editline dcache exceptions explicitlink fftw3 gviz gdml genvector gfal itline dcache exceptions explicitlink fftw3 gviz gdml genvector gfal globus
globus krb5 ldap mathmore memstat minuit2 mysql opengl oracle pythia6 pythi krb5 ldap mathmore memstat minuit2 mysql opengl oracle pythia6 pythia8 pyt
a8 python qt qtgsi reflex roofit rfio shadowpw shared ssl table tmva unuran hon qt qtgsi reflex roofit rfio shadowpw shared ssl table tmva unuran xft x
xft xml xrootd thread" ml xrootd thread"
#endif #endif
 End of changes. 1 change blocks. 
44 lines changed or deleted 44 lines changed or added


 RConfigure.h   RConfigure.h 
skipping to change at line 25 skipping to change at line 25
#define ROOTICONPATH "$(ROOTSYS)/icons" #define ROOTICONPATH "$(ROOTSYS)/icons"
#define EXTRAICONPATH "" #define EXTRAICONPATH ""
#define TTFFONTDIR "$(ROOTSYS)/fonts" #define TTFFONTDIR "$(ROOTSYS)/fonts"
#define CINTINCDIR "$(ROOTSYS)/cint" #define CINTINCDIR "$(ROOTSYS)/cint"
#endif #endif
#define R__HAS_SETRESUID /**/ #define R__HAS_SETRESUID /**/
#define R__HAS_MATHMORE /**/ #define R__HAS_MATHMORE /**/
#define R__HAS_PTHREAD /**/ #define R__HAS_PTHREAD /**/
#define R__HAS_XFT /**/ #define R__HAS_XFT /**/
#undef R__HAS_CLING /**/
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 RConversionRuleParser.h   RConversionRuleParser.h 
// @(#)root/core:$Id: RConversionRuleParser.h 27282 2009-01-28 22:36:42Z rd m $ // @(#)root/core:$Id: RConversionRuleParser.h 32644 2010-03-17 13:58:28Z pc anal $
// author: Lukasz Janyst <ljanyst@cern.ch> // author: Lukasz Janyst <ljanyst@cern.ch>
#ifndef R__R_CONVERSION_RULE_PARSER_H #ifndef R__R_CONVERSION_RULE_PARSER_H
#define R__R_CONVERSION_RULE_PARSER_H #define R__R_CONVERSION_RULE_PARSER_H
#include <list> #include <list>
#include <map> #include <map>
#include <string> #include <string>
#include <ostream> #include <ostream>
#include <utility> #include <utility>
#ifndef __MAKECINT__ #ifndef __MAKECINT__
#ifndef R__BUILDING_CINT7
#include "Api.h" #include "Api.h"
#include "Shadow.h" #include "Shadow.h"
#else #else
#include "cint7/Api.h"
#include "cint7/Shadow.h"
#endif
#else
class G__ClassInfo; class G__ClassInfo;
#endif #endif
#if !defined(__CINT__) #if !defined(__CINT__)
// Avoid clutering the dictionary (in particular with the STL declaration) // Avoid clutering the dictionary (in particular with the STL declaration)
namespace ROOT namespace ROOT
{ {
//---------------------------------------------------------------------- ----- //---------------------------------------------------------------------- -----
// Global variables // Global variables
skipping to change at line 78 skipping to change at line 73
const std::string& listName, std::ostream& output ); const std::string& listName, std::ostream& output );
//---------------------------------------------------------------------- ----- //---------------------------------------------------------------------- -----
// Get the list of includes defined in schema rules // Get the list of includes defined in schema rules
//---------------------------------------------------------------------- ----- //---------------------------------------------------------------------- -----
void GetRuleIncludes( std::list<std::string> &result ); void GetRuleIncludes( std::list<std::string> &result );
//---------------------------------------------------------------------- ----- //---------------------------------------------------------------------- -----
// Parse read pragma // Parse read pragma
//---------------------------------------------------------------------- ----- //---------------------------------------------------------------------- -----
bool ParseRule( std::string rule, MembersMap_t &result, std::string &err
or_string );
//----------------------------------------------------------------------
-----
// Parse read pragma
//----------------------------------------------------------------------
-----
void ProcessReadPragma( char* args ); void ProcessReadPragma( char* args );
//---------------------------------------------------------------------- ----- //---------------------------------------------------------------------- -----
// Parse readraw pragma // Parse readraw pragma
//---------------------------------------------------------------------- ----- //---------------------------------------------------------------------- -----
void ProcessReadRawPragma( char* args ); void ProcessReadRawPragma( char* args );
} }
#endif // !defined(__CINT__) #endif // !defined(__CINT__)
#endif // R__R_CONVERSION_RULE_PARSER_H #endif // R__R_CONVERSION_RULE_PARSER_H
 End of changes. 4 change blocks. 
6 lines changed or deleted 9 lines changed or added


 RStipples.h   RStipples.h 
/* @(#)root/base:$Id: RStipples.h 20877 2007-11-19 11:17:07Z rdm $ */ /* @(#)root/base:$Id: RStipples.h 32337 2010-02-12 16:09:35Z pcanal $ */
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_Stipples #ifndef ROOT_Stipples
skipping to change at line 28 skipping to change at line 28
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// // // //
// Stipples // // Stipples //
// // // //
// Data to create fill area interior style. // // Data to create fill area interior style. //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#if !defined(R__WIN32) #if !defined(R__WIN32)
const char gStipples[26][32] = { const unsigned char gStipples[26][32] = {
{ {
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x5 5, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x5 5,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x5 5, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x5 5,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55
}, //0 }, //0
{ {
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x5 5, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x5 5,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x5 5, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x5 5,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55
}, //1 }, //1
skipping to change at line 163 skipping to change at line 163
}, //24 }, //24
{ {
0x80, 0x00, 0xc0, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0xff, 0xf0, 0xff, 0xf 0, 0x80, 0x00, 0xc0, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0xff, 0xf0, 0xff, 0xf 0,
0xfb, 0xf0, 0xf9, 0xf0, 0xf8, 0xf0, 0xf8, 0x70, 0xf8, 0x30, 0xff, 0xf 0, 0xfb, 0xf0, 0xf9, 0xf0, 0xf8, 0xf0, 0xf8, 0x70, 0xf8, 0x30, 0xff, 0xf 0,
0xff, 0xf8, 0xff, 0xfc, 0xff, 0xfe, 0xff, 0xff 0xff, 0xf8, 0xff, 0xfc, 0xff, 0xfe, 0xff, 0xff
}, //25 }, //25
}; };
#else #else
const char gStipples[26][32] = { const unsigned char gStipples[26][32] = {
{ {
~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55,
~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55,
~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55 ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55
}, //0 }, //0
{ {
~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55,
~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55,
~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55 ~0xaa, ~0xaa, ~0x55, ~0x55, ~0xaa, ~0xaa, ~0x55, ~0x55
}, //1 }, //1
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 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.26/00" #define ROOT_RELEASE "5.27/02"
#define ROOT_RELEASE_DATE "Dec 14 2009" #define ROOT_RELEASE_DATE "Apr 26 2010"
#define ROOT_RELEASE_TIME "15:43:39" #define ROOT_RELEASE_TIME "20:00:41"
#define ROOT_SVN_REVISION 31878 #define ROOT_SVN_REVISION 33224
#define ROOT_SVN_BRANCH "trunk" #define ROOT_SVN_BRANCH "trunk"
#define ROOT_VERSION_CODE 334336 #define ROOT_VERSION_CODE 334594
#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


 RooAdaptiveIntegratorND.h   RooAdaptiveIntegratorND.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooAdaptiveIntegratorND.h 30333 2009-09-21 15:39:17Z woute r $ * File: $Id: RooAdaptiveIntegratorND.h 32337 2010-02-12 16:09:35Z pcana l $
* Authors: * * Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* * * *
* Copyright (c) 2000-2005, Regents of the University of California * * Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. * * and Stanford University. All rights reserved. *
* * * *
* Redistribution and use in source and binary forms, * * Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms * * with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
************************************************************************** ***/ ************************************************************************** ***/
#ifndef ROO_ADAPTIVE_INTEGRATOR_ND #ifndef ROO_ADAPTIVE_INTEGRATOR_ND
#define ROO_ADAPTIVE_INTEGRATOR_ND #define ROO_ADAPTIVE_INTEGRATOR_ND
#include "RooAbsIntegrator.h" #include "RooAbsIntegrator.h"
#include "RooNumIntConfig.h" #include "RooNumIntConfig.h"
#include "TString.h" #include "TString.h"
namespace ROOT { namespace Math { class AdaptiveIntegratorMultiDim ; } } ; namespace ROOT { namespace Math { class AdaptiveIntegratorMultiDim ; } }
class RooMultiGenFunction ; class RooMultiGenFunction ;
class RooAdaptiveIntegratorND : public RooAbsIntegrator { class RooAdaptiveIntegratorND : public RooAbsIntegrator {
public: public:
// Constructors, assignment etc // Constructors, assignment etc
RooAdaptiveIntegratorND() ; RooAdaptiveIntegratorND() ;
RooAdaptiveIntegratorND(const RooAbsFunc& function, const RooNumIntConfig & config) ; RooAdaptiveIntegratorND(const RooAbsFunc& function, const RooNumIntConfig & config) ;
virtual RooAbsIntegrator* clone(const RooAbsFunc& function, const RooNumI ntConfig& config) const ; virtual RooAbsIntegrator* clone(const RooAbsFunc& function, const RooNumI ntConfig& config) const ;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RooCintUtils.h   RooCintUtils.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooCintUtils.h 30333 2009-09-21 15:39:17Z wouter $ * File: $Id: RooCintUtils.h 32337 2010-02-12 16:09:35Z pcanal $
* Authors: * * Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* * * *
* Copyright (c) 2000-2005, Regents of the University of California * * Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. * * and Stanford University. All rights reserved. *
* * * *
* Redistribution and use in source and binary forms, * * Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms * * with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
skipping to change at line 32 skipping to change at line 32
namespace RooCintUtils { namespace RooCintUtils {
std::pair<std::list<std::string>,unsigned int> ctorArgs(const char* class name, UInt_t nMinArgs=0) ; std::pair<std::list<std::string>,unsigned int> ctorArgs(const char* class name, UInt_t nMinArgs=0) ;
Bool_t isEnum(const char* typeName) ; Bool_t isEnum(const char* typeName) ;
Bool_t isValidEnumValue(const char* typeName, const char* value) ; Bool_t isValidEnumValue(const char* typeName, const char* value) ;
const char* functionName(void* func) ; const char* functionName(void* func) ;
Bool_t matchFuncPtrArgs(void* func, const char* args) ; Bool_t matchFuncPtrArgs(void* func, const char* args) ;
Bool_t isTypeDef(const char* trueName, const char* aliasName) ; Bool_t isTypeDef(const char* trueName, const char* aliasName) ;
std::string trueName(const char* typeDefName) ; std::string trueName(const char* typeDefName) ;
}; }
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Rtypes.h   Rtypes.h 
/* @(#)root/base:$Id: Rtypes.h 30773 2009-10-16 15:10:47Z rdm $ */ /* @(#)root/base:$Id: Rtypes.h 32142 2010-01-28 17:40:53Z rdm $ */
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_Rtypes #ifndef ROOT_Rtypes
skipping to change at line 143 skipping to change at line 143
const Int_t kMinShort = -kMaxShort - 1; const Int_t kMinShort = -kMaxShort - 1;
const UInt_t kMaxUInt = UInt_t(~0); const UInt_t kMaxUInt = UInt_t(~0);
const Int_t kMaxInt = Int_t(kMaxUInt >> 1); const Int_t kMaxInt = Int_t(kMaxUInt >> 1);
const Int_t kMinInt = -kMaxInt - 1; const Int_t kMinInt = -kMaxInt - 1;
const ULong_t kMaxULong = ULong_t(~0); const ULong_t kMaxULong = ULong_t(~0);
const Long_t kMaxLong = Long_t(kMaxULong >> 1); const Long_t kMaxLong = Long_t(kMaxULong >> 1);
const Long_t kMinLong = -kMaxLong - 1; const Long_t kMinLong = -kMaxLong - 1;
const ULong64_t kMaxULong64 = ULong64_t(~R__LL(0)); const ULong64_t kMaxULong64 = ULong64_t(~0LL);
const Long64_t kMaxLong64 = Long64_t(kMaxULong64 >> 1); const Long64_t kMaxLong64 = Long64_t(kMaxULong64 >> 1);
const Long64_t kMinLong64 = -kMaxLong64 - 1; const Long64_t kMinLong64 = -kMaxLong64 - 1;
const size_t kBitsPerByte = 8; const size_t kBitsPerByte = 8;
const Ssiz_t kNPOS = ~(Ssiz_t)0; const Ssiz_t kNPOS = ~(Ssiz_t)0;
//--- bit manipulation ---------------------------------------------------- ----- //--- bit manipulation ---------------------------------------------------- -----
#define BIT(n) (R__ULL(1) << (n)) #define BIT(n) (1ULL << (n))
#define SETBIT(n,i) ((n) |= BIT(i)) #define SETBIT(n,i) ((n) |= BIT(i))
#define CLRBIT(n,i) ((n) &= ~BIT(i)) #define CLRBIT(n,i) ((n) &= ~BIT(i))
#define TESTBIT(n,i) ((Bool_t)(((n) & BIT(i)) != 0)) #define TESTBIT(n,i) ((Bool_t)(((n) & BIT(i)) != 0))
//---- debug global ------------------------------------------------------- ----- //---- debug global ------------------------------------------------------- -----
R__EXTERN Int_t gDebug; R__EXTERN Int_t gDebug;
//---- ClassDef macros ---------------------------------------------------- ----- //---- ClassDef macros ---------------------------------------------------- -----
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 RtypesCint.h   RtypesCint.h 
/* @(#)root/base:$Id: RtypesCint.h 20877 2007-11-19 11:17:07Z rdm $*/ /* @(#)root/base:$Id: RtypesCint.h 33054 2010-04-15 16:47:24Z pcanal $*/
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_RtypesCint #ifndef ROOT_RtypesCint
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Scope.h   Scope.h 
// @(#)root/reflex:$Id: Scope.h 29355 2009-07-06 17:34:05Z axel $ // @(#)root/reflex:$Id: Scope.h 32228 2010-02-05 16:13:09Z 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-2010, 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.
#ifndef Reflex_Scope #ifndef Reflex_Scope
#define Reflex_Scope #define Reflex_Scope
skipping to change at line 1262 skipping to change at line 1262
return fScopeName->fScopeBase->MemberTemplate_REnd(); return fScopeName->fScopeBase->MemberTemplate_REnd();
} }
return Dummy::MemberTemplateCont().rend(); return Dummy::MemberTemplateCont().rend();
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline const char* inline const char*
Reflex::Scope::Name_c_str() const { Reflex::Scope::Name_c_str() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
if (fScopeName) { if (fScopeName) {
return fScopeName->Name_c_str(); return fScopeName->Name();
} }
return ""; return "";
} }
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline Reflex::PropertyList inline Reflex::PropertyList
Reflex::Scope::Properties() const { Reflex::Scope::Properties() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
if (*this) { if (*this) {
return fScopeName->fScopeBase->Properties(); return fScopeName->fScopeBase->Properties();
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 ScopeBase.h   ScopeBase.h 
// @(#)root/reflex:$Id: ScopeBase.h 29355 2009-07-06 17:34:05Z axel $ // @(#)root/reflex:$Id: ScopeBase.h 32228 2010-02-05 16:13:09Z 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-2010, 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.
#ifndef Reflex_ScopeBase #ifndef Reflex_ScopeBase
#define Reflex_ScopeBase #define Reflex_ScopeBase
skipping to change at line 336 skipping to change at line 336
/** /**
* SimpleName returns the name of the type as a reference. It provides a * SimpleName returns the name of the type as a reference. It provides a
* simplified but faster generation of a type name. Attention currently it * simplified but faster generation of a type name. Attention currently it
* is not guaranteed that Name() and SimpleName() return the same charac ter * is not guaranteed that Name() and SimpleName() return the same charac ter
* layout of a name (ie. spacing, commas, etc. ) * layout of a name (ie. spacing, commas, etc. )
* @param pos will indicate where in the returned reference the requeste d name starts * @param pos will indicate where in the returned reference the requeste d name starts
* @param mod The only 'mod' support is SCOPED * @param mod The only 'mod' support is SCOPED
* @return name of type * @return name of type
*/ */
virtual const std::string& SimpleName(size_t& pos, virtual const char* SimpleName(size_t& pos,
unsigned int mod = 0) const; unsigned int mod = 0) const;
/** /**
* Properties will return a pointer to the PropertyNth list attached * Properties will return a pointer to the PropertyNth list attached
* to this item * to this item
* @return pointer to PropertyNth list * @return pointer to PropertyNth list
*/ */
virtual PropertyList Properties() const; virtual PropertyList Properties() const;
/** /**
* At will return the At Object of this ScopeBase * At will return the At Object of this ScopeBase
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 lines changed or added


 ScopeName.h   ScopeName.h 
// @(#)root/reflex:$Id: ScopeName.h 29288 2009-07-01 13:03:35Z axel $ // @(#)root/reflex:$Id: ScopeName.h 32228 2010-02-05 16:13:09Z 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-2010, 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.
#ifndef Reflex_ScopeName #ifndef Reflex_ScopeName
#define Reflex_ScopeName #define Reflex_ScopeName
// Include files // Include files
#include "Reflex/Kernel.h" #include "Reflex/Kernel.h"
#include <string> #include "Reflex/internal/LiteralString.h"
namespace Reflex { namespace Reflex {
// forward declarations // forward declarations
class ScopeBase; class ScopeBase;
class Scope; class Scope;
/** /**
* @class ScopeName ScopeName.h Reflex/ScopeName.h * @class ScopeName ScopeName.h Reflex/ScopeName.h
* @author Stefan Roiser * @author Stefan Roiser
* @date 24/11/2003 * @date 24/11/2003
skipping to change at line 70 skipping to change at line 70
/** /**
* Un-Hide this scope from any lookup by removing the string " @HIDDEN@" to its name. * Un-Hide this scope from any lookup by removing the string " @HIDDEN@" to its name.
*/ */
void UnhideName(); void UnhideName();
/** /**
* Name will return a string representation of Name of the Scope * Name will return a string representation of Name of the Scope
* @return string representation of the Scope * @return string representation of the Scope
*/ */
const std::string& Name() const; const char* Name() const;
/** /**
* Name_c_str returns a char* pointer to the qualified Scope Name * Name will return a string representation of Name of the Scope
* @return c string to unqualified Scope Name * @return string representation of the Scope
*/
const LiteralString& LiteralName() const { return fName; }
/**
* Name will return a string representation of Name of the Scope
* @return string representation of the Scope
*/ */
const char* Name_c_str() const; LiteralString& LiteralName() { return fName; }
/** /**
* ThisScope will return the unqualified Scope object of this ScopeName * ThisScope will return the unqualified Scope object of this ScopeName
* @return corresponding Scope * @return corresponding Scope
*/ */
Scope ThisScope() const; Scope ThisScope() const;
/** /**
* Unload reflection information for this scope.
*/
void Unload();
/**
* ScopeAt will return the nth defined scope * ScopeAt will return the nth defined scope
* @param nth scope defined in the system * @param nth scope defined in the system
* @return nth scope defined in the system * @return nth scope defined in the system
*/ */
static Scope ScopeAt(size_t nth); static Scope ScopeAt(size_t nth);
/** /**
* ScopeSize will return the number of currently defined scopes * ScopeSize will return the number of currently defined scopes
* (resolved and unresolved ones) * (resolved and unresolved ones)
* @return number of currently defined scopes * @return number of currently defined scopes
skipping to change at line 109 skipping to change at line 120
static Scope_Iterator Scope_End(); static Scope_Iterator Scope_End();
static Reverse_Scope_Iterator Scope_RBegin(); static Reverse_Scope_Iterator Scope_RBegin();
static Reverse_Scope_Iterator Scope_REnd(); static Reverse_Scope_Iterator Scope_REnd();
private: private:
/** destructor */ /** destructor */
~ScopeName(); ~ScopeName();
private: private:
/** pointer to the Name of the At in the static map */ /** pointer to the Name of the At in the static map */
std::string fName; LiteralString fName;
/** /**
* pointer to the resolved Scope * pointer to the resolved Scope
* @label scope base * @label scope base
* @link aggregation * @link aggregation
* @supplierCardinality 0..1 * @supplierCardinality 0..1
* @clientCardinality 1 * @clientCardinality 1
*/ */
mutable mutable
ScopeBase * fScopeBase; ScopeBase * fScopeBase;
/** /**
* This scope * This scope
*/ */
Scope* fThisScope; Scope* fThisScope;
}; // class ScopeName }; // class ScopeName
} // namespace Reflex } // namespace Reflex
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline const std::string&
Reflex::ScopeName::Name() const {
//-------------------------------------------------------------------------
------
return fName;
}
//-------------------------------------------------------------------------
------
inline const char* inline const char*
Reflex::ScopeName::Name_c_str() const { Reflex::ScopeName::Name() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
return fName.c_str(); return fName.c_str();
} }
#endif //Reflex_ScopeName #endif //Reflex_ScopeName
 End of changes. 10 change blocks. 
18 lines changed or deleted 20 lines changed or added


 Shadow.h   Shadow.h 
skipping to change at line 48 skipping to change at line 48
static bool NeedShadowClass(G__ClassInfo& cl); static bool NeedShadowClass(G__ClassInfo& cl);
G__ShadowMaker(std::ostream& out, const char* nsprefix, G__ShadowMaker(std::ostream& out, const char* nsprefix,
bool(*needShadowClass)(G__ClassInfo &cl)=G__ShadowMaker::NeedShadowCl ass, bool(*needShadowClass)(G__ClassInfo &cl)=G__ShadowMaker::NeedShadowCl ass,
bool(*needTypedefShadow)(G__ClassInfo &cl)=0); bool(*needTypedefShadow)(G__ClassInfo &cl)=0);
void WriteAllShadowClasses(); void WriteAllShadowClasses();
void WriteShadowClass(G__ClassInfo &cl, int level = 0); void WriteShadowClass(G__ClassInfo &cl, int level = 0);
int WriteNamespaceHeader(G__ClassInfo &cl); int WriteNamespaceHeader(G__ClassInfo &cl);
int NeedShadowCached(int tagnum) { return fCacheNeedShadow[tagnum]; } char NeedShadowCached(int tagnum);
static bool IsSTLCont(const char *type); static bool IsSTLCont(const char *type);
static bool IsStdPair(G__ClassInfo &cl); static bool IsStdPair(G__ClassInfo &cl);
static void GetFullyQualifiedName(const char *originalName, std::string &fullyQualifiedName); static void GetFullyQualifiedName(const char *originalName, std::string &fullyQualifiedName);
static void GetFullyQualifiedName(G__ClassInfo &cl, std::string &fullyQu alifiedName); static void GetFullyQualifiedName(G__ClassInfo &cl, std::string &fullyQu alifiedName);
static void GetFullyQualifiedName(G__TypeInfo &type, std::string &fullyQ ualifiedName); static void GetFullyQualifiedName(G__TypeInfo &type, std::string &fullyQ ualifiedName);
static std::string GetNonConstTypeName(G__DataMemberInfo &m, bool fullyQ ualified = false); static std::string GetNonConstTypeName(G__DataMemberInfo &m, bool fullyQ ualified = false);
void GetFullShadowName(G__ClassInfo &cl, std::string &fullname); void GetFullShadowName(G__ClassInfo &cl, std::string &fullname);
static void VetoShadow(bool veto=true); static void VetoShadow(bool veto=true);
private: private:
G__ShadowMaker(const G__ShadowMaker&); // intentionally not implemented G__ShadowMaker(const G__ShadowMaker&); // intentionally not implemented
G__ShadowMaker& operator =(const G__ShadowMaker&); // intentionally not implemented G__ShadowMaker& operator =(const G__ShadowMaker&); // intentionally not implemented
void GetFullShadowNameRecurse(G__ClassInfo &cl, std::string &fullname); void GetFullShadowNameRecurse(G__ClassInfo &cl, std::string &fullname);
void UpdateCachedNeedShadow();
#ifndef __CINT__ #ifndef __CINT__
std::ostream& fOut; // where to write to std::ostream& fOut; // where to write to
#endif #endif
std::string fNSPrefix; // shadow classes are in this namespace's namespa ce "Shadow" std::string fNSPrefix; // shadow classes are in this namespace's namespa ce "Shadow"
char fCacheNeedShadow[G__MAXSTRUCT]; // whether we need a shadow for a t agnum char fCacheNeedShadow[G__MAXSTRUCT]; // whether we need a shadow for a t agnum
static bool fgVetoShadow; // whether WritaAllShadowClasses should write int fMaxCachedNeedShadow; // Up to where in G__struct did we calculate t
the shadow he value.
bool (*fNeedShadowClass)(G__ClassInfo &cl); // func deciding whether the
shadow is a tyepdef
bool (*fNeedTypedefShadow)(G__ClassInfo &cl); // func deciding whether t he shadow is a tyepdef bool (*fNeedTypedefShadow)(G__ClassInfo &cl); // func deciding whether t he shadow is a tyepdef
static bool fgVetoShadow; // whether WritaAllShadowClasses should write
the shadow
}; };
} // end namespace Cint } // end namespace Cint
using namespace Cint; using namespace Cint;
#endif // G__SHADOW_H #endif // G__SHADOW_H
 End of changes. 4 change blocks. 
3 lines changed or deleted 11 lines changed or added


 TBaseClass.h   TBaseClass.h 
// @(#)root/meta:$Id: TBaseClass.h 26606 2008-12-02 20:36:09Z pcanal $ // @(#)root/meta:$Id: TBaseClass.h 32336 2010-02-12 15:03:23Z 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 26 skipping to change at line 26
// // // //
// TBaseClass // // TBaseClass //
// // // //
// Description of a base class. // // Description of a base class. //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TDictionary #ifndef ROOT_TDictionary
#include "TDictionary.h" #include "TDictionary.h"
#endif #endif
#ifndef ROOT_TClassRef
#include "TClassRef.h"
#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(const TBaseClass &); // Not implemented
TBaseClass&operator=(const TBaseClass&); // Not implemented TBaseClass&operator=(const TBaseClass&); // Not implemented
private: 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 TClassRef 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);
Int_t GetDelta() const; Int_t GetDelta() const;
Bool_t IsFolder() const {return kTRUE;} Bool_t IsFolder() const {return kTRUE;}
 End of changes. 3 change blocks. 
2 lines changed or deleted 5 lines changed or added


 TBranch.h   TBranch.h 
// @(#)root/tree:$Id: TBranch.h 29934 2009-08-27 13:54:34Z brun $ // @(#)root/tree:$Id: TBranch.h 33097 2010-04-19 21:47:55Z pcanal $
// Author: Rene Brun 12/01/96 // Author: Rene Brun 12/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 65 skipping to change at line 65
enum { kAutoDelete = BIT(15) }; enum { kAutoDelete = BIT(15) };
static Int_t fgCount; //! branch counter static Int_t fgCount; //! branch counter
Int_t fCompress; // (=1 branch is compressed, 0 otherwise) Int_t fCompress; // (=1 branch is compressed, 0 otherwise)
Int_t fBasketSize; // Initial Size of Basket Buffer Int_t fBasketSize; // Initial Size of Basket Buffer
Int_t fEntryOffsetLen; // Initial Length of fEntryOffset table i n the basket buffers Int_t fEntryOffsetLen; // Initial Length of fEntryOffset table i n the basket buffers
Int_t fWriteBasket; // Last basket number written Int_t fWriteBasket; // Last basket number written
Long64_t fEntryNumber; // Current entry number (last one filled in this branch) Long64_t fEntryNumber; // Current entry number (last one filled in this branch)
Int_t fOffset; // Offset of this branch Int_t fOffset; // Offset of this branch
Int_t fMaxBaskets; // Maximum number of Baskets so far Int_t fMaxBaskets; // Maximum number of Baskets so far
Int_t fNBaskets; //! Number of baskets in memory
Int_t fSplitLevel; // Branch split level Int_t fSplitLevel; // Branch split level
Int_t fNleaves; //! Number of leaves Int_t fNleaves; //! Number of leaves
Int_t fReadBasket; //! Current basket number when reading Int_t fReadBasket; //! Current basket number when reading
Long64_t fReadEntry; //! Current entry number when reading Long64_t fReadEntry; //! Current entry number when reading
Long64_t fEntries; // Number of entries Long64_t fEntries; // Number of entries
Long64_t fFirstEntry; // Number of the first entry in this bran ch Long64_t fFirstEntry; // Number of the first entry in this bran ch
Long64_t fTotBytes; // Total number of bytes in all leaves be fore compression Long64_t fTotBytes; // Total number of bytes in all leaves be fore compression
Long64_t fZipBytes; // Total number of bytes in all leaves af ter compression Long64_t fZipBytes; // Total number of bytes in all leaves af ter compression
TObjArray fBranches; //-> List of Branches of this branch TObjArray fBranches; //-> List of Branches of this branch
TObjArray fLeaves; //-> List of leaves of this branch TObjArray fLeaves; //-> List of leaves of this branch
skipping to change at line 88 skipping to change at line 89
Long64_t *fBasketSeek; //[fMaxBaskets] Addresses of baskets on fi le Long64_t *fBasketSeek; //[fMaxBaskets] Addresses of baskets on fi le
TTree *fTree; //! Pointer to Tree header TTree *fTree; //! Pointer to Tree header
TBranch *fMother; //! Pointer to top-level parent branch in the tree. TBranch *fMother; //! Pointer to top-level parent branch in the tree.
TBranch *fParent; //! Pointer to parent branch. TBranch *fParent; //! Pointer to parent branch.
char *fAddress; //! Address of 1st leaf (variable or objec t) char *fAddress; //! Address of 1st leaf (variable or objec t)
TDirectory *fDirectory; //! Pointer to directory where this branch buffers are stored TDirectory *fDirectory; //! Pointer to directory where this branch buffers are stored
TString fFileName; // Name of file where buffers are stored ("" if in same file as Tree header) TString fFileName; // Name of file where buffers are stored ("" if in same file as Tree header)
TBuffer *fEntryBuffer; //! Buffer used to directly pass the conte nt without streaming TBuffer *fEntryBuffer; //! Buffer used to directly pass the conte nt without streaming
TList *fBrowsables; //! List of TVirtualBranchBrowsables used for Browse() TList *fBrowsables; //! List of TVirtualBranchBrowsables used for Browse()
Bool_t fSkipZip; //!After being read, the buffer will not b e unziped. Bool_t fSkipZip; //! After being read, the buffer will not be unziped.
void SetSkipZip(Bool_t skip = kTRUE) { fSkipZip = skip; } void SetSkipZip(Bool_t skip = kTRUE) { fSkipZip = skip; }
void Init(const char *name, const char *leaflist, Int_t compress); void Init(const char *name, const char *leaflist, Int_t compress);
Int_t WriteBasket(TBasket* basket, Int_t where); Int_t WriteBasket(TBasket* basket, Int_t where);
TString GetRealFileName() const; TString GetRealFileName() const;
private: private:
TBranch(const TBranch&); // not implemented TBranch(const TBranch&); // not implemented
skipping to change at line 183 skipping to change at line 184
virtual void SetBufferAddress(TBuffer *entryBuffer); virtual void SetBufferAddress(TBuffer *entryBuffer);
virtual void SetCompressionLevel(Int_t level=1); virtual void SetCompressionLevel(Int_t level=1);
virtual void SetEntries(Long64_t entries); virtual void SetEntries(Long64_t entries);
virtual void SetEntryOffsetLen(Int_t len, Bool_t updateSubBranches = kFALSE); virtual void SetEntryOffsetLen(Int_t len, Bool_t updateSubBranches = kFALSE);
virtual void SetFirstEntry( Long64_t entry ); virtual void SetFirstEntry( Long64_t entry );
virtual void SetFile(TFile *file=0); virtual void SetFile(TFile *file=0);
virtual void SetFile(const char *filename); virtual void SetFile(const char *filename);
virtual void SetOffset(Int_t offset=0) {fOffset=offset;} virtual void SetOffset(Int_t offset=0) {fOffset=offset;}
virtual void SetTree(TTree *tree) { fTree = tree;} virtual void SetTree(TTree *tree) { fTree = tree;}
virtual void UpdateAddress() {;} virtual void UpdateAddress() {;}
virtual void UpdateFile();
static void ResetCount(); static void ResetCount();
ClassDef(TBranch,12); //Branch descriptor ClassDef(TBranch,12); //Branch descriptor
}; };
#endif #endif
 End of changes. 4 change blocks. 
2 lines changed or deleted 4 lines changed or added


 TBranchClones.h   TBranchClones.h 
// @(#)root/tree:$Id: TBranchClones.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/tree:$Id: TBranchClones.h 33097 2010-04-19 21:47:55Z pcanal $
// Author: Rene Brun 11/02/96 // Author: Rene Brun 11/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 59 skipping to change at line 59
virtual void Browse(TBrowser *b); virtual void Browse(TBrowser *b);
virtual Int_t Fill(); virtual Int_t Fill();
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall = 0); virtual Int_t GetEntry(Long64_t entry=0, Int_t getall = 0);
virtual Int_t GetN() const {return fN;} virtual Int_t GetN() const {return fN;}
TClonesArray *GetList() const {return fList;} TClonesArray *GetList() const {return fList;}
Bool_t IsFolder() const {return kTRUE;} Bool_t IsFolder() const {return kTRUE;}
virtual void Print(Option_t *option="") const; virtual void Print(Option_t *option="") const;
virtual void Reset(Option_t *option=""); virtual void Reset(Option_t *option="");
virtual void SetAddress(void *add); virtual void SetAddress(void *add);
virtual void SetBasketSize(Int_t buffsize); virtual void SetBasketSize(Int_t buffsize);
virtual void UpdateFile();
ClassDef(TBranchClones,2); //Branch in case of an array of clone object s ClassDef(TBranchClones,2); //Branch in case of an array of clone object s
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TBranchElement.h   TBranchElement.h 
// @(#)root/tree:$Id: TBranchElement.h 31170 2009-11-13 20:21:56Z pcanal $ // @(#)root/tree:$Id: TBranchElement.h 33097 2010-04-19 21:47:55Z pcanal $
// Author: Rene Brun 14/01/2001 // Author: Rene Brun 14/01/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 164 skipping to change at line 164
virtual void SetAddress(void* addobj); virtual void SetAddress(void* addobj);
virtual void SetObject(void *objadd); virtual void SetObject(void *objadd);
virtual void SetBasketSize(Int_t buffsize); virtual void SetBasketSize(Int_t buffsize);
virtual void SetBranchFolder() { SetBit(kBranchFolder); } virtual void SetBranchFolder() { SetBit(kBranchFolder); }
virtual void SetClassName(const char* name) { fClassName = n ame; } virtual void SetClassName(const char* name) { fClassName = n ame; }
inline void SetParentClass(TClass* clparent); inline void SetParentClass(TClass* clparent);
virtual void SetParentName(const char* name) { fParentName = name; } virtual void SetParentName(const char* name) { fParentName = name; }
virtual void SetTargetClassName(const char *name); virtual void SetTargetClassName(const char *name);
virtual void SetupAddresses(); virtual void SetupAddresses();
virtual void SetType(Int_t btype) { fType = btype; } virtual void SetType(Int_t btype) { fType = btype; }
virtual void UpdateFile();
ClassDef(TBranchElement,9) // Branch in case of an object ClassDef(TBranchElement,9) // Branch in case of an object
}; };
inline void TBranchElement::SetParentClass(TClass* clparent) inline void TBranchElement::SetParentClass(TClass* clparent)
{ {
fParentClass = clparent; fParentClass = clparent;
fParentName = clparent ? clparent->GetName() : ""; fParentName = clparent ? clparent->GetName() : "";
} }
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TBranchProxyDirector.h   TBranchProxyDirector.h 
// @(#)root/base:$Id: TBranchProxyDirector.h 27129 2009-01-13 08:22:29Z pca nal $ // @(#)root/base:$Id: TBranchProxyDirector.h 32218 2010-02-04 22:29:43Z pca nal $
// Author: Philippe Canal 13/05/2003 // Author: Philippe Canal 13/05/2003
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun, Fons Rademakers and al. * * Copyright (C) 1995-2004, Rene Brun, Fons Rademakers and al. *
* 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_TBranchProxyDirector #ifndef ROOT_TBranchProxyDirector
#define ROOT_TBranchProxyDirector #define ROOT_TBranchProxyDirector
#ifndef ROOT_TTree #ifndef ROOT_Rtypes
#include "TTree.h" #include "Rtypes.h"
#endif #endif
#include <list> #include <list>
#ifdef R__OLDHPACC #ifdef R__OLDHPACC
namespace std { namespace std {
using ::list; using ::list;
} }
#endif #endif
class TH1F;
class TTree;
namespace ROOT { namespace ROOT {
class TBranchProxy; class TBranchProxy;
class TFriendProxy; class TFriendProxy;
class TBranchProxyDirector { class TBranchProxyDirector {
//This class could actually be the selector itself. //This class could actually be the selector itself.
TTree *fTree; // TTree we are currently looking at. TTree *fTree; // TTree we are currently looking at.
Long64_t fEntry; // Entry currently being read. Long64_t fEntry; // Entry currently being read.
skipping to change at line 47 skipping to change at line 52
public: public:
TBranchProxyDirector(TTree* tree, Long64_t i); TBranchProxyDirector(TTree* tree, Long64_t i);
TBranchProxyDirector(TTree* tree, Int_t i); // cint has (had?) a problem casting int to long long TBranchProxyDirector(TTree* tree, Int_t i); // cint has (had?) a problem casting int to long long
TBranchProxyDirector(const TBranchProxyDirector &) {;} TBranchProxyDirector(const TBranchProxyDirector &) {;}
TBranchProxyDirector& operator=(const TBranchProxyDirector&) {return *this;} TBranchProxyDirector& operator=(const TBranchProxyDirector&) {return *this;}
void Attach(TBranchProxy* p); void Attach(TBranchProxy* p);
void Attach(TFriendProxy* f); void Attach(TFriendProxy* f);
TH1F* CreateHistogram(const char *options);
Long64_t GetReadEntry() const { return fEntry; } Long64_t GetReadEntry() const { return fEntry; }
TTree* GetTree() const { return fTree; }; TTree* GetTree() const { return fTree; };
// void Print(); // void Print();
void SetReadEntry(Long64_t entry); void SetReadEntry(Long64_t entry);
TTree* SetTree(TTree *newtree); TTree* SetTree(TTree *newtree);
}; };
} /* namespace ROOT */ } /* namespace ROOT */
 End of changes. 6 change blocks. 
3 lines changed or deleted 9 lines changed or added


 TCint.h   TCint.h 
// @(#)root/meta:$Id: TCint.h 30549 2009-10-04 01:40:54Z rdm $ // @(#)root/meta:$Id: TCint.h 32842 2010-03-30 21:49:27Z 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 31 skipping to change at line 31
// // // //
// CINT is an almost full ANSI compliant C/C++ interpreter. // // CINT is an almost full ANSI compliant C/C++ interpreter. //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TInterpreter #ifndef ROOT_TInterpreter
#include "TInterpreter.h" #include "TInterpreter.h"
#endif #endif
#ifndef __CINT__ #ifndef __CINT__
# ifdef R__BUILDING_CINT7 # include "G__ci.h"
# include "cint7/G__ci.h" # include "Api.h"
# include "cint7/Api.h"
# else
# include "G__ci.h"
# include "Api.h"
# endif
#else #else
struct G__dictposition; struct G__dictposition;
#endif #endif
#ifndef WIN32 #ifndef WIN32
# define TWin32SendClass char # define TWin32SendClass char
#endif #endif
namespace Cint { namespace Cint {
class G__ClassInfo; class G__ClassInfo;
} }
using namespace Cint; using namespace Cint;
class TMethod; class TMethod;
class TObjArray; class TObjArray;
class TEnv; class TEnv;
class TCint : public TInterpreter { class TCint : public TInterpreter {
private: private:
Int_t fMore; //1 if more input is required Int_t fMore; //1 if more input is required
Int_t fExitCode; //value passed to exit() in interpreter Int_t fExitCode; //value passed to exit() in interprete
char fPrompt[64]; //proposed prompt string r
G__dictposition fDictPos; //CINT dictionary context after init char fPrompt[64]; //proposed prompt string
G__dictposition fDictPosGlobals; //CINT dictionary context after ResetGl G__dictposition fDictPos; //CINT dictionary context after init
obals() G__dictposition fDictPosGlobals; //CINT dictionary context after ResetG
TString fSharedLibs; //list of shared libraries loaded by G_ lobals()
_loadfile TString fSharedLibs; //list of shared libraries loaded by G
TString fIncludePath; //list of CINT include paths __loadfile
TString fRootmapLoadPath;//dynamic load path used for loading ro Int_t fSharedLibsSerial;//Indicator of the last time we set fS
otmap files haredLibs
TEnv *fMapfile; //map of classes and libraries TString fIncludePath; //list of CINT include paths
TObjArray *fRootmapFiles; //list of non-default rootmap files loa TString fRootmapLoadPath; //dynamic load path used for loading r
ded ootmap files
Bool_t fLockProcessLine;//true if ProcessLine should lock gCINT TEnv *fMapfile; //map of classes and libraries
Mutex TObjArray *fRootmapFiles; //list of non-default rootmap files lo
static void *fgSetOfSpecials; //set of TObject*s used in CINT variabl aded
es Bool_t fLockProcessLine; //true if ProcessLine should lock gCIN
TMutex
static void *fgSetOfSpecials; //set of TObject*s used in CINT variab
les
TCint() : fMore(-1), fExitCode(0), fDictPos(), fDictPosGlobals(), TCint() : fMore(-1), fExitCode(0), fDictPos(), fDictPosGlobals(),
fSharedLibs(), fIncludePath(), fRootmapLoadPath(), fMapfile(0), fSharedLibs(), fIncludePath(), fRootmapLoadPath(), fMapfile(0),
fRootmapFiles(0), fLockProcessLine(kFALSE) { } //for Dictionary() onl y fRootmapFiles(0), fLockProcessLine(kFALSE) { } //for Dictionary() onl y
TCint(const TCint&); // not implemented TCint(const TCint&); // not implemented
TCint &operator=(const TCint&); // not implemented TCint &operator=(const TCint&); // not implemented
void Execute(TMethod *, TObjArray *, int * /*error*/ = 0) { } void Execute(TMethod *, TObjArray *, int * /*error*/ = 0) { }
protected: protected:
public: public:
TCint(const char *name, const char *title); TCint(const char *name, const char *title);
virtual ~TCint(); virtual ~TCint();
void AddIncludePath(const char *path); void AddIncludePath(const char *path);
Int_t AutoLoad(const char *classname); Int_t AutoLoad(const char *classname);
void ClearFileBusy(); void ClearFileBusy();
void ClearStack(); // Delete existing temporary values void ClearStack(); // Delete existing temporary values
void EnableWrappers(bool value=true);
void EnableAutoLoading(); void EnableAutoLoading();
void EndOfLineAction(); void EndOfLineAction();
Int_t GetExitCode() const { return fExitCode; } Int_t GetExitCode() const { return fExitCode; }
TEnv *GetMapfile() const { return fMapfile; } TEnv *GetMapfile() const { return fMapfile; }
Int_t GetMore() const { return fMore; } Int_t GetMore() const { return fMore; }
char *GetPrompt() { return fPrompt; } char *GetPrompt() { return fPrompt; }
const char *GetSharedLibs(); const char *GetSharedLibs();
const char *GetClassSharedLibs(const char *cls); const char *GetClassSharedLibs(const char *cls);
const char *GetSharedLibDeps(const char *lib); const char *GetSharedLibDeps(const char *lib);
const char *GetIncludePath(); const char *GetIncludePath();
 End of changes. 4 change blocks. 
27 lines changed or deleted 24 lines changed or added


 TClass.h   TClass.h 
// @(#)root/meta:$Id: TClass.h 31472 2009-11-30 17:59:33Z pcanal $ // @(#)root/meta:$Id: TClass.h 32644 2010-03-17 13:58:28Z 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 208 skipping to change at line 208
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,
ShowMembersFunc_t showmember, ShowMembersFunc_t showmember,
const char *dfil, const char *ifil, const char *dfil, const char *ifil,
Int_t dl, Int_t il, Bool_t silent = kFALSE); Int_t dl, Int_t il, Bool_t silent = kFALSE);
virtual ~TClass(); virtual ~TClass();
void AddInstance(Bool_t heap = kFALSE) { fInstanceCount++; if (heap) fOnHeap++; } void AddInstance(Bool_t heap = kFALSE) { fInstanceCount++; if (heap) fOnHeap++; }
void AddImplFile(const char *filename, int line); void AddImplFile(const char *filename, int line);
void AddRef(TClassRef *ref); void AddRef(TClassRef *ref);
static Bool_t AddRule(const char *rule);
static Int_t ReadRules(const char *filename);
static Int_t ReadRules();
void AdoptSchemaRules( ROOT::TSchemaRuleSet *rules ); void AdoptSchemaRules( ROOT::TSchemaRuleSet *rules );
virtual void Browse(TBrowser *b); virtual void Browse(TBrowser *b);
void BuildRealData(void *pointer=0, Bool_t isTransient = k FALSE); void BuildRealData(void *pointer=0, Bool_t isTransient = k FALSE);
void BuildEmulatedRealData(const char *name, Long_t offset , TClass *cl); void BuildEmulatedRealData(const char *name, Long_t offset , TClass *cl);
void CalculateStreamerOffset() const; void CalculateStreamerOffset() const;
Bool_t CallShowMembers(void* obj, TMemberInspector &insp, ch ar *parent, Bool_t CallShowMembers(void* obj, TMemberInspector &insp, ch ar *parent,
Int_t isATObject = -1) const; Int_t isATObject = -1) const;
Bool_t CanSplit() const; Bool_t CanSplit() const;
Bool_t CanIgnoreTObjectStreamer() { return TestBit(kIgnoreTO bjectStreamer);} Bool_t CanIgnoreTObjectStreamer() { return TestBit(kIgnoreTO bjectStreamer);}
TObject *Clone(const char *newname="") const; TObject *Clone(const char *newname="") const;
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TClassEdit.h   TClassEdit.h 
// @(#)root/base:$Id: TClassEdit.h 28776 2009-06-02 15:16:39Z pcanal $ // @(#)root/base:$Id: TClassEdit.h 33114 2010-04-20 19:03:33Z pcanal $
// Author: Victor Perev 10/04/2003 // Author: Victor Perev 10/04/2003
// Philippe Canal 05/2004 // Philippe Canal 05/2004
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2003, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2003, 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 35 skipping to change at line 35
#endif #endif
// TClassEdit is used to manipulate class and type names. // TClassEdit is used to manipulate class and type names.
// //
// This class does not dependent on any other ROOT facility // This class does not dependent on any other ROOT facility
// so that it can be used by rootcint. // so that it can be used by rootcint.
namespace TClassEdit { namespace TClassEdit {
enum EModType { enum EModType {
kNone = 0,
kDropTrailStar = 1<<0, kDropTrailStar = 1<<0,
kDropDefaultAlloc = 1<<1, kDropDefaultAlloc = 1<<1,
kDropAlloc = 1<<2, kDropAlloc = 1<<2,
kInnerClass = 1<<3, kInnerClass = 1<<3,
kInnedMostClass = 1<<4, kInnedMostClass = 1<<4,
kDropStlDefault = 1<<5, /* implies kDropDefaultAlloc */ kDropStlDefault = 1<<5, /* implies kDropDefaultAlloc */
kDropComparator = 1<<6, /* if the class has a comparator, drops BOT H the comparator and the Allocator */ kDropComparator = 1<<6, /* if the class has a comparator, drops BOT H the comparator and the Allocator */
kDropAllDefault = 1<<7 /* Drop default template parameter even in kDropAllDefault = 1<<7, /* Drop default template parameter even in
non STL classes */ non STL classes */
kLong64 = 1<<8 /* replace all 'long long' with Long64_t. *
/
}; };
enum ESTLType { enum ESTLType {
kNotSTL = 0, kNotSTL = 0,
kVector = 1, kVector = 1,
kList = 2, kList = 2,
kDeque = 3, kDeque = 3,
kMap = 4, kMap = 4,
kMultiMap = 5, kMultiMap = 5,
kSet = 6, kSet = 6,
kMultiSet = 7, kMultiSet = 7,
kBitSet = 8, kBitSet = 8,
kEnd = 9 kEnd = 9
}; };
struct TSplitType {
const char *fName; // Original spelling of the name.
std::vector<std::string> fElements;
int fNestedLocation; // Stores the location of the tail (nested names
) in nestedLoc (0 indicates no tail).
TSplitType(const char *type2split, EModType mode = TClassEdit::kNone)
;
int IsSTLCont(int testAlloc=0) const;
void ShortType(std::string &answer, int mode);
private:
TSplitType(const TSplitType&); // intentionally not implemented
};
std::string CleanType (const char *typeDesc,int mode = 0,const char **ta il=0); std::string CleanType (const char *typeDesc,int mode = 0,const char **ta il=0);
bool IsDefAlloc(const char *alloc, const char *classname); bool IsDefAlloc(const char *alloc, const char *classname);
bool IsDefAlloc(const char *alloc, const char *keyclassname, cons t char *valueclassname); bool IsDefAlloc(const char *alloc, const char *keyclassname, cons t char *valueclassname);
bool IsDefComp (const char *comp , const char *classname); bool IsDefComp (const char *comp , const char *classname);
bool IsSTLBitset(const char *type); bool IsSTLBitset(const char *type);
int IsSTLCont (const char *type,int testAlloc=0); int IsSTLCont (const char *type,int testAlloc=0);
bool IsStdClass(const char *type); bool IsStdClass(const char *type);
bool IsVectorBool(const char *name); bool IsVectorBool(const char *name);
std::string GetLong64_Name(const std::string& original); std::string GetLong64_Name(const std::string& original);
int GetSplit (const char *type, std::vector<std::string> &outpu t, int &nestedLoc); int GetSplit (const char *type, std::vector<std::string> &outpu t, int &nestedLoc, EModType mode = TClassEdit::kNone);
int STLKind (const char *type); //Kind of stl container int STLKind (const char *type); //Kind of stl container
int STLArgs (int kind); //Min number of arguments w ithout allocator int STLArgs (int kind); //Min number of arguments w ithout allocator
std::string ResolveTypedef(const char *tname, bool resolveAll = false); std::string ResolveTypedef(const char *tname, bool resolveAll = false);
std::string ShortType (const char *typeDesc, int mode); std::string ShortType (const char *typeDesc, int mode);
std::string InsertStd(const char *tname); std::string InsertStd(const char *tname);
} }
#endif #endif
 End of changes. 5 change blocks. 
4 lines changed or deleted 24 lines changed or added


 TCollectionProxyInfo.h   TCollectionProxyInfo.h 
// @(#)root/cont:$Id: TCollectionProxyInfo.h 31743 2009-12-09 19:08:37Z pca nal $ // @(#)root/cont:$Id: TCollectionProxyInfo.h 32611 2010-03-15 15:26:56Z rdm $
// Author: Markus Frank 28/10/04. Philippe Canal 02/01/2007 // Author: Markus Frank 28/10/04. Philippe Canal 02/01/2007
/************************************************************************* /*************************************************************************
* 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 153 skipping to change at line 153
PEnv_t e = PEnv_t(env); PEnv_t e = PEnv_t(env);
PCont_t c = PCont_t(e->fObject); PCont_t c = PCont_t(e->fObject);
#if 0 #if 0
// Assume iterators do not need destruction // Assume iterators do not need destruction
::new(e->buff) Iter_t(c->begin()); ::new(e->buff) Iter_t(c->begin());
#endif #endif
e->fIterator = c->begin(); e->fIterator = c->begin();
e->fSize = c->size(); e->fSize = c->size();
if ( 0 == e->fSize ) return e->fStart = 0; if ( 0 == e->fSize ) return e->fStart = 0;
TYPENAME T::const_reference ref = *(e->iter()); TYPENAME T::const_reference ref = *(e->iter());
return e->fStart = address(ref); return e->fStart = Type<T>::address(ref);
} }
static void* next(void* env) { static void* next(void* env) {
PEnv_t e = PEnv_t(env); PEnv_t e = PEnv_t(env);
PCont_t c = PCont_t(e->fObject); PCont_t c = PCont_t(e->fObject);
for (; e->fIdx > 0 && e->iter() != c->end(); ++(e->iter()), --e->f Idx){ } for (; e->fIdx > 0 && e->iter() != c->end(); ++(e->iter()), --e->f Idx){ }
// TODO: Need to find something for going backwards.... // TODO: Need to find something for going backwards....
if ( e->iter() == c->end() ) return 0; if ( e->iter() == c->end() ) return 0;
TYPENAME T::const_reference ref = *(e->iter()); TYPENAME T::const_reference ref = *(e->iter());
return address(ref); return Type<T>::address(ref);
} }
static void* construct(void* env) { static void* construct(void* env) {
PEnv_t e = PEnv_t(env); PEnv_t e = PEnv_t(env);
PValue_t m = PValue_t(e->fStart); PValue_t m = PValue_t(e->fStart);
for (size_t i=0; i<e->fSize; ++i, ++m) for (size_t i=0; i<e->fSize; ++i, ++m)
::new(m) Value_t(); ::new(m) Value_t();
return 0; return 0;
} }
static void* collect(void* env) { static void* collect(void* env) {
PEnv_t e = PEnv_t(env); PEnv_t e = PEnv_t(env);
skipping to change at line 216 skipping to change at line 216
typedef typename T::value_type Value_t; typedef typename T::value_type Value_t;
typedef Environ<Iter_t> Env_t; typedef Environ<Iter_t> Env_t;
typedef Env_t *PEnv_t; typedef Env_t *PEnv_t;
typedef Cont_t *PCont_t; typedef Cont_t *PCont_t;
typedef Value_t *PValue_t; typedef Value_t *PValue_t;
static void* resize(void* env) { static void* resize(void* env) {
PEnv_t e = PEnv_t(env); PEnv_t e = PEnv_t(env);
PCont_t c = PCont_t(e->fObject); PCont_t c = PCont_t(e->fObject);
c->resize(e->fSize); c->resize(e->fSize);
e->fIdx = 0; e->fIdx = 0;
return e->fStart = e->fSize ? address(*c->begin()) : 0; return e->fStart = e->fSize ? Type<T>::address(*c->begin()) : 0;
} }
static void* feed(void* env) { static void* feed(void* env) {
PEnv_t e = PEnv_t(env); PEnv_t e = PEnv_t(env);
PCont_t c = PCont_t(e->fObject); PCont_t c = PCont_t(e->fObject);
PValue_t m = PValue_t(e->fStart); // Here start is actually a 'buf fer' outside the buffer. PValue_t m = PValue_t(e->fStart); // Here start is actually a 'buf fer' outside the buffer.
for (size_t i=0; i<e->fSize; ++i, ++m) for (size_t i=0; i<e->fSize; ++i, ++m)
c->push_back(*m); c->push_back(*m);
return 0; return 0;
} }
static int value_offset() { static int value_offset() {
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 TCutG.h   TCutG.h 
// @(#)root/graf:$Id: TCutG.h 29443 2009-07-11 10:49:10Z brun $ // @(#)root/graf:$Id: TCutG.h 31952 2010-01-04 08:24:07Z brun $
// Author: Rene Brun 16/05/97 // Author: Rene Brun 16/05/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 44 skipping to change at line 44
TObject *fObjectX; //!pointer to an object corresponding to X TObject *fObjectX; //!pointer to an object corresponding to X
TObject *fObjectY; //!pointer to an object corresponding to Y TObject *fObjectY; //!pointer to an object corresponding to Y
public: public:
TCutG(); TCutG();
TCutG(const TCutG &cutg); TCutG(const TCutG &cutg);
TCutG(const char *name, Int_t n); TCutG(const char *name, Int_t n);
TCutG(const char *name, Int_t n, const Float_t *x, const Float_t *y); TCutG(const char *name, Int_t n, const Float_t *x, const Float_t *y);
TCutG(const char *name, Int_t n, const Double_t *x, const Double_t *y); TCutG(const char *name, Int_t n, const Double_t *x, const Double_t *y);
virtual ~TCutG(); virtual ~TCutG();
TObject *GetObjectX() const {return fObjectX;} virtual Double_t Area() const;
TObject *GetObjectY() const {return fObjectY;} virtual void Center(Double_t &cx, Double_t &cy) const;
const char *GetVarX() const {return fVarX.Data();} TObject *GetObjectX() const {return fObjectX;}
const char *GetVarY() const {return fVarY.Data();} TObject *GetObjectY() const {return fObjectY;}
Double_t IntegralHist(TH2 *h, Option_t *option="") const; const char *GetVarX() const {return fVarX.Data();}
virtual Int_t IsInside(Double_t x, Double_t y) const; const char *GetVarY() const {return fVarY.Data();}
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual Double_t IntegralHist(TH2 *h, Option_t *option="") const;
virtual void SetObjectX(TObject *obj) {fObjectX = obj;} virtual Int_t IsInside(Double_t x, Double_t y) const;
virtual void SetObjectY(TObject *obj) {fObjectY = obj;} virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void SetVarX(const char *varx); // *MENU* virtual void SetObjectX(TObject *obj) {fObjectX = obj;}
virtual void SetVarY(const char *vary); // *MENU* virtual void SetObjectY(TObject *obj) {fObjectY = obj;}
virtual void SetVarX(const char *varx); // *MENU*
virtual void SetVarY(const char *vary); // *MENU*
ClassDef(TCutG,2) // A Graphical cut. ClassDef(TCutG,2) // A Graphical cut.
}; };
#endif #endif
 End of changes. 2 change blocks. 
12 lines changed or deleted 14 lines changed or added


 TDSet.h   TDSet.h 
// @(#)root/proof:$Id: TDSet.h 23075 2008-04-09 09:10:25Z ganis $ // @(#)root/proof:$Id: TDSet.h 33086 2010-04-18 18:15:56Z ganis $
// Author: Fons Rademakers 11/01/02 // Author: Fons Rademakers 11/01/02
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2001, 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 74 skipping to change at line 74
#include <list> #include <list>
class TDSetElement : public TNamed { class TDSetElement : public TNamed {
public: public:
typedef std::list<std::pair<TDSetElement*, TString> > FriendsList_t; typedef std::list<std::pair<TDSetElement*, TString> > FriendsList_t;
// TDSetElement status bits // TDSetElement status bits
enum EStatusBits { enum EStatusBits {
kHasBeenLookedUp = BIT(15), kHasBeenLookedUp = BIT(15),
kWriteV3 = BIT(16), kWriteV3 = BIT(16),
kEmpty = BIT(17), kEmpty = BIT(17),
kCorrupted = BIT(18) kCorrupted = BIT(18),
kNewRun = BIT(19),
kNewPacket = BIT(20)
}; };
private: private:
TString fDirectory; // directory in file where to look for obj ects TString fDirectory; // directory in file where to look for obj ects
Long64_t fFirst; // first entry to process Long64_t fFirst; // first entry to process
Long64_t fNum; // number of entries to process Long64_t fNum; // number of entries to process
TString fMsd; // mass storage domain name TString fMsd; // mass storage domain name
Long64_t fTDSetOffset;// the global offset in the TDSet of the f irst Long64_t fTDSetOffset;// the global offset in the TDSet of the f irst
// entry in this element // entry in this element
TObject *fEntryList; // entry (or event) list to be used in pro cessing TObject *fEntryList; // entry (or event) list to be used in pro cessing
Bool_t fValid; // whether or not the input values are val id Bool_t fValid; // whether or not the input values are val id
Long64_t fEntries; // total number of possible entries in fil e Long64_t fEntries; // total number of possible entries in fil e
TList *fFriends; // friend elements TList *fFriends; // friend elements
TString fDataSet; // Name of the dataset of which this eleme
nt is part
TList *fAssocObjList; // List of objects associated to this e
lement
// (e.g. TObjString describing associate
d files)
Bool_t HasBeenLookedUp() const { return TestBit(kHasBeenLooked Up); } Bool_t HasBeenLookedUp() const { return TestBit(kHasBeenLooked Up); }
TDSetElement& operator=(const TDSetElement &); // Not implemented TDSetElement& operator=(const TDSetElement &); // Not implemented
public: public:
TDSetElement(); TDSetElement();
TDSetElement(const char *file, const char *objname = 0, TDSetElement(const char *file, const char *objname = 0,
const char *dir = 0, Long64_t first = 0, Long64_t num = -1, const char *dir = 0, Long64_t first = 0, Long64_t num = -1,
const char *msd = 0); const char *msd = 0, const char *dataset = 0);
TDSetElement(const TDSetElement& elem); TDSetElement(const TDSetElement& elem);
virtual ~TDSetElement(); virtual ~TDSetElement();
virtual TList *GetListOfFriends() const { return fFriends; } virtual TList *GetListOfFriends() const { return fFriends; }
virtual void AddFriend(TDSetElement *friendElement, const char *alia s); virtual void AddFriend(TDSetElement *friendElement, const char *alia s);
virtual void DeleteFriends(); virtual void DeleteFriends();
const char *GetFileName() const { return GetName(); } const char *GetFileName() const { return GetName(); }
Long64_t GetFirst() const { return fFirst; } Long64_t GetFirst() const { return fFirst; }
void SetFirst(Long64_t first) { fFirst = first; } void SetFirst(Long64_t first) { fFirst = first; }
Long64_t GetNum() const { return fNum; } Long64_t GetNum() const { return fNum; }
Long64_t GetEntries(Bool_t istree = kTRUE, Bool_t openfile = kTR UE); Long64_t GetEntries(Bool_t istree = kTRUE, Bool_t openfile = kTR UE);
void SetEntries(Long64_t ent) { fEntries = ent; } void SetEntries(Long64_t ent) { fEntries = ent; }
const char *GetMsd() const { return fMsd; } const char *GetMsd() const { return fMsd; }
void SetNum(Long64_t num) { fNum = num; } void SetNum(Long64_t num) { fNum = num; }
Bool_t GetValid() const { return fValid; } Bool_t GetValid() const { return fValid; }
const char *GetObjName() const { return GetTitle(); } const char *GetObjName() const { return GetTitle(); }
const char *GetDirectory() const; const char *GetDirectory() const;
const char *GetDataSet() const { return fDataSet; }
void SetDataSet(const char *dataset) { fDataSet = dataset; }
void AddAssocObj(TObject *assocobj);
TList *GetListOfAssocObjs() const { return fAssocObjList; }
TObject *GetAssocObj(Long64_t i, Bool_t isentry = kFALSE);
void Print(Option_t *options="") const; void Print(Option_t *options="") const;
Long64_t GetTDSetOffset() const { return fTDSetOffset; } Long64_t GetTDSetOffset() const { return fTDSetOffset; }
void SetTDSetOffset(Long64_t offset) { fTDSetOffset = offset ; } void SetTDSetOffset(Long64_t offset) { fTDSetOffset = offset ; }
void SetEntryList(TObject *aList, Long64_t first = -1, Long6 4_t num = -1); void SetEntryList(TObject *aList, Long64_t first = -1, Long6 4_t num = -1);
TObject *GetEntryList() const { return fEntryList; } TObject *GetEntryList() const { return fEntryList; }
void Validate(Bool_t isTree); void Validate(Bool_t isTree);
void Validate(TDSetElement *elem); void Validate(TDSetElement *elem);
void Invalidate() { fValid = kFALSE; } void Invalidate() { fValid = kFALSE; }
void SetValid() { fValid = kTRUE; } void SetValid() { fValid = kTRUE; }
Int_t Compare(const TObject *obj) const; Int_t Compare(const TObject *obj) const;
Bool_t IsSortable() const { return kTRUE; } Bool_t IsSortable() const { return kTRUE; }
Int_t Lookup(Bool_t force = kFALSE); Int_t Lookup(Bool_t force = kFALSE);
void SetLookedUp() { SetBit(kHasBeenLookedUp); } void SetLookedUp() { SetBit(kHasBeenLookedUp); }
TFileInfo *GetFileInfo(const char *type = "TTree"); TFileInfo *GetFileInfo(const char *type = "TTree");
ClassDef(TDSetElement,6) // A TDSet element ClassDef(TDSetElement,8) // A TDSet element
}; };
class TDSet : public TNamed { class TDSet : public TNamed {
public: public:
// TDSet status bits // TDSet status bits
enum EStatusBits { enum EStatusBits {
kWriteV3 = BIT(16), kWriteV3 = BIT(16),
kEmpty = BIT(17), kEmpty = BIT(17),
kValidityChecked = BIT(18), // Set if elements validiy has been chec ked kValidityChecked = BIT(18), // Set if elements validiy has been chec ked
kSomeInvalid = BIT(19) // Set if at least one element is invali kSomeInvalid = BIT(19), // Set if at least one element is invali
d d
kMultiDSet = BIT(20) // Set if fElements is a list of dataset
s
}; };
private: private:
TString fDir; // name of the directory
TString fType; // type of objects (e.g. TTree);
TString fObjName; // name of objects to be analyzed (e.g. TTr
ee name)
THashList *fElements; //-> list of TDSetElements
Bool_t fIsTree; // true if type is a TTree (or TTree derive d) Bool_t fIsTree; // true if type is a TTree (or TTree derive d)
TIter *fIterator; //! iterator on fElements
TObject *fEntryList; //! entry (or event) list for processing TObject *fEntryList; //! entry (or event) list for processing
TProofChain *fProofChain; //! for browsing purposes TProofChain *fProofChain; //! for browsing purposes
void SplitEntryList(); //Split entry list between elements void SplitEntryList(); //Split entry list between elements
TDSet(const TDSet &); // not implemented TDSet(const TDSet &); // not implemented
void operator=(const TDSet &); // not implemented void operator=(const TDSet &); // not implemented
protected: protected:
TDSetElement *fCurrent; //! current element TString fDir; // name of the directory
TString fType; // type of objects (e.g. TTree);
TString fObjName; // name of objects to be analyzed (e.g. TTr
ee name)
THashList *fElements; //-> list of TDSetElements (or TDSets, if i
n multi mode)
TIter *fIterator; //! iterator on fElements
TDSetElement *fCurrent; //! current element
TList *fSrvMaps; //! list for mapping server coordinates for
files
TIter *fSrvMapsIter; //! iterator on fSrvMaps
public: public:
TDSet(); TDSet();
TDSet(const char *name, const char *objname = "*", TDSet(const char *name, const char *objname = "*",
const char *dir = "/", const char *type = 0); const char *dir = "/", const char *type = 0);
TDSet(const TChain &chain, Bool_t withfriends = kTRUE); TDSet(const TChain &chain, Bool_t withfriends = kTRUE);
virtual ~TDSet(); virtual ~TDSet();
virtual Bool_t Add(const char *file, const char *objname = 0, virtual Bool_t Add(const char *file, const char *objname = 0,
const char *dir = 0, Long64_t first = 0, const char *dir = 0, Long64_t first = 0,
skipping to change at line 204 skipping to change at line 218
void SetObjName(const char *objname); void SetObjName(const char *objname);
void SetDirectory(const char *dir); void SetDirectory(const char *dir);
Bool_t IsTree() const { return fIsTree; } Bool_t IsTree() const { return fIsTree; }
Bool_t IsValid() const { return !fType.IsNull(); } Bool_t IsValid() const { return !fType.IsNull(); }
Bool_t ElementsValid(); Bool_t ElementsValid();
const char *GetType() const { return fType; } const char *GetType() const { return fType; }
const char *GetObjName() const { return fObjName; } const char *GetObjName() const { return fObjName; }
const char *GetDirectory() const { return fDir; } const char *GetDirectory() const { return fDir; }
TList *GetListOfElements() const { return (TList *)fEleme nts; } TList *GetListOfElements() const { return (TList *)fEleme nts; }
Int_t GetNumOfFiles();
Int_t Remove(TDSetElement *elem, Bool_t deleteElem = kTR UE); Int_t Remove(TDSetElement *elem, Bool_t deleteElem = kTR UE);
virtual void Reset(); virtual void Reset();
virtual TDSetElement *Next(Long64_t totalEntries = -1); virtual TDSetElement *Next(Long64_t totalEntries = -1);
TDSetElement *Current() const { return fCurrent; }; TDSetElement *Current() const { return fCurrent; };
static Long64_t GetEntries(Bool_t isTree, const char *filename, static Long64_t GetEntries(Bool_t isTree, const char *filename,
const char *path, TString &objname); const char *path, TString &objname);
skipping to change at line 229 skipping to change at line 244
virtual TTree *GetTreeHeader(TProof *proof); virtual TTree *GetTreeHeader(TProof *proof);
virtual void SetEntryList(TObject *aList); virtual void SetEntryList(TObject *aList);
TObject *GetEntryList() const { return fEntryList; } TObject *GetEntryList() const { return fEntryList; }
void Validate(); void Validate();
void Validate(TDSet *dset); void Validate(TDSet *dset);
void Lookup(Bool_t removeMissing = kFALSE, TList **miss ingFiles = 0); void Lookup(Bool_t removeMissing = kFALSE, TList **miss ingFiles = 0);
void SetLookedUp(); void SetLookedUp();
void SetSrvMaps(TList *srvmaps = 0);
void SetWriteV3(Bool_t on = kTRUE); void SetWriteV3(Bool_t on = kTRUE);
ClassDef(TDSet,6) // Data set for remote processing (PROOF) ClassDef(TDSet,8) // Data set for remote processing (PROOF)
}; };
#endif #endif
 End of changes. 13 change blocks. 
14 lines changed or deleted 37 lines changed or added


 TDataSetManager.h   TDataSetManager.h 
// @(#)root/proof:$Id: TDataSetManager.h 30421 2009-09-24 17:20:09Z ganis $ // @(#)root/proof:$Id: TDataSetManager.h 33209 2010-04-26 10:27:40Z ganis $
// Author: Jan Fiete Grosse-Oetringhaus, 08.08.07 // Author: Jan Fiete Grosse-Oetringhaus, 08.08.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 39 skipping to change at line 39
#include "TString.h" #include "TString.h"
#endif #endif
#ifndef ROOT_TMap #ifndef ROOT_TMap
#include "TMap.h" #include "TMap.h"
#endif #endif
#ifndef ROOT_TUri #ifndef ROOT_TUri
#include "TUri.h" #include "TUri.h"
#endif #endif
class TFileCollection; class TFileCollection;
class TFileInfo;
class TMD5; class TMD5;
class TUrl;
class TVirtualMonitoringWriter; class TVirtualMonitoringWriter;
class TDataSetManager : public TObject { class TDataSetManager : public TObject {
private: private:
TDataSetManager(const TDataSetManager&); // not implemented TDataSetManager(const TDataSetManager&); // not implemented
TDataSetManager& operator=(const TDataSetManager&); // not implemented TDataSetManager& operator=(const TDataSetManager&); // not implemented
protected: protected:
TString fGroup; // Group to which the owner of this session bel ongs TString fGroup; // Group to which the owner of this session bel ongs
skipping to change at line 71 skipping to change at line 73
Int_t fNTouchedFiles; // Number of files touched in the last ScanData Set operation Int_t fNTouchedFiles; // Number of files touched in the last ScanData Set operation
Int_t fNOpenedFiles; // Number of files opened in the last ScanDataS et operation Int_t fNOpenedFiles; // Number of files opened in the last ScanDataS et operation
Int_t fNDisappearedFiles; // Number of files disappared in the last S canDataSet operation Int_t fNDisappearedFiles; // Number of files disappared in the last S canDataSet operation
TString fGroupConfigFile; // Path to the group config file TString fGroupConfigFile; // Path to the group config file
Long_t fMTimeGroupConfig; // Last modification of the group config fil e Long_t fMTimeGroupConfig; // Last modification of the group config fil e
static TString fgCommonDataSetTag; // Name for common datasets, default : COMMON static TString fgCommonDataSetTag; // Name for common datasets, default : COMMON
static TList *fgDataSetSrvMaps; // List of TPair(TRegexp, TObjString) fo
r mapping server coordinates
// for dataset files (init from DataSet.S
rvMap)
virtual TMap *GetGroupUsedMap() { return &fGroupUsed; } virtual TMap *GetGroupUsedMap() { return &fGroupUsed; }
virtual TMap *GetUserUsedMap() { return &fUserUsed; } virtual TMap *GetUserUsedMap() { return &fUserUsed; }
Int_t GetNTouchedFiles() const { return fNTouchedFiles; } Int_t GetNTouchedFiles() const { return fNTouchedFiles; }
Int_t GetNOpenedFiles() const { return fNOpenedFiles; } Int_t GetNOpenedFiles() const { return fNOpenedFiles; }
Int_t GetNDisapparedFiles() const { return fNDisappearedFiles; } Int_t GetNDisapparedFiles() const { return fNDisappearedFiles; }
void GetQuota(const char *group, const char *user, const char *dsNam e, TFileCollection *dataset); void GetQuota(const char *group, const char *user, const char *dsNam e, TFileCollection *dataset);
void PrintDataSet(TFileCollection *fc, Int_t popt = 0); void PrintDataSet(TFileCollection *fc, Int_t popt = 0);
void PrintUsedSpace(); void PrintUsedSpace();
Bool_t ReadGroupConfig(const char *cf = 0); Bool_t ReadGroupConfig(const char *cf = 0);
virtual void UpdateUsedSpace(); virtual void UpdateUsedSpace();
static Long64_t ToBytes(const char *size = 0); static Long64_t ToBytes(const char *size = 0);
public: public:
enum EDataSetStatusBits { enum EDataSetStatusBits {
kCheckQuota = BIT(15), // quota checking enabled kCheckQuota = BIT(15), // quota checking enabled
kAllowRegister = BIT(16), // allow registration of a new dataset kAllowRegister = BIT(16), // allow registration of a new dataset
kAllowVerify = BIT(17), // allow verification of a dataset (requi res registration permit) kAllowVerify = BIT(17), // allow verification of a dataset (requi res registration permit)
kTrustInfo = BIT(18), // during registration, trust the availab le information provided by the user kTrustInfo = BIT(18), // during registration, trust the availab le information provided by the user
kIsSandbox = BIT(19) // dataset dir is in the user sandbox (si kIsSandbox = BIT(19), // dataset dir is in the user sandbox (si
mplified naming) mplified naming)
kUseCache = BIT(20), // force the usage of cache
kDoNotUseCache = BIT(21) // disable the cache
}; };
enum EDataSetWorkOpts { // General (bits 1-8) enum EDataSetWorkOpts { // General (bits 1-8)
kDebug = 1, kShowDefault = 2, kPrint = 4, kExpor t = 8, kDebug = 1, kShowDefault = 2, kPrint = 4, kExpor t = 8,
kQuotaUpdate = 16, kSetDefaultTree = 32, kQuotaUpdate = 16, kSetDefaultTree = 32, kForceS
can = 64,
kNoHeaderPrint = 128,
// File-based specific (bits 9-16) // File-based specific (bits 9-16)
kReopen = 256, kTouch = 512, kMaxFiles = 1024, k ReadShort = 2048, kReopen = 256, kTouch = 512, kMaxFiles = 1024, k ReadShort = 2048,
kFileMustExist = 4096}; kFileMustExist = 4096,
// Auxilliary bits (bits 17-)
kNoCacheUpdate = 65536, kRefreshLs = 131072, kLi
st = 262144
};
TDataSetManager(const char *group = 0, const char *user = 0, const char *options = 0); TDataSetManager(const char *group = 0, const char *user = 0, const char *options = 0);
virtual ~TDataSetManager(); virtual ~TDataSetManager();
virtual Int_t ClearCache(const char *uri);
virtual Long64_t GetAvgFileSize() const { return fAvgFileSize; }
virtual TFileCollection *GetDataSet(const char *uri, const char *server = 0); virtual TFileCollection *GetDataSet(const char *uri, const char *server = 0);
virtual TMap *GetDataSets(const char *uri, UInt_t /*option*/ = 0); virtual TMap *GetDataSets(const char *uri, UInt_t /*option*/ = TDataSetManager::kExport);
virtual TMap *GetSubDataSets(const char *uri, const char *exc ludeservers); virtual TMap *GetSubDataSets(const char *uri, const char *exc ludeservers);
virtual Long64_t GetGroupQuota(const char *group); virtual Long64_t GetGroupQuota(const char *group);
virtual TMap *GetGroupQuotaMap() { return &fGroupQuota; } virtual TMap *GetGroupQuotaMap() { return &fGroupQuota; }
virtual Long64_t GetGroupUsed(const char *group); virtual Long64_t GetGroupUsed(const char *group);
virtual Bool_t ExistsDataSet(const char *uri); virtual Bool_t ExistsDataSet(const char *uri);
virtual void MonitorUsedSpace(TVirtualMonitoringWriter *moni toring); virtual void MonitorUsedSpace(TVirtualMonitoringWriter *moni toring);
virtual Int_t NotifyUpdate(const char *group = 0, const char
*user = 0,
const char *dspath = 0, Long_t mti
me = 0, const char *checksum = 0);
Bool_t ParseUri(const char *uri, TString *dsGroup = 0, TString *dsUser = 0, Bool_t ParseUri(const char *uri, TString *dsGroup = 0, TString *dsUser = 0,
TString *dsName = 0, TString *dsTree = 0, TString *dsName = 0, TString *dsTree = 0,
Bool_t onlyCurrent = kFALSE, Bool_t wi ldcards = kFALSE); Bool_t onlyCurrent = kFALSE, Bool_t wi ldcards = kFALSE);
virtual void ParseInitOpts(const char *opts); virtual void ParseInitOpts(const char *opts);
virtual Bool_t RemoveDataSet(const char *uri); virtual Bool_t RemoveDataSet(const char *uri);
virtual Int_t RegisterDataSet(const char *uri, TFileCollectio n *dataSet, const char *opt); virtual Int_t RegisterDataSet(const char *uri, TFileCollectio n *dataSet, const char *opt);
virtual Int_t ScanDataSet(const char *uri, UInt_t option = 0) ; virtual Int_t ScanDataSet(const char *uri, UInt_t option = 0) ;
void SetScanCounters(Int_t t = -1, Int_t o = -1, Int
_t d = -1);
virtual Int_t ShowCache(const char *uri);
virtual void ShowQuota(const char *opt); virtual void ShowQuota(const char *opt);
virtual void ShowDataSets(const char *uri = "*", const char *opt = ""); virtual void ShowDataSets(const char *uri = "*", const char *opt = "");
static TString CreateUri(const char *dsGroup = 0, const char * dsUser = 0, static TString CreateUri(const char *dsGroup = 0, const char * dsUser = 0,
const char *dsName = 0, const char *d sTree = 0); const char *dsName = 0, const char *d sTree = 0);
static Bool_t CheckDataSetSrvMaps(TUrl *furl, TString &fn, TL
ist *srvmaplist = 0);
static TList *GetDataSetSrvMaps();
static TList *ParseDataSetSrvMaps(const TString &srvmaps);
static Int_t ScanDataSet(TFileCollection *dataset, Int_t fop
enopt, Bool_t notify = kFALSE,
Int_t scanfopt = 0, TList *flist =
0, Long64_t avgsize = -1,
const char *mssurl = 0, Int_t files
max = -1,
Int_t *touched = 0, Int_t *opened =
0, Int_t *disappeared = 0);
static Int_t ScanFile(TFileInfo *fileinfo, Bool_t notify);
ClassDef(TDataSetManager, 0) // Abstract data set manager class ClassDef(TDataSetManager, 0) // Abstract data set manager class
}; };
#endif #endif
 End of changes. 12 change blocks. 
6 lines changed or deleted 43 lines changed or added


 TDataSetManagerFile.h   TDataSetManagerFile.h 
// @(#)root/proof:$Id: TDataSetManagerFile.h 29133 2009-06-22 12:28:50Z bru n $ // @(#)root/proof:$Id: TDataSetManagerFile.h 33156 2010-04-23 12:46:14Z gan is $
// Author: Jan Fiete Grosse-Oetringhaus, 08.08.07 // Author: Jan Fiete Grosse-Oetringhaus, 08.08.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 28 skipping to change at line 28
// // // //
// Implementation of TDataSetManager handling datasets from root // // Implementation of TDataSetManager handling datasets from root //
// files under a specific directory path // // files under a specific directory path //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TDataSetManager #ifndef ROOT_TDataSetManager
#include "TDataSetManager.h" #include "TDataSetManager.h"
#endif #endif
const char* const kDataSet_LocalCache = "dataset.cache"; // default cache
subdirectory
const char* const kDataSet_DataSetList = "dataset.list"; // file with inf
o about all datasets
const char* const kDataSet_LockLocation = "lock.location"; // location of t
he lock file
class TDataSetManagerFile : public TDataSetManager { class TDataSetManagerFile : public TDataSetManager {
private: private:
TString fDataSetDir; // Location of datasets TString fDataSetDir; // Location of datasets
TString fMSSUrl; // URL for the Mass Storage System TString fMSSUrl; // URL for the Mass Storage System
TString fDataSetLockFile; // Dataset lock file TString fDataSetLockFile; // Dataset lock file
Int_t fLockFileTimeLimit; // Limit in seconds after a lock automatical ly expires Int_t fLockFileTimeLimit; // Limit in seconds after a lock automatical ly expires
TString fListFile; // File to check repository updates
Bool_t fIsRemote; // True if the repository is remote
Bool_t fUseCache; // True if the cache is used for browsing re
mote repositories
TString fLocalCacheDir; // Local cache when the repository is remote
Int_t fCacheUpdatePeriod; // Period for checking for new updated infor
mation
// Local cache handling
void InitLocalCache();
Int_t CheckLocalCache(const char *group, const char *user, const char
*dsName = "ls", UInt_t option = 0);
protected: protected:
const char *GetDataSetPath(const char *group, const char *user, const ch ar *dsName); const char *GetDataSetPath(const char *group, const char *user, const ch ar *dsName);
Bool_t BrowseDataSets(const char *group, const char *user, UInt_t option const char *GetDataSetPath(const char *group, const char *user, const ch
, TObject *target); ar *dsName,
TString &md5path, Bool_t local = kFALSE);
void Init();
Bool_t BrowseDataSets(const char *group, const char *user, const char *d
sName,
UInt_t option, TObject *target);
Bool_t RemoveDataSet(const char *group, const char *user, const char *ds Name); Bool_t RemoveDataSet(const char *group, const char *user, const char *ds Name);
Bool_t ExistsDataSet(const char *group, const char *user, const char *ds Name); Bool_t ExistsDataSet(const char *group, const char *user, const char *ds Name);
Int_t ScanDataSet(const char *group, const char *user, const char *dsNa me, UInt_t option); Int_t ScanDataSet(const char *group, const char *user, const char *dsNa me, UInt_t option);
Int_t ChecksumDataSet(const char *path, const char *md5path, TString &c
hecksum);
Int_t CreateLsFile(const char *group, const char *user, Long_t &mtime,
TString &checksum);
Int_t FillLsDataSet(const char *group, const char *user, const char *ds
Name, TList *out, UInt_t option);
void UpdateUsedSpace(); void UpdateUsedSpace();
public: public:
TDataSetManagerFile(const char *group = 0, const char *user = 0, const c TDataSetManagerFile() : TDataSetManager(0, 0, 0) { }
har *ins = 0); TDataSetManagerFile(const char *group, const char *user, const char *ins
);
TDataSetManagerFile(const char *ins);
virtual ~TDataSetManagerFile() { } virtual ~TDataSetManagerFile() { }
void ParseInitOpts(const char *opts); void ParseInitOpts(const char *opts);
Int_t ClearCache(const char *uri = 0);
TFileCollection *GetDataSet(const char *uri, const char *srv = 0); TFileCollection *GetDataSet(const char *uri, const char *srv = 0);
TMap *GetDataSets(const char *uri, UInt_t /*option*/ = 0); TMap *GetDataSets(const char *uri, UInt_t option = TDataSetMa
Bool_t ExistsDataSet(const char *uri); nager::kExport);
Bool_t RemoveDataSet(const char *uri); Bool_t ExistsDataSet(const char *uri);
Bool_t RemoveDataSet(const char *uri);
Int_t RegisterDataSet(const char *uri, TFileCollection *dataSet, const c
har *opt); Int_t RegisterDataSet(const char *uri, TFileCollection *dataS
Int_t ScanDataSet(const char *uri, UInt_t option = 0); et, const char *opt);
Int_t ScanDataSet(const char *uri, UInt_t option = 0);
Int_t NotifyUpdate(const char *group, const char *user,
const char *dspath, Long_t mtime, const char *checks
um = 0);
Int_t ShowCache(const char *uri = 0);
// These should / could be private but they are used directly by the ext ernal daemon // These should / could be private but they are used directly by the ext ernal daemon
TFileCollection *GetDataSet(const char *group, const char *user, const c har *dsName, TFileCollection *GetDataSet(const char *group, const char *user, const c har *dsName,
UInt_t option = 0, TMD5 **checksum = 0); UInt_t option = 0, TMD5 **checksum = 0);
TMap *GetDataSets(const char *group, const char *user, UInt_t option = 0 TMap *GetDataSets(const char *group, const char *user, const
); char *dsName = 0,
Int_t ScanDataSet(TFileCollection *dataset, UInt_t option, Int_t filesma UInt_t option = 0);
x = -1); const char *GetMSSUrl() const { return fMSSUrl; }
Int_t WriteDataSet(const char *group, const char *user, const char *dsNa Int_t WriteDataSet(const char *group, const char *user, const
me, char *dsName,
TFileCollection *dataset, UInt_t option = 0, TMD5 *ch TFileCollection *dataset, UInt_t option =
ecksum = 0); 0, TMD5 *checksum = 0);
ClassDef(TDataSetManagerFile, 0) // DataSet manager for files ClassDef(TDataSetManagerFile, 0) // DataSet manager for files
}; };
#endif #endif
 End of changes. 9 change blocks. 
20 lines changed or deleted 60 lines changed or added


 TDictionary.h   TDictionary.h 
// @(#)root/meta:$Id: TDictionary.h 27287 2009-01-29 04:52:36Z pcanal $ // @(#)root/meta:$Id: TDictionary.h 31914 2009-12-16 10:57:32Z rdm $
// Author: Fons Rademakers 20/06/96 // Author: Fons Rademakers 20/06/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 47 skipping to change at line 47
// CINT C++ interpreter. // // CINT C++ interpreter. //
// // // //
// TMethodCall (method call environment) // // TMethodCall (method call environment) //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TNamed #ifndef ROOT_TNamed
#include "TNamed.h" #include "TNamed.h"
#endif #endif
#ifndef R__BUILDING_CINT7
#include "Property.h" #include "Property.h"
#else
#include "cint7/Property.h"
#endif
typedef void CallFunc_t; typedef void CallFunc_t;
typedef void ClassInfo_t; typedef void ClassInfo_t;
typedef void BaseClassInfo_t; typedef void BaseClassInfo_t;
typedef void DataMemberInfo_t; typedef void DataMemberInfo_t;
typedef void MethodInfo_t; typedef void MethodInfo_t;
typedef void MethodArgInfo_t; typedef void MethodArgInfo_t;
typedef void MethodArgInfo_t; typedef void MethodArgInfo_t;
typedef void TypeInfo_t; typedef void TypeInfo_t;
typedef void TypedefInfo_t; typedef void TypedefInfo_t;
 End of changes. 3 change blocks. 
5 lines changed or deleted 1 lines changed or added


 TEveBoxSet.h   TEveBoxSet.h 
// @(#)root/eve:$Id: TEveBoxSet.h 31517 2009-12-03 11:56:23Z matevz $ // @(#)root/eve:$Id: TEveBoxSet.h 32935 2010-04-09 20:10:18Z 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 43 skipping to change at line 43
kBT_AABox, // axis-aligned box: specify (x,y,z) and (w, h, d) kBT_AABox, // axis-aligned box: specify (x,y,z) and (w, h, d)
kBT_AABoxFixedDim, // axis-aligned box w/ fixed dimensions: spec ify (x,y,z) kBT_AABoxFixedDim, // axis-aligned box w/ fixed dimensions: spec ify (x,y,z)
kBT_Cone, kBT_Cone,
kBT_EllipticCone kBT_EllipticCone
}; };
protected: protected:
struct BFreeBox_t : public DigitBase_t { Float_t fVertices[24]; }; struct BFreeBox_t : public DigitBase_t { Float_t fVertices[24]; };
struct BOrigin_t : public DigitBase_t { Float_t fA, fB, fC; virtu al ~BOrigin_t() {} }; struct BOrigin_t : public DigitBase_t { Float_t fA, fB, fC; };
struct BAABox_t : public BOrigin_t { Float_t fW, fH, fD; }; struct BAABox_t : public BOrigin_t { Float_t fW, fH, fD; };
struct BAABoxFixedDim_t : public BOrigin_t {}; struct BAABoxFixedDim_t : public BOrigin_t {};
struct BCone_t : public DigitBase_t { TEveVector fPos, fDir; Fl oat_t fR; virtual ~BCone_t() {} }; struct BCone_t : public DigitBase_t { TEveVector fPos, fDir; Fl oat_t fR; };
struct BEllipticCone_t : public BCone_t { Float_t fR2, fAngle; }; struct BEllipticCone_t : public BCone_t { Float_t fR2, fAngle; };
protected: protected:
EBoxType_e fBoxType; // Type of rendered box. EBoxType_e fBoxType; // Type of rendered box.
Float_t fDefWidth; // Breadth assigned to first coordinate (A). Float_t fDefWidth; // Breadth assigned to first coordinate (A).
Float_t fDefHeight; // Breadth assigned to second coordinat e (B). Float_t fDefHeight; // Breadth assigned to second coordinat e (B).
Float_t fDefDepth; // Breadth assigned to third coordinate (C). Float_t fDefDepth; // Breadth assigned to third coordinate (C).
Bool_t fDrawConeCap; Bool_t fDrawConeCap;
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added


 TEveBoxSetGL.h   TEveBoxSetGL.h 
// @(#)root/eve:$Id: TEveBoxSetGL.h 31450 2009-11-27 14:25:37Z matevz $ // @(#)root/eve:$Id: TEveBoxSetGL.h 33124 2010-04-21 20:04:42Z 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_TEveBoxSetGL #ifndef ROOT_TEveBoxSetGL
#define ROOT_TEveBoxSetGL #define ROOT_TEveBoxSetGL
#include "TGLObject.h" #include "TEveDigitSetGL.h"
#include "TEveBoxSet.h" #include "TEveBoxSet.h"
class TEveBoxSetGL : public TGLObject class TEveBoxSetGL : public TEveDigitSetGL
{ {
TEveBoxSetGL(const TEveBoxSetGL&); // Not implemented TEveBoxSetGL(const TEveBoxSetGL&); // Not implemented
TEveBoxSetGL& operator=(const TEveBoxSetGL&); // Not implemented TEveBoxSetGL& operator=(const TEveBoxSetGL&); // Not implemented
protected: protected:
TEveBoxSet *fM; // Model object. TEveBoxSet *fM; // Model object.
mutable UInt_t fBoxDL; // Display-list id for a box atom. mutable UInt_t fBoxDL; // Display-list id for a box atom.
Int_t PrimitiveType() const; Int_t PrimitiveType() const;
Bool_t SetupColor(const TEveDigitSet::DigitBase_t& q) const;
void MakeOriginBox(Float_t p[24], Float_t dx, Float_t dy, Float_t dz) const; void MakeOriginBox(Float_t p[24], Float_t dx, Float_t dy, Float_t dz) const;
void RenderBox(const Float_t p[24]) const; void RenderBox(const Float_t p[24]) const;
void MakeDisplayList() const; void MakeDisplayList() const;
void RenderBoxes(TGLRnrCtx & rnrCtx) const; void RenderBoxes(TGLRnrCtx& rnrCtx) const;
public: public:
TEveBoxSetGL(); TEveBoxSetGL();
virtual ~TEveBoxSetGL(); virtual ~TEveBoxSetGL();
virtual Bool_t ShouldDLCache(const TGLRnrCtx & rnrCtx) const; virtual Bool_t ShouldDLCache(const TGLRnrCtx& rnrCtx) const;
virtual void DLCacheDrop(); virtual void DLCacheDrop();
virtual void DLCachePurge(); virtual void DLCachePurge();
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 DirectDraw(TGLRnrCtx& rnrCtx) const;
virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
virtual Bool_t SupportsSecondarySelect() const { return kTRUE; } virtual void Render(TGLRnrCtx& rnrCtx);
virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & re
c);
virtual void Render(TGLRnrCtx & rnrCtx);
ClassDef(TEveBoxSetGL, 0); // GL-renderer for TEveBoxSet class. ClassDef(TEveBoxSetGL, 0); // GL-renderer for TEveBoxSet class.
}; };
#endif #endif
 End of changes. 8 change blocks. 
13 lines changed or deleted 7 lines changed or added


 TEveCalo.h   TEveCalo.h 
// @(#)root/eve:$Id: TEveCalo.h 31075 2009-11-10 20:03:38Z matevz $ // @(#)root/eve:$Id: TEveCalo.h 33198 2010-04-26 08:40:04Z 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 84 skipping to change at line 84
virtual TEveElement* ForwardEdit(); virtual TEveElement* ForwardEdit();
virtual void Paint(Option_t* option=""); virtual void Paint(Option_t* option="");
virtual TClass* ProjectedClass(const TEveProjection* p) const; virtual TClass* ProjectedClass(const TEveProjection* p) const;
virtual Float_t GetValToHeight() const; virtual Float_t GetValToHeight() const;
virtual void CellSelectionChanged() {} virtual void CellSelectionChanged() {}
TEveCaloData* GetData() const { return fData; } TEveCaloData* GetData() const { return fData; }
void SetData(TEveCaloData* d); void SetData(TEveCaloData* d);
void DataChanged(); Float_t GetMaxVal() const; void DataChanged();
Float_t GetMaxVal() const;
void AssertCellIdCache() const; Bool_t AssertCellIdCache() const;
void InvalidateCellIdCache() { fCellIdCacheOK=kFALSE; ResetBBox(); }; void InvalidateCellIdCache() { fCellIdCacheOK=kFALSE; ResetBBox(); };
Float_t GetDataSliceThreshold(Int_t slice) const; Float_t GetDataSliceThreshold(Int_t slice) const;
void SetDataSliceThreshold(Int_t slice, Float_t val); void SetDataSliceThreshold(Int_t slice, Float_t val);
Color_t GetDataSliceColor(Int_t slice) const; Color_t GetDataSliceColor(Int_t slice) const;
void SetDataSliceColor(Int_t slice, Color_t col); void SetDataSliceColor(Int_t slice, Color_t col);
Float_t GetBarrelRadius() const { return fBarrelRadius; } Float_t GetBarrelRadius() const { return fBarrelRadius; }
void SetBarrelRadius(Float_t r) { fBarrelRadius = r; ResetBBox(); } void SetBarrelRadius(Float_t r) { fBarrelRadius = r; ResetBBox(); }
Float_t GetEndCapPos () const { return fEndCapPos; } Float_t GetEndCapPos () const { return fEndCapPos; }
skipping to change at line 153 skipping to change at line 154
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;
TEveCaloData::vCellId_t fCellListSelected;
Bool_t fRnrEndCapFrame; Bool_t fRnrEndCapFrame;
Bool_t fRnrBarrelFrame; Bool_t fRnrBarrelFrame;
Color_t fFrameColor; Color_t fFrameColor;
UChar_t fFrameTransparency; UChar_t fFrameTransparency;
virtual void BuildCellIdCache(); virtual void BuildCellIdCache();
public: public:
skipping to change at line 196 skipping to change at line 196
friend class TEveCalo2DGL; friend class TEveCalo2DGL;
typedef std::vector<TEveCaloData::vCellId_t*> vBinCells_t; typedef std::vector<TEveCaloData::vCellId_t*> vBinCells_t;
typedef std::vector<TEveCaloData::vCellId_t*>::iterator vBinCells_i; typedef std::vector<TEveCaloData::vCellId_t*>::iterator vBinCells_i;
private: private:
TEveCalo2D(const TEveCalo2D&); // Not implemented TEveCalo2D(const TEveCalo2D&); // Not implemented
TEveCalo2D& operator=(const TEveCalo2D&); // Not implemented TEveCalo2D& operator=(const TEveCalo2D&); // Not implemented
TEveProjection::EPType_e fOldProjectionType; TEveProjection::EPType_e fOldProjectionType;
void CellSelectionChangedInternal(TEveCaloData::vCellId_t& cells, std::v ector<TEveCaloData::vCellId_t*>& cellLists);
protected: protected:
std::vector<TEveCaloData::vCellId_t*> fCellLists; std::vector<TEveCaloData::vCellId_t*> fCellLists;
std::vector<TEveCaloData::vCellId_t*> fCellListsSelected; std::vector<TEveCaloData::vCellId_t*> fCellListsSelected;
std::vector<Int_t> fBinIdsSelected; std::vector<TEveCaloData::vCellId_t*> fCellListsHighlighted;
Float_t fMaxESumBin; Float_t fMaxESumBin;
Float_t fMaxEtSumBin; Float_t fMaxEtSumBin;
virtual void BuildCellIdCache(); virtual void BuildCellIdCache();
virtual void SetDepthLocal(Float_t x) { fDepth = x; } virtual void SetDepthLocal(Float_t x) { fDepth = x; }
public: public:
TEveCalo2D(const char* n="TEveCalo2D", const char* t=""); TEveCalo2D(const char* n="TEveCalo2D", const char* t="");
skipping to change at line 263 skipping to change at line 264
Int_t fPixelsPerBin; Int_t fPixelsPerBin;
Bool_t fNormalizeRebin; Bool_t fNormalizeRebin;
EProjection_e fProjection; EProjection_e fProjection;
E2DMode_e f2DMode; E2DMode_e f2DMode;
EBoxMode_e fBoxMode; // additional scale info EBoxMode_e fBoxMode; // additional scale info
Bool_t fDrawHPlane; Bool_t fDrawHPlane;
Float_t fHPlaneVal; Float_t fHPlaneVal;
Int_t fBinStep;
Int_t fDrawNumberCellPixels; Int_t fDrawNumberCellPixels;
Int_t fCellPixelFontSize; Int_t fCellPixelFontSize;
virtual void BuildCellIdCache(); virtual void BuildCellIdCache();
public: public:
TEveCaloLego(TEveCaloData* data=0, const char* n="TEveCaloLego", const c har* t=""); TEveCaloLego(TEveCaloData* data=0, const char* n="TEveCaloLego", const c har* t="");
virtual ~TEveCaloLego(){} virtual ~TEveCaloLego(){}
virtual void ComputeBBox(); virtual void ComputeBBox();
 End of changes. 7 change blocks. 
7 lines changed or deleted 6 lines changed or added


 TEveCalo2DGL.h   TEveCalo2DGL.h 
// @(#)root/eve:$Id: TEveCalo2DGL.h 30929 2009-10-30 15:18:51Z matevz $ // @(#)root/eve:$Id: TEveCalo2DGL.h 33198 2010-04-26 08:40:04Z 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 39 skipping to change at line 39
TEveCalo2DGL& operator=(const TEveCalo2DGL&); // Not implemented TEveCalo2DGL& operator=(const TEveCalo2DGL&); // Not implemented
protected: protected:
TEveCalo2D *fM; // Model object. TEveCalo2D *fM; // Model object.
void MakeRhoZCell(Float_t thetaMin, Float_t thetaMax, Float_t& offs et, Bool_t isBarrel, Bool_t phiPlus, Float_t towerH) const; void MakeRhoZCell(Float_t thetaMin, Float_t thetaMax, Float_t& offs et, Bool_t isBarrel, Bool_t phiPlus, Float_t towerH) const;
void MakeRPhiCell(Float_t phiMin, Float_t phiMax, Float_t towerH, F loat_t offset) const; void MakeRPhiCell(Float_t phiMin, Float_t phiMax, Float_t towerH, F loat_t offset) const;
void DrawRPhi(TGLRnrCtx & rnrCtx, TEveCalo2D::vBinCells_t&) const; void DrawRPhi(TGLRnrCtx & rnrCtx, TEveCalo2D::vBinCells_t&) const;
void DrawRPhiHighlighted(TGLRnrCtx & rnrCtx) const; void DrawRPhiHighlighted(std::vector<TEveCaloData::vCellId_t*>& cel lLists) const;
void DrawRhoZ(TGLRnrCtx & rnrCtx, TEveCalo2D::vBinCells_t&) const; void DrawRhoZ(TGLRnrCtx & rnrCtx, TEveCalo2D::vBinCells_t&) const;
void DrawRhoZHighlighted(TGLRnrCtx & rnrCtx) const; void DrawRhoZHighlighted(std::vector<TEveCaloData::vCellId_t*>& cel lLists) const;
Bool_t IsRPhi() const; Bool_t IsRPhi() const;
public: public:
TEveCalo2DGL(); TEveCalo2DGL();
virtual ~TEveCalo2DGL() {} virtual ~TEveCalo2DGL() {}
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 void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* ps ) const; virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* ps , Int_t lvl=-1) const;
// To support two-level selection // To support two-level selection
virtual Bool_t SupportsSecondarySelect() const { return kTRUE; } virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
virtual Bool_t AlwaysSecondarySelect() const { return kTRUE; } virtual Bool_t AlwaysSecondarySelect() const { return kTRUE; }
virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & rec) ; virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & rec) ;
ClassDef(TEveCalo2DGL, 0); // GL renderer class for TEveCalo2D. ClassDef(TEveCalo2DGL, 0); // GL renderer class for TEveCalo2D.
}; };
#endif #endif
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 TEveCalo3DGL.h   TEveCalo3DGL.h 
// @(#)root/eve:$Id: TEveCalo3DGL.h 30883 2009-10-27 11:30:59Z matevz $ // @(#)root/eve:$Id: TEveCalo3DGL.h 33198 2010-04-26 08:40:04Z 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 35 skipping to change at line 35
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 RenderGridEndCap() const;
void RenderGridBarrel() const; void RenderGridBarrel() const;
void RenderGrid(TGLRnrCtx & rnrCtx) const; void RenderGrid(TGLRnrCtx & rnrCtx) const;
Float_t RenderBarrelCell(const TEveCaloData::CellGeom_t &cell, Float_t t owerH, Float_t offset) const; Float_t RenderBarrelCell(const TEveCaloData::CellGeom_t &cell, Float_t t owerH, Float_t offset) const;
Float_t RenderEndCapCell(const TEveCaloData::CellGeom_t &cell, Float_t t owerH, Float_t offset) const; Float_t RenderEndCapCell(const TEveCaloData::CellGeom_t &cell, Float_t t owerH, Float_t offset) const;
void DrawSelectedCells(TEveCaloData::vCellId_t cells) const;
protected: protected:
TEveCalo3D *fM; // Model object. TEveCalo3D *fM; // Model object.
mutable std::vector<Float_t> fOffset; mutable std::vector<Float_t> fOffset;
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 void DrawHighlight(TGLRnrCtx & rnrCtx, const TGLPhysicalShape* ps) const; virtual void DrawHighlight(TGLRnrCtx & rnrCtx, const TGLPhysicalShape* ps, Int_t lvl=-1) const;
virtual Bool_t ShouldDLCache(const 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 Bool_t AlwaysSecondarySelect() const { return kTRUE; } virtual Bool_t AlwaysSecondarySelect() 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. 
2 lines changed or deleted 4 lines changed or added


 TEveCaloData.h   TEveCaloData.h 
// @(#)root/eve:$Id: TEveCaloData.h 31075 2009-11-10 20:03:38Z matevz $ // @(#)root/eve:$Id: TEveCaloData.h 33198 2010-04-26 08:40:04Z 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 120 skipping to change at line 120
}; };
struct RebinData_t struct RebinData_t
{ {
Int_t fNSlices; Int_t fNSlices;
std::vector<Float_t> fSliceData; std::vector<Float_t> fSliceData;
std::vector<Int_t> fBinData; std::vector<Int_t> fBinData;
Float_t* GetSliceVals(Int_t bin); Float_t* GetSliceVals(Int_t bin);
void Clear()
{
fSliceData.clear();
fBinData.clear();
}
}; };
/*********************************************************************** ***/ /*********************************************************************** ***/
typedef std::vector<CellId_t> vCellId_t; typedef std::vector<CellId_t> vCellId_t;
typedef std::vector<CellId_t>::iterator vCellId_i; typedef std::vector<CellId_t>::iterator vCellId_i;
typedef std::vector<CellGeom_t> vCellGeom_t; typedef std::vector<CellGeom_t> vCellGeom_t;
typedef std::vector<CellGeom_t>::iterator vCellGeom_i; typedef std::vector<CellGeom_t>::iterator vCellGeom_i;
typedef std::vector<CellGeom_t>::const_iterator vCellGeom_ci; typedef std::vector<CellGeom_t>::const_iterator vCellGeom_ci;
skipping to change at line 149 skipping to change at line 155
TAxis* fPhiAxis; TAxis* fPhiAxis;
Bool_t fWrapTwoPi; Bool_t fWrapTwoPi;
Float_t fMaxValEt; // cached Float_t fMaxValEt; // cached
Float_t fMaxValE; // cached Float_t fMaxValE; // cached
Float_t fEps; Float_t fEps;
vCellId_t fCellsSelected; vCellId_t fCellsSelected;
vCellId_t fCellsHighlighted;
public: public:
TEveCaloData(const char* n="TEveCalData", const char* t=""); TEveCaloData(const char* n="TEveCalData", const char* t="");
virtual ~TEveCaloData() {} virtual ~TEveCaloData() {}
virtual void SelectElement(Bool_t state); virtual void UnSelected();
virtual void UnHighlighted();
virtual TString GetHighlightTooltip();
virtual void FillImpliedSelectedSet(Set_t& impSelSet); virtual void FillImpliedSelectedSet(Set_t& impSelSet);
virtual void GetCellList(Float_t etaMin, Float_t etaMax, virtual void GetCellList(Float_t etaMin, Float_t etaMax,
Float_t phi, Float_t phiRng, Float_t phi, Float_t phiRng,
vCellId_t &out) const = 0; vCellId_t &out) const = 0;
vCellId_t& GetCellsSelected() { return fCellsSelected; } vCellId_t& GetCellsSelected() { return fCellsSelected; }
vCellId_t& GetCellsHighlighted() { return fCellsHighlighted; }
void PrintCellsSelected(); void PrintCellsSelected();
virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, Re binData_t &out) const = 0; virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, Re binData_t &out) const = 0;
virtual void GetCellData(const CellId_t &id, CellData_t& data) const = 0; virtual void GetCellData(const CellId_t &id, CellData_t& data) const = 0;
virtual void InvalidateUsersCellIdCache(); virtual void InvalidateUsersCellIdCache();
virtual void DataChanged(); virtual void DataChanged();
virtual void CellSelectionChanged(); virtual void CellSelectionChanged();
 End of changes. 5 change blocks. 
3 lines changed or deleted 15 lines changed or added


 TEveCaloLegoGL.h   TEveCaloLegoGL.h 
// @(#)root/eve:$Id: TEveCaloLegoGL.h 31517 2009-12-03 11:56:23Z matevz $ // @(#)root/eve:$Id: TEveCaloLegoGL.h 33198 2010-04-26 08:40:04Z matevz $
// Author: Alja Mrak-Tadel 2007 // Author: Alja Mrak-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 28 skipping to change at line 28
#include "TEveCaloData.h" #include "TEveCaloData.h"
#include "TEveVector.h" #include "TEveVector.h"
#include "TEveCalo.h" #include "TEveCalo.h"
#include <map> #include <map>
class TEveCaloLego; class TEveCaloLego;
class TEveCaloLegoGL : public TGLObject class TEveCaloLegoGL : public TGLObject
{ {
friend class TEveCaloLegoOverlay;
private: private:
struct Cell2D_t struct Cell2D_t
{ {
Int_t fId; Int_t fId;
Float_t fSumVal; Float_t fSumVal;
Int_t fMaxSlice; Int_t fMaxSlice;
Float_t fX0, fX1, fY0, fY1; Float_t fX0, fX1, fY0, fY1;
Cell2D_t(Int_t id, Float_t sumVal, Int_t maxSlice) Cell2D_t(Int_t id, Float_t sumVal, Int_t maxSlice)
skipping to change at line 83 skipping to change at line 85
mutable TEveVector fBackPlaneYConst[2]; mutable TEveVector fBackPlaneYConst[2];
mutable TGLAxisPainter fAxisPainter; mutable TGLAxisPainter fAxisPainter;
// cached // cached
TEveCaloLego *fM; TEveCaloLego *fM;
mutable Bool_t fDLCacheOK; mutable Bool_t fDLCacheOK;
mutable vCell2D_t fCells2D; mutable vCell2D_t fCells2D;
mutable TEveCaloData::RebinData_t fRebinData; mutable TEveCaloData::RebinData_t fRebinData;
mutable Float_t fMaxValRebin; mutable Float_t fMaxVal;
mutable Float_t fValToPixel; // top logaritmic viewvie w mutable Float_t fValToPixel; // top logaritmic viewvie w
mutable Int_t fCurrentPixelsPerBin; mutable Int_t fCurrentPixelsPerBin;
mutable SliceDLMap_t fDLMap; mutable SliceDLMap_t fDLMap;
mutable Bool_t fCells3D; mutable Bool_t fCells3D;
mutable Int_t fBinStep;
TEveCaloLegoGL(const TEveCaloLegoGL&); // Stop default TEveCaloLegoGL(const TEveCaloLegoGL&); // Stop default
TEveCaloLegoGL& operator=(const TEveCaloLegoGL&); // Stop default TEveCaloLegoGL& operator=(const TEveCaloLegoGL&); // Stop default
protected: protected:
Int_t GetGridStep(TGLRnrCtx &rnrCtx) const; Int_t GetGridStep(TGLRnrCtx &rnrCtx) const;
void RebinAxis(TAxis *orig, TAxis *curr) const; void RebinAxis(TAxis *orig, TAxis *curr) const;
void SetAxis3DTitlePos(TGLRnrCtx &rnrCtx, Float_t x0, Float_t x1, Flo at_t y0, Float_t y1) const; void SetAxis3DTitlePos(TGLRnrCtx &rnrCtx, Float_t x0, Float_t x1, Flo at_t y0, Float_t y1) const;
void DrawAxis3D(TGLRnrCtx &rnrCtx) const; void DrawAxis3D(TGLRnrCtx &rnrCtx) const;
void DrawAxis2D(TGLRnrCtx &rnrCtx) const; void DrawAxis2D(TGLRnrCtx &rnrCtx) const;
void DrawHistBase(TGLRnrCtx &rnrCtx) const; void DrawHistBase(TGLRnrCtx &rnrCtx) const;
// highlight
void DrawSelectedCells(TGLRnrCtx & rnrCtx, TEveCaloData::vCellId_t ce
lls) const;
// top view // top view
void PrepareCell2DData(TEveCaloData::vCellId_t& cellList, vCell2D_t& cells2D) const; void PrepareCell2DData(TEveCaloData::vCellId_t& cellList, vCell2D_t& cells2D) const;
void PrepareCell2DDataRebin(TEveCaloData::RebinData_t& rebinData, vCe ll2D_t& cells2D) const; void PrepareCell2DDataRebin(TEveCaloData::RebinData_t& rebinData, vCe ll2D_t& cells2D) const;
void DrawCells2D(TGLRnrCtx & rnrCtx, vCell2D_t& cells2D) const; void DrawCells2D(TGLRnrCtx & rnrCtx, vCell2D_t& cells2D) const;
// 3D view // 3D view
void DrawCells3D(TGLRnrCtx & rnrCtx) const; void DrawCells3D(TGLRnrCtx & rnrCtx) const;
void MakeQuad(Float_t x, Float_t y, Float_t z, Float_t xw, Float_t yw , Float_t zh) const; void MakeQuad(Float_t x, Float_t y, Float_t z, Float_t xw, Float_t yw , Float_t zh) const;
void Make3DDisplayList(TEveCaloData::vCellId_t& cellList, SliceDLMap_ t& map, Bool_t select) const; void Make3DDisplayList(TEveCaloData::vCellId_t& cellList, SliceDLMap_ t& map, Bool_t select) const;
void Make3DDisplayListRebin(TEveCaloData::RebinData_t& rebinData, Sli ceDLMap_t& map, Bool_t select) const; void Make3DDisplayListRebin(TEveCaloData::RebinData_t& rebinData, Sli ceDLMap_t& map, Bool_t select) const;
skipping to change at line 127 skipping to change at line 134
virtual ~TEveCaloLegoGL(); virtual ~TEveCaloLegoGL();
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 DLCacheDrop(); virtual void DLCacheDrop();
virtual void DLCachePurge(); virtual void DLCachePurge();
virtual void DirectDraw(TGLRnrCtx & rnrCtx) const; virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* ps) const; virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* ps, Int_t lvl=-1) const;
virtual Bool_t SupportsSecondarySelect() const { return kTRUE; } virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
virtual Bool_t AlwaysSecondarySelect() const { return kTRUE; } virtual Bool_t AlwaysSecondarySelect() const { return kTRUE; }
virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & re c); virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & re c);
ClassDef(TEveCaloLegoGL, 0); // GL renderer class for TEveCaloLego. ClassDef(TEveCaloLegoGL, 0); // GL renderer class for TEveCaloLego.
}; };
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline void TEveCaloLegoGL::WrapTwoPi(Float_t &min, Float_t &max) const inline void TEveCaloLegoGL::WrapTwoPi(Float_t &min, Float_t &max) const
 End of changes. 6 change blocks. 
3 lines changed or deleted 11 lines changed or added


 TEveChunkManager.h   TEveChunkManager.h 
// @(#)root/eve:$Id: TEveChunkManager.h 21807 2008-01-22 15:46:23Z matevz $ // @(#)root/eve:$Id: TEveChunkManager.h 33124 2010-04-21 20:04:42Z 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 76 skipping to change at line 76
// Iterator // Iterator
struct iterator struct iterator
{ {
TEveChunkManager *fPlex; TEveChunkManager *fPlex;
Char_t *fCurrent; Char_t *fCurrent;
Int_t fAtomIndex; Int_t fAtomIndex;
Int_t fNextChunk; Int_t fNextChunk;
Int_t fAtomsToGo; Int_t fAtomsToGo;
const std::set<Int_t> *fSelection;
std::set<Int_t>::const_iterator fSelectionIterator;
iterator(TEveChunkManager* p) : iterator(TEveChunkManager* p) :
fPlex(p), fCurrent(0), fAtomIndex(-1), fNextChunk(0), fAtomsToGo(0 fPlex(p), fCurrent(0), fAtomIndex(-1),
) {} fNextChunk(0), fAtomsToGo(0), fSelection(0) {}
iterator(TEveChunkManager& p) : iterator(TEveChunkManager& p) :
fPlex(&p), fCurrent(0), fAtomIndex(-1), fNextChunk(0), fAtomsToGo( fPlex(&p), fCurrent(0), fAtomIndex(-1),
0) {} fNextChunk(0), fAtomsToGo(0), fSelection(0) {}
iterator(const iterator& i) : iterator(const iterator& i) :
fPlex(i.fPlex), fCurrent(i.fCurrent), fAtomIndex(i.fAtomIndex), fN fPlex(i.fPlex), fCurrent(i.fCurrent), fAtomIndex(i.fAtomIndex),
extChunk(i.fNextChunk), fAtomsToGo(i.fAtomsToGo) {} fNextChunk(i.fNextChunk), fAtomsToGo(i.fAtomsToGo),
fSelection(i.fSelection), fSelectionIterator(i.fSelectionIterator)
iterator& operator=(const iterator& i) {}
{ fPlex = i.fPlex; fCurrent = i.fCurrent; fAtomIndex = i.fAtomIndex;
fNextChunk = i.fNextChunk; fAtomsToGo = i.fAtomsToGo; return *this; } iterator& operator=(const iterator& i) {
fPlex = i.fPlex; fCurrent = i.fCurrent; fAtomIndex = i.fAtomIndex;
fNextChunk = i.fNextChunk; fAtomsToGo = i.fAtomsToGo;
fSelection = i.fSelection; fSelectionIterator = i.fSelectionIterat
or;
return *this;
}
Bool_t next(); Bool_t next();
void reset() { fCurrent = 0; fNextChunk = fAtomsToGo = 0; } void reset() { fCurrent = 0; fAtomIndex = -1; fNextChunk = fAtomsT oGo = 0; }
Char_t* operator()() { return fCurrent; } Char_t* operator()() { return fCurrent; }
Char_t* operator*() { return fCurrent; } Char_t* operator*() { return fCurrent; }
Int_t index() { return fAtomIndex; } Int_t index() { return fAtomIndex; }
}; };
ClassDef(TEveChunkManager, 1); // Vector-like container with chunked mem ory allocation. ClassDef(TEveChunkManager, 1); // Vector-like container with chunked mem ory allocation.
}; };
/**************************************************************************
****/
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Char_t* TEveChunkManager::NewAtom() inline Char_t* TEveChunkManager::NewAtom()
{ {
Char_t *a = (fSize >= fCapacity) ? NewChunk() : Atom(fSize); Char_t *a = (fSize >= fCapacity) ? NewChunk() : Atom(fSize);
++fSize; ++fSize;
return a; return a;
} }
//_________________________________________________________________________
_____
inline Bool_t TEveChunkManager::iterator::next()
{
if (fAtomsToGo <= 0) {
if (fNextChunk < fPlex->VecSize()) {
fCurrent = fPlex->Chunk(fNextChunk);
fAtomsToGo = fPlex->NAtoms(fNextChunk);
++fNextChunk;
} else {
return kFALSE;
}
} else {
fCurrent += fPlex->S();
}
++fAtomIndex;
--fAtomsToGo;
return kTRUE;
}
/************************************************************************** ****/ /************************************************************************** ****/
// Templated some-class TEveChunkVector // Templated some-class TEveChunkVector
/************************************************************************** ****/ /************************************************************************** ****/
template<class T> template<class T>
class TEveChunkVector : public TEveChunkManager class TEveChunkVector : public TEveChunkManager
{ {
private: private:
TEveChunkVector(const TEveChunkVector&); // Not implemented TEveChunkVector(const TEveChunkVector&); // Not implemented
TEveChunkVector& operator=(const TEveChunkVector&); // Not implemented TEveChunkVector& operator=(const TEveChunkVector&); // Not implemented
 End of changes. 8 change blocks. 
35 lines changed or deleted 21 lines changed or added


 TEveCompound.h   TEveCompound.h 
// @(#)root/eve:$Id: TEveCompound.h 30849 2009-10-23 13:45:23Z matevz $ // @(#)root/eve:$Id: TEveCompound.h 33071 2010-04-16 16:34:39Z 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 64 skipping to change at line 64
// TEveCompoundProjected // TEveCompoundProjected
//========================================================================= ===== //========================================================================= =====
class TEveCompoundProjected : public TEveCompound, class TEveCompoundProjected : public TEveCompound,
public TEveProjected public TEveProjected
{ {
private: private:
TEveCompoundProjected(const TEveCompoundProjected&); // Not i mplemented TEveCompoundProjected(const TEveCompoundProjected&); // Not i mplemented
TEveCompoundProjected& operator=(const TEveCompoundProjected&); // Not i mplemented TEveCompoundProjected& operator=(const TEveCompoundProjected&); // Not i mplemented
protected:
virtual void SetDepthLocal(Float_t /*d*/) {}
public: public:
TEveCompoundProjected(); TEveCompoundProjected();
virtual ~TEveCompoundProjected() {} virtual ~TEveCompoundProjected() {}
virtual void SetMainColor(Color_t color); virtual void SetMainColor(Color_t color);
virtual void UpdateProjection() {} virtual void UpdateProjection() {}
ClassDef(TEveCompoundProjected, 0); // Projected TEveCompund container. ClassDef(TEveCompoundProjected, 0); // Projected TEveCompund container.
}; };
 End of changes. 2 change blocks. 
4 lines changed or deleted 1 lines changed or added


 TEveDigitSet.h   TEveDigitSet.h 
// @(#)root/eve:$Id: TEveDigitSet.h 27157 2009-01-15 14:05:12Z brun $ // @(#)root/eve:$Id: TEveDigitSet.h 33124 2010-04-21 20:04:42Z 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 25 skipping to change at line 25
#include "TNamed.h" #include "TNamed.h"
#include "TQObject.h" #include "TQObject.h"
#include "TAtt3D.h" #include "TAtt3D.h"
#include "TAttBBox.h" #include "TAttBBox.h"
#include "TEveUtil.h" #include "TEveUtil.h"
#include "TEveElement.h" #include "TEveElement.h"
#include "TEveFrameBox.h" #include "TEveFrameBox.h"
#include "TEveRGBAPalette.h" #include "TEveRGBAPalette.h"
#include "TEveChunkManager.h" #include "TEveChunkManager.h"
#include "TEveSecondarySelectable.h"
#include "TObject.h" class TRefArray;
class TEveDigitSet : public TEveElement, class TEveDigitSet : public TEveElement,
public TNamed, public TQObject, public TNamed, public TQObject,
public TAtt3D, public TAtt3D,
public TAttBBox public TAttBBox,
public TEveSecondarySelectable
{ {
friend class TEveDigitSetEditor; friend class TEveDigitSetEditor;
friend class TEveDigitSetGL;
TEveDigitSet(const TEveDigitSet&); // Not implemented TEveDigitSet(const TEveDigitSet&); // Not implemented
TEveDigitSet& operator=(const TEveDigitSet&); // Not implemented TEveDigitSet& operator=(const TEveDigitSet&); // Not implemented
public: public:
enum ERenderMode_e { kRM_AsIs, kRM_Line, kRM_Fill }; enum ERenderMode_e { kRM_AsIs, kRM_Line, kRM_Fill };
typedef void (*Callback_foo)(TEveDigitSet*, Int_t, TObject*); typedef void (*Callback_foo)(TEveDigitSet*, Int_t, TObject*);
typedef TString (*TooltipCB_foo)(TEveDigitSet*, Int_t);
protected: protected:
struct DigitBase_t struct DigitBase_t
{ {
// Base-class for digit representation classes. // Base-class for digit representation classes.
Int_t fValue; // signal value of a digit (can be direct RGBA color) Int_t fValue; // signal value of a digit (can be direct RGBA colo
TRef fId; // external object reference r)
void *fUserData; // user-data for given digit
DigitBase_t(Int_t v=0) : fValue(v), fId() {} DigitBase_t(Int_t v=0) : fValue(v), fUserData(0) {}
virtual ~DigitBase_t() {}
}; };
TRefArray *fDigitIds; // Array holding references to exter
nal objects.
Int_t fDefaultValue; // Default signal value. Int_t fDefaultValue; // Default signal value.
Bool_t fValueIsColor; // Interpret signal value as RGBA co lor. Bool_t fValueIsColor; // Interpret signal value as RGBA co lor.
Bool_t fOwnIds; // Flag specifying if id-objects are Bool_t fSingleColor; // Use the same color for all digits
owned by the TEveDigitSet .
Bool_t fOwnIds; // Flag specifying if id-objects are
owned by the TEveDigitSet.
TEveChunkManager fPlex; // Container of digit data. TEveChunkManager fPlex; // Container of digit data.
DigitBase_t* fLastDigit; //! The last digit added to collectio DigitBase_t* fLastDigit; //! The last / current digit added to
n. collection.
Int_t fLastIdx; //! The last / current idx added to c
ollection.
Color_t fColor; // Color used for frame (or all digi s with single-color).
TEveFrameBox* fFrame; // Pointer to frame structure. TEveFrameBox* fFrame; // Pointer to frame structure.
TEveRGBAPalette* fPalette; // Pointer to signal-color palette. TEveRGBAPalette* fPalette; // Pointer to signal-color palette.
ERenderMode_e fRenderMode; // Render mode: as-is / line / fille d. ERenderMode_e fRenderMode; // Render mode: as-is / line / fille d.
Bool_t fDisableLigting; // Disable lighting for rendering. Bool_t fDisableLigting; // Disable lighting for rendering.
Bool_t fHistoButtons; // Show histogram buttons in object editor. Bool_t fHistoButtons; // Show histogram buttons in object editor.
Bool_t fEmitSignals; // Emit signals on secondary-select. Bool_t fEmitSignals; // Emit signals on secondary-select.
Callback_foo fCallbackFoo; //! Additional function to call on se condary-select. Callback_foo fCallbackFoo; //! Additional function to call on se condary-select.
TooltipCB_foo fTooltipCBFoo; //! Function providing highlight tool tips when always-sec-select is active.
DigitBase_t* NewDigit(); DigitBase_t* NewDigit();
void ReleaseIds(); void ReleaseIds();
public: public:
TEveDigitSet(const char* n="TEveDigitSet", const char* t=""); TEveDigitSet(const char* n="TEveDigitSet", const char* t="");
virtual ~TEveDigitSet(); virtual ~TEveDigitSet();
void UseSingleColor();
virtual Bool_t CanEditMainColor() const { return kTRUE; } virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual void SetMainColor(Color_t color); virtual void SetMainColor(Color_t color);
virtual Bool_t CanEditMainTransparency() const { return kTRUE; } virtual Bool_t CanEditMainTransparency() const { return kTRUE; }
virtual void UnSelected();
virtual void UnHighlighted();
virtual TString GetHighlightTooltip();
// Implemented in sub-classes: // Implemented in sub-classes:
// virtual void Reset(EQuadType_e quadType, Bool_t valIsCol, Int_t chunk Size); // virtual void Reset(EQuadType_e quadType, Bool_t valIsCol, Int_t chunk Size);
void RefitPlex(); void RefitPlex();
void ScanMinMaxValues(Int_t& min, Int_t& max); void ScanMinMaxValues(Int_t& min, Int_t& max);
// -------------------------------- // --------------------------------
void SetCurrentDigit(Int_t idx);
void DigitValue(Int_t value); void DigitValue(Int_t value);
void DigitColor(Color_t ci); void DigitColor(Color_t ci);
void DigitColor(Color_t ci, UChar_t transparency); void DigitColor(Color_t ci, UChar_t transparency);
void DigitColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255); void DigitColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255);
void DigitColor(UChar_t* rgba); void DigitColor(UChar_t* rgba);
void DigitId(TObject* id);
Bool_t GetOwnIds() const { return fOwnIds; } Bool_t GetOwnIds() const { return fOwnIds; }
void SetOwnIds(Bool_t o) { fOwnIds = o; } void SetOwnIds(Bool_t o) { fOwnIds = o; }
DigitBase_t* GetDigit(Int_t n) { return (DigitBase_t*) fPlex.Atom(n); void DigitId(TObject* id);
} void DigitUserData(void* ud);
TObject* GetId(Int_t n) { return GetDigit(n)->fId.GetObject(); }
void DigitId(Int_t n, TObject* id);
void DigitUserData(Int_t n, void* ud);
DigitBase_t* GetDigit(Int_t n) const { return (DigitBase_t*) fPlex.Atom(
n); }
TObject* GetId(Int_t n) const;
void* GetUserData(Int_t n) const;
// -------------------------------- // --------------------------------
// Implemented in subclasses: // Implemented in subclasses:
// virtual void ComputeBBox(); // virtual void ComputeBBox();
virtual void Paint(Option_t* option=""); virtual void Paint(Option_t* option="");
virtual void DigitSelected(Int_t idx); virtual void DigitSelected(Int_t idx);
virtual void SecSelected(TEveDigitSet* qs, Int_t idx); // *SIGNAL* virtual void SecSelected(TEveDigitSet* qs, Int_t idx); // *SIGNAL*
skipping to change at line 139 skipping to change at line 162
Bool_t GetHistoButtons() const { return fHistoButtons; } Bool_t GetHistoButtons() const { return fHistoButtons; }
void SetHistoButtons(Bool_t f) { fHistoButtons = f; } void SetHistoButtons(Bool_t f) { fHistoButtons = f; }
Bool_t GetEmitSignals() const { return fEmitSignals; } Bool_t GetEmitSignals() const { return fEmitSignals; }
void SetEmitSignals(Bool_t f) { fEmitSignals = f; } void SetEmitSignals(Bool_t f) { fEmitSignals = f; }
Callback_foo GetCallbackFoo() const { return fCallbackFoo; } Callback_foo GetCallbackFoo() const { return fCallbackFoo; }
void SetCallbackFoo(Callback_foo f) { fCallbackFoo = f; } void SetCallbackFoo(Callback_foo f) { fCallbackFoo = f; }
TooltipCB_foo GetTooltipCBFoo() const { return fTooltipCBFoo; }
void SetTooltipCBFoo(TooltipCB_foo f) { fTooltipCBFoo = f; }
ClassDef(TEveDigitSet, 0); // Base-class for storage of digit collection s; provides transformation matrix (TEveTrans), signal to color mapping (TEv eRGBAPalette) and visual grouping (TEveFrameBox). ClassDef(TEveDigitSet, 0); // Base-class for storage of digit collection s; provides transformation matrix (TEveTrans), signal to color mapping (TEv eRGBAPalette) and visual grouping (TEveFrameBox).
}; };
#endif #endif
 End of changes. 20 change blocks. 
17 lines changed or deleted 47 lines changed or added


 TEveElement.h   TEveElement.h 
// @(#)root/eve:$Id: TEveElement.h 31234 2009-11-17 14:57:10Z matevz $ // @(#)root/eve:$Id: TEveElement.h 33135 2010-04-22 10:36:40Z 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 63 skipping to change at line 63
bool operator==(const TEveListTreeInfo& x) const bool operator==(const TEveListTreeInfo& x) const
{ return fTree == x.fTree && fItem == x.fItem; } { return fTree == x.fTree && fItem == x.fItem; }
bool operator<(const TEveListTreeInfo& x) const bool operator<(const TEveListTreeInfo& x) const
{ return fTree == x.fTree ? fItem < x.fItem : fTree < x.fTree; } { return fTree == x.fTree ? fItem < x.fItem : fTree < x.fTree; }
ClassDef(TEveListTreeInfo, 0); // Structure agregating data for a ren der element image in a list tree. ClassDef(TEveListTreeInfo, 0); // Structure agregating data for a ren der element image in a list tree.
}; };
static const TGPicture* fgRnrIcons[4]; static const TGPicture* fgRnrIcons[4];
static const TGPicture* fgListTreeIcons[8]; static const TGPicture* fgListTreeIcons[9];
typedef std::set<TEveListTreeInfo> sLTI_t; typedef std::set<TEveListTreeInfo> sLTI_t;
typedef sLTI_t::iterator sLTI_i; typedef sLTI_t::iterator sLTI_i;
typedef sLTI_t::reverse_iterator sLTI_ri; typedef sLTI_t::reverse_iterator sLTI_ri;
typedef std::list<TEveElement*> List_t; typedef std::list<TEveElement*> List_t;
typedef List_t::iterator List_i; typedef List_t::iterator List_i;
typedef List_t::const_iterator List_ci; typedef List_t::const_iterator List_ci;
typedef std::set<TEveElement*> Set_t; typedef std::set<TEveElement*> Set_t;
skipping to change at line 119 skipping to change at line 119
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; virtual TEveElement* CloneElement() const;
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 char* GetElementName() const; virtual const char* GetElementName() const;
virtual const char* GetElementTitle() const; virtual const char* GetElementTitle() const;
virtual TString GetHighlightTooltip() { return TString(GetElementTit le()); }
virtual void SetElementName (const char* name); virtual void SetElementName (const char* name);
virtual void SetElementTitle(const char* title); virtual void SetElementTitle(const char* title);
virtual void SetElementNameTitle(const char* name, const char* title); virtual void SetElementNameTitle(const char* name, const char* title);
virtual void NameTitleChanged(); 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);
skipping to change at line 188 skipping to change at line 189
Int_t GetDenyDestroy() const; Int_t GetDenyDestroy() const;
void IncDenyDestroy(); void IncDenyDestroy();
void DecDenyDestroy(); void DecDenyDestroy();
Int_t GetParentIgnoreCnt() const; Int_t GetParentIgnoreCnt() const;
void IncParentIgnoreCnt(); void IncParentIgnoreCnt();
void DecParentIgnoreCnt(); void DecParentIgnoreCnt();
virtual void PadPaint(Option_t* option); virtual void PadPaint(Option_t* option);
virtual void PaintStandard(TObject* id);
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 232 skipping to change at line 234
void ExportSourceObjectToCINT(char* var_name) const; // *MENU* void ExportSourceObjectToCINT(char* var_name) const; // *MENU*
virtual Bool_t AcceptElement(TEveElement* el); virtual Bool_t AcceptElement(TEveElement* el);
virtual void AddElement(TEveElement* el); virtual void AddElement(TEveElement* el);
virtual void RemoveElement(TEveElement* el); virtual void RemoveElement(TEveElement* el);
virtual void RemoveElementLocal(TEveElement* el); virtual void RemoveElementLocal(TEveElement* el);
virtual void RemoveElements(); virtual void RemoveElements();
virtual void RemoveElementsLocal(); virtual void RemoveElementsLocal();
virtual void ProjectChild(TEveElement* el, Bool_t same_depth=kTRUE);
virtual void ProjectAllChildren(Bool_t same_depth=kTRUE);
virtual void Destroy(); // *MENU* virtual void Destroy(); // *MENU*
virtual void DestroyOrWarn(); virtual void DestroyOrWarn();
virtual void DestroyElements(); // *MENU* virtual void DestroyElements(); // *MENU*
virtual Bool_t HandleElementPaste(TEveElement* el); virtual Bool_t HandleElementPaste(TEveElement* el);
virtual void ElementChanged(Bool_t update_scenes=kTRUE, Bool_t redraw= kFALSE); virtual void ElementChanged(Bool_t update_scenes=kTRUE, Bool_t redraw= kFALSE);
virtual Bool_t CanEditElement() const { return kTRUE; } virtual Bool_t CanEditElement() const { return kTRUE; }
virtual Bool_t SingleRnrState() const { return kFALSE; } virtual Bool_t SingleRnrState() const { return kFALSE; }
virtual Bool_t GetRnrSelf() const { return fRnrSelf; } virtual Bool_t GetRnrSelf() const { return fRnrSelf; }
skipping to change at line 270 skipping to change at line 275
void SetMainColorRGB(Float_t r, Float_t g, Float_t b); void SetMainColorRGB(Float_t r, Float_t g, Float_t b);
virtual void PropagateMainColorToProjecteds(Color_t color, Color_t ol d_color); virtual void PropagateMainColorToProjecteds(Color_t color, Color_t ol d_color);
virtual Bool_t CanEditMainTransparency() const { return kFALSE; } virtual Bool_t CanEditMainTransparency() const { return kFALSE; }
virtual UChar_t GetMainTransparency() const { return fMainTransparen cy; } virtual UChar_t GetMainTransparency() const { return fMainTransparen cy; }
virtual void SetMainTransparency(UChar_t t); virtual void SetMainTransparency(UChar_t t);
void SetMainAlpha(Float_t alpha); void SetMainAlpha(Float_t alpha);
virtual Bool_t CanEditMainTrans() const { return fCanEditMainTrans; } virtual Bool_t CanEditMainTrans() const { return fCanEditMainTrans; }
virtual Bool_t HasMainTrans() const { return fMainTrans != 0; } virtual Bool_t HasMainTrans() const { return fMainTrans != 0; }
virtual TEveTrans* PtrMainTrans(); virtual TEveTrans* PtrMainTrans(Bool_t create=kTRUE);
virtual TEveTrans& RefMainTrans(); virtual TEveTrans& RefMainTrans();
virtual void InitMainTrans(Bool_t can_edit=kTRUE); virtual void InitMainTrans(Bool_t can_edit=kTRUE);
virtual void DestroyMainTrans(); virtual void DestroyMainTrans();
virtual void SetTransMatrix(Double_t* carr); virtual void SetTransMatrix(Double_t* carr);
virtual void SetTransMatrix(const TGeoMatrix& mat); virtual void SetTransMatrix(const TGeoMatrix& mat);
TRef& GetSource() { return fSource; } TRef& GetSource() { return fSource; }
TObject* GetSourceObject() const { return fSource.GetObject(); } TObject* GetSourceObject() const { return fSource.GetObject(); }
void SetSourceObject(TObject* o) { fSource = o; } void SetSourceObject(TObject* o) { fSource = o; }
/* /*
void DumpSourceObject(); // *MENU* void DumpSourceObject(); // *MENU*
void InspectSourceObject(); // *MENU* void InspectSourceObject(); // *MENU*
*/ */
void* GetUserData() const { return fUserData; } void* GetUserData() const { return fUserData; }
void SetUserData(void* ud) { fUserData = ud; } void SetUserData(void* ud) { fUserData = ud; }
// Selection state and management // Selection state and management
//-------------------------------- //--------------------------------
protected: protected:
Bool_t fPickable; Bool_t fPickable;
Bool_t fSelected; //! Bool_t fSelected; //!
Bool_t fHighlighted; //! Bool_t fHighlighted; //!
Short_t fImpliedSelected; //! Short_t fImpliedSelected; //!
Short_t fImpliedHighlighted; //! Short_t fImpliedHighlighted; //!
enum ECompoundSelectionColorBits
{
kCSCBImplySelectAllChildren = BIT(0), // compound will sele
ct all children
kCSCBTakeAnyParentAsMaster = BIT(1), // element will take
any compound parent as master
kCSCBApplyMainColorToAllChildren = BIT(2), // compound will appl
y color change to all children
kCSCBApplyMainColorToMatchingChildren = BIT(3) // compound will appl
y color change to all children with matching color
};
UChar_t fCSCBits;
public: public:
typedef void (TEveElement::* Select_foo) (Bool_t); typedef void (TEveElement::* Select_foo) (Bool_t);
typedef void (TEveElement::* ImplySelect_foo) (); typedef void (TEveElement::* ImplySelect_foo) ();
Bool_t IsPickable() const { return fPickable; } Bool_t IsPickable() const { return fPickable; }
void SetPickable(Bool_t p) { fPickable = p; } void SetPickable(Bool_t p) { fPickable = p; }
virtual TEveElement* ForwardSelection(); virtual TEveElement* ForwardSelection();
virtual TEveElement* ForwardEdit(); virtual TEveElement* ForwardEdit();
virtual void SelectElement(Bool_t state); virtual void SelectElement(Bool_t state);
virtual void IncImpliedSelected(); virtual void IncImpliedSelected();
virtual void DecImpliedSelected(); virtual void DecImpliedSelected();
virtual void UnSelected();
virtual void HighlightElement(Bool_t state); virtual void HighlightElement(Bool_t state);
virtual void IncImpliedHighlighted(); virtual void IncImpliedHighlighted();
virtual void DecImpliedHighlighted(); virtual void DecImpliedHighlighted();
virtual void UnHighlighted();
virtual void FillImpliedSelectedSet(Set_t& impSelSet); virtual void FillImpliedSelectedSet(Set_t& impSelSet);
virtual UChar_t GetSelectedLevel() const; virtual UChar_t GetSelectedLevel() const;
void RecheckImpliedSelections();
void SetCSCBits(UChar_t f) { fCSCBits |= f; }
void ResetCSCBits(UChar_t f) { fCSCBits &= ~f; }
Bool_t TestCSCBits(UChar_t f) const { return (fCSCBits & f) != 0; }
void ResetAllCSCBits() { fCSCBits = 0; }
void CSCImplySelectAllChildren() { fCSCBits |= kCSCBImplySel
ectAllChildren; }
void CSCTakeAnyParentAsMaster() { fCSCBits |= kCSCBTakeAnyP
arentAsMaster; }
void CSCApplyMainColorToAllChildren() { fCSCBits |= kCSCBApplyMai
nColorToAllChildren; }
void CSCApplyMainColorToMatchingChildren() { fCSCBits |= kCSCBApplyMai
nColorToMatchingChildren; }
// Change-stamping and change bits // Change-stamping and change bits
//--------------------------------- //---------------------------------
enum EChangeBits enum EChangeBits
{ {
kCBColorSelection = BIT(0), // Main color or select/hilite state cha nged. kCBColorSelection = BIT(0), // Main color or select/hilite state cha nged.
kCBTransBBox = BIT(1), // Transformation matrix or bounding-box changed. kCBTransBBox = BIT(1), // Transformation matrix or bounding-box changed.
kCBObjProps = BIT(2), // Object changed, requires dropping its display-lists. kCBObjProps = BIT(2), // Object changed, requires dropping its display-lists.
kCBVisibility = BIT(3) // Rendering of self/children changed. kCBVisibility = BIT(3) // Rendering of self/children changed.
// kCBElementAdded = BIT(), // Element was added to a new parent. // kCBElementAdded = BIT(), // Element was added to a new parent.
skipping to change at line 436 skipping to change at line 466
virtual void SetElementTitle(const char* title) virtual void SetElementTitle(const char* title)
{ TNamed::SetTitle(title); NameTitleChanged(); } { TNamed::SetTitle(title); NameTitleChanged(); }
virtual void SetElementNameTitle(const char* name, const char* title) virtual void SetElementNameTitle(const char* name, const char* title)
{ TNamed::SetNameTitle(name, title); NameTitleChanged(); } { 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);
virtual TClass* ProjectedClass(const TEveProjection* p) const; virtual TClass* ProjectedClass(const TEveProjection* p) const;
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.
}; };
/************************************************************************** ****/ /************************************************************************** ****/
// TEveElementListProjected // TEveElementListProjected
/************************************************************************** ****/ /************************************************************************** ****/
class TEveElementListProjected : public TEveElementList, class TEveElementListProjected : public TEveElementList,
public TEveProjected public TEveProjected
{ {
private: private:
TEveElementListProjected(const TEveElementListProjected&); // Not implemented TEveElementListProjected(const TEveElementListProjected&); // Not implemented
TEveElementListProjected& operator=(const TEveElementListProjected&); // Not implemented TEveElementListProjected& operator=(const TEveElementListProjected&); // Not implemented
protected:
virtual void SetDepthLocal(Float_t d);
public: public:
TEveElementListProjected(); TEveElementListProjected();
virtual ~TEveElementListProjected() {} virtual ~TEveElementListProjected() {}
virtual void UpdateProjection(); virtual void UpdateProjection();
ClassDef(TEveElementListProjected, 0); // Projected TEveElementList. ClassDef(TEveElementListProjected, 0); // Projected TEveElementList.
}; };
#endif #endif
 End of changes. 14 change blocks. 
8 lines changed or deleted 43 lines changed or added


 TEveGedEditor.h   TEveGedEditor.h 
// @(#)root/eve:$Id: TEveGedEditor.h 31428 2009-11-25 17:03:52Z matevz $ // @(#)root/eve:$Id: TEveGedEditor.h 31998 2010-01-13 14:13:50Z 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 104 skipping to change at line 104
ClassDef(TEveGedNameFrame, 0); // Top name-frame used in EVE. ClassDef(TEveGedNameFrame, 0); // Top name-frame used in EVE.
}; };
//========================================================================= ===== //========================================================================= =====
// TEveGedNameTextButton // TEveGedNameTextButton
//========================================================================= ===== //========================================================================= =====
class TEveGedNameTextButton : public TGTextButton class TEveGedNameTextButton : public TGTextButton
{ {
private:
TEveGedNameTextButton(const TEveGedNameTextButton&); // Not i
mplemented
TEveGedNameTextButton& operator=(const TEveGedNameTextButton&); // Not i
mplemented
TEveGedNameFrame *fFrame; TEveGedNameFrame *fFrame;
public: public:
TEveGedNameTextButton(TEveGedNameFrame* p); TEveGedNameTextButton(TEveGedNameFrame* p);
virtual ~TEveGedNameTextButton(); virtual ~TEveGedNameTextButton();
virtual Bool_t HandleButton(Event_t* event); virtual Bool_t HandleButton(Event_t* event);
ClassDef(TEveGedNameTextButton, 0); // Button for GED name-frame. ClassDef(TEveGedNameTextButton, 0); // Button for GED name-frame.
}; };
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 TEveGeoShape.h   TEveGeoShape.h 
// @(#)root/eve:$Id: TEveGeoShape.h 30840 2009-10-23 09:03:14Z matevz $ // @(#)root/eve:$Id: TEveGeoShape.h 32528 2010-03-10 17:02:54Z matevz $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TEveGeoShape #ifndef ROOT_TEveGeoShape
#define ROOT_TEveGeoShape #define ROOT_TEveGeoShape
#include "TEveElement.h" #include "TEveElement.h"
#include "TEveProjectionBases.h" #include "TEveProjectionBases.h"
#include "TAttBBox.h" #include "TAttBBox.h"
class TGeoShape; class TGeoShape;
class TEveGeoShapeExtract; class TEveGeoShapeExtract;
class TBuffer3D;
class TEveGeoShape : public TEveElement, class TEveGeoShape : public TEveElement,
public TNamed, public TNamed,
public TEveProjectable public TEveProjectable
{ {
private: private:
TEveGeoShape(const TEveGeoShape&); // Not implemented TEveGeoShape(const TEveGeoShape&); // Not implemented
TEveGeoShape& operator=(const TEveGeoShape&); // Not implemented TEveGeoShape& operator=(const TEveGeoShape&); // Not implemented
protected: protected:
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TEveLine.h   TEveLine.h 
// @(#)root/eve:$Id: TEveLine.h 31517 2009-12-03 11:56:23Z matevz $ // @(#)root/eve:$Id: TEveLine.h 32430 2010-03-01 19:36:24Z 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 64 skipping to change at line 64
Bool_t GetSmooth() const { return fSmooth; } Bool_t GetSmooth() const { return fSmooth; }
void SetRnrLine(Bool_t r); void SetRnrLine(Bool_t r);
void SetRnrPoints(Bool_t r); void SetRnrPoints(Bool_t r);
void SetSmooth(Bool_t r); void SetSmooth(Bool_t r);
void ReduceSegmentLengths(Float_t max); void ReduceSegmentLengths(Float_t max);
TEveVector GetLineStart() const; TEveVector GetLineStart() const;
TEveVector GetLineEnd() const; TEveVector GetLineEnd() const;
virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE);
virtual void CopyVizParams(const TEveElement* el); virtual void CopyVizParams(const TEveElement* el);
virtual void WriteVizParams(ostream& out, const TString& var); virtual void WriteVizParams(ostream& out, const TString& var);
virtual TClass* ProjectedClass(const TEveProjection* p) const; virtual TClass* ProjectedClass(const TEveProjection* p) const;
static Bool_t GetDefaultSmooth() { return fgDefaultSmooth; } static Bool_t GetDefaultSmooth();
static void SetDefaultSmooth(Bool_t r) { fgDefaultSmooth = r; } static void SetDefaultSmooth(Bool_t r);
ClassDef(TEveLine, 0); // An arbitrary polyline with fixed line and mark er attributes. ClassDef(TEveLine, 0); // An arbitrary polyline with fixed line and mark er attributes.
}; };
//------------------------------------------------------------------------- ----- //------------------------------------------------------------------------- -----
// TEveLineProjected // TEveLineProjected
//------------------------------------------------------------------------- ----- //------------------------------------------------------------------------- -----
class TEveLineProjected : public TEveLine, class TEveLineProjected : public TEveLine,
public TEveProjected public TEveProjected
 End of changes. 3 change blocks. 
3 lines changed or deleted 5 lines changed or added


 TEvePlot3D.h   TEvePlot3D.h 
// @(#)root/eve:$Id: TEvePlot3D.h 29526 2009-07-20 17:41:53Z matevz $ // @(#)root/eve:$Id: TEvePlot3D.h 32478 2010-03-05 14:20:48Z matevz $
// Author: Matevz Tadel, 2009 // Author: Matevz Tadel, 2009
/************************************************************************* /*************************************************************************
* 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_TEvePlot3D #ifndef ROOT_TEvePlot3D
#define ROOT_TEvePlot3D #define ROOT_TEvePlot3D
#include "TEveElement.h" #include "TEveElement.h"
#include "TAttBBox.h" #include "TAttBBox.h"
class TEvePlot3D : public TEveElementList // , public TAttBBox class TEvePlot3D : public TEveElementList
{ {
friend class TEvePlot3DGL; friend class TEvePlot3DGL;
private: private:
TEvePlot3D(const TEvePlot3D&); // Not implemented TEvePlot3D(const TEvePlot3D&); // Not implemented
TEvePlot3D& operator=(const TEvePlot3D&); // Not implemented TEvePlot3D& operator=(const TEvePlot3D&); // Not implemented
protected: protected:
TObject *fPlot; // Plot object. TObject *fPlot; // Plot object.
TString fPlotOption; // Options for the plot-painter. TString fPlotOption; // Options for the plot-painter.
Bool_t fLogX; Bool_t fLogX;
Bool_t fLogY; Bool_t fLogY;
Bool_t fLogZ; Bool_t fLogZ;
public: public:
TEvePlot3D(const char* n="TEvePlot3D", const char* t=""); TEvePlot3D(const char* n="TEvePlot3D", const char* t="");
virtual ~TEvePlot3D() {} virtual ~TEvePlot3D() {}
// For TAttBBox:
// virtual void ComputeBBox();
void SetPlot(TObject* obj, const TString& opt) { fPlot = obj; fPlotOptio n = opt; } void SetPlot(TObject* obj, const TString& opt) { fPlot = obj; fPlotOptio n = opt; }
TObject* GetPlot() const { return fPlot; } TObject* GetPlot() const { return fPlot; }
TString GetPlotOption() const { return fPlotOption; } TString GetPlotOption() const { return fPlotOption; }
void SetLogXYZ(Bool_t lx, Bool_t ly, Bool_t lz) { fLogX = lx; fLogY = ly; fLogZ = lz; } void SetLogXYZ(Bool_t lx, Bool_t ly, Bool_t lz) { fLogX = lx; fLogY = ly; fLogZ = lz; }
void SetLogX(Bool_t l) { fLogX = l; } void SetLogX(Bool_t l) { fLogX = l; }
void SetLogY(Bool_t l) { fLogY = l; } void SetLogY(Bool_t l) { fLogY = l; }
void SetLogZ(Bool_t l) { fLogZ = l; } void SetLogZ(Bool_t l) { fLogZ = l; }
 End of changes. 3 change blocks. 
5 lines changed or deleted 2 lines changed or added


 TEvePolygonSetProjected.h   TEvePolygonSetProjected.h 
// @(#)root/eve:$Id: TEvePolygonSetProjected.h 31517 2009-12-03 11:56:23Z m atevz $ // @(#)root/eve:$Id: TEvePolygonSetProjected.h 32931 2010-04-09 16:29:40Z m atevz $
// 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_TEvePolygonSetProjected #ifndef ROOT_TEvePolygonSetProjected
#define ROOT_TEvePolygonSetProjected #define ROOT_TEvePolygonSetProjected
#include "TEveElement.h" #include "TEveVector.h"
#include "TEveShape.h"
#include "TEveProjectionBases.h" #include "TEveProjectionBases.h"
#include "TNamed.h"
#include "TAtt3D.h"
#include "TAttBBox.h"
#include "TColor.h"
class TBuffer3D; class TBuffer3D;
class TEveVector; class TEvePolygonSetProjected : public TEveShape,
public TEveProjected
class TEvePolygonSetProjected : public TEveElementList,
public TEveProjected,
public TAtt3D,
public TAttBBox
{ {
friend class TEvePolygonSetProjectedGL; friend class TEvePolygonSetProjectedGL;
friend class TEvePolygonSetProjectedEditor; friend class TEvePolygonSetProjectedEditor;
private: private:
TEvePolygonSetProjected(const TEvePolygonSetProjected&); // N ot implemented TEvePolygonSetProjected(const TEvePolygonSetProjected&); // N ot implemented
TEvePolygonSetProjected& operator=(const TEvePolygonSetProjected&); // N ot implemented TEvePolygonSetProjected& operator=(const TEvePolygonSetProjected&); // N ot implemented
protected: protected:
struct Polygon_t struct Polygon_t
{ {
Int_t fNPnts; // number of points Int_t fNPnts; // number of points
Int_t* fPnts; // point indices Int_t* fPnts; // point indices
Polygon_t() : fNPnts(0), fPnts(0) {} Polygon_t() : fNPnts(0), fPnts(0) {}
virtual ~Polygon_t() { delete [] fPnts; fNPnts=0; fPnts=0;} virtual ~Polygon_t() { delete [] fPnts; fNPnts=0; fPnts=0; }
Polygon_t& operator=(const Polygon_t& x) Polygon_t& operator=(const Polygon_t& x)
{ fNPnts = x.fNPnts; fPnts = x.fPnts; return *this; } { fNPnts = x.fNPnts; fPnts = x.fPnts; return *this; }
Int_t FindPoint(Int_t pi) Int_t FindPoint(Int_t pi)
{ for (Int_t i=0; i<fNPnts; ++i) if (fPnts[i] == pi) return i; return -1; } { for (Int_t i=0; i<fNPnts; ++i) if (fPnts[i] == pi) return i; return -1; }
}; };
typedef std::list<Polygon_t> vpPolygon_t; typedef std::list<Polygon_t> vpPolygon_t;
typedef vpPolygon_t::iterator vpPolygon_i; typedef vpPolygon_t::iterator vpPolygon_i;
skipping to change at line 76 skipping to change at line 69
Float_t MakePolygonsFromBS(Int_t* idxMap); Float_t MakePolygonsFromBS(Int_t* idxMap);
protected: protected:
vpPolygon_t fPols; // polygons vpPolygon_t fPols; // polygons
vpPolygon_t fPolsBS; // polygons build from TBuffer3D segments vpPolygon_t fPolsBS; // polygons build from TBuffer3D segments
vpPolygon_t fPolsBP; // polygons build from TBuffer3D polygons vpPolygon_t fPolsBP; // polygons build from TBuffer3D polygons
Int_t fNPnts; // number of reduced and projected points Int_t fNPnts; // number of reduced and projected points
TEveVector* fPnts; // reduced and projected points TEveVector* fPnts; // reduced and projected points
Color_t fFillColor; // fill color of polygons
Color_t fLineColor; // outline color of polygons
Float_t fLineWidth; // outline width of polygons
Bool_t fHighlightFrame; // higlight mode
virtual void SetDepthLocal(Float_t d); virtual void SetDepthLocal(Float_t d);
public: public:
TEvePolygonSetProjected(const char* n="TEvePolygonSetProjected", const c har* t=""); TEvePolygonSetProjected(const char* n="TEvePolygonSetProjected", const c har* t="");
virtual ~TEvePolygonSetProjected(); virtual ~TEvePolygonSetProjected();
virtual void ComputeBBox();
virtual void SetProjection(TEveProjectionManager* mng, TEveProjectabl e* model); virtual void SetProjection(TEveProjectionManager* mng, TEveProjectabl e* model);
virtual void UpdateProjection(); virtual void UpdateProjection();
void ProjectBuffer3D(); void ProjectBuffer3D();
virtual void ComputeBBox();
virtual void Paint(Option_t* option = "");
virtual void DumpPolys() const; virtual void DumpPolys() const;
void DumpBuffer3D(); void DumpBuffer3D();
// Rendering parameters.
virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual void SetMainColor(Color_t color);
virtual Bool_t CanEditMainTransparency() const { return kTRUE; }
virtual Color_t GetFillColor() const { return fFillColor; }
virtual Color_t GetLineColor() const { return fLineColor; }
virtual Float_t GetLineWidth() const { return fLineWidth;}
virtual Bool_t GetHighlightFrame() const { return fHighlightFrame; }
virtual void SetFillColor(Color_t c) { fFillColor = c; }
virtual void SetLineColor(Color_t c) { fLineColor = c; }
virtual void SetLineWidth(Float_t lw) { fLineWidth = lw;}
virtual void SetHighlightFrame(Bool_t f) { fHighlightFrame = f; }
ClassDef(TEvePolygonSetProjected,0); // Set of projected polygons with o utline; typically produced from a TBuffer3D. ClassDef(TEvePolygonSetProjected,0); // Set of projected polygons with o utline; typically produced from a TBuffer3D.
}; };
#endif #endif
 End of changes. 10 change blocks. 
39 lines changed or deleted 9 lines changed or added


 TEvePolygonSetProjectedGL.h   TEvePolygonSetProjectedGL.h 
// @(#)root/eve:$Id: TEvePolygonSetProjectedGL.h 30752 2009-10-15 18:55:34Z matevz $ // @(#)root/eve:$Id: TEvePolygonSetProjectedGL.h 33124 2010-04-21 20:04:42Z 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 28 skipping to change at line 28
{ {
public: public:
TEvePolygonSetProjectedGL(); TEvePolygonSetProjectedGL();
virtual ~TEvePolygonSetProjectedGL() {} virtual ~TEvePolygonSetProjectedGL() {}
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 Draw(TGLRnrCtx& rnrCtx) const; virtual void Draw(TGLRnrCtx& rnrCtx) const;
virtual void DirectDraw(TGLRnrCtx& rnrCtx) const; virtual void DirectDraw(TGLRnrCtx& rnrCtx) const;
virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp) const; virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp, Int_t lvl=-1) const;
virtual Bool_t IgnoreSizeForOfInterest() const { return kTRUE; } virtual Bool_t IgnoreSizeForOfInterest() const { return kTRUE; }
private: private:
void DrawOutline() const; void DrawOutline() const;
ClassDef(TEvePolygonSetProjectedGL,0); // GL-renderer for TEvePolygonSe tProjected class. ClassDef(TEvePolygonSetProjectedGL,0); // GL-renderer for TEvePolygonSe tProjected class.
}; };
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TEveProjectionAxes.h   TEveProjectionAxes.h 
// @(#)root/eve:$Id: TEveProjectionAxes.h 30384 2009-09-23 17:54:23Z matevz $ // @(#)root/eve:$Id: TEveProjectionAxes.h 32478 2010-03-05 14:20:48Z 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 55 skipping to change at line 55
ELabMode fLabMode; // Division of distorted space. ELabMode fLabMode; // Division of distorted space.
EAxesMode fAxesMode; // Axis vertical/hotrizontal orientat ion. EAxesMode fAxesMode; // Axis vertical/hotrizontal orientat ion.
Bool_t fDrawCenter; // Draw center of distortion. Bool_t fDrawCenter; // Draw center of distortion.
Bool_t fDrawOrigin; // Draw origin. Bool_t fDrawOrigin; // Draw origin.
public: public:
TEveProjectionAxes(TEveProjectionManager* m, Bool_t useColorSet = kTRUE) ; TEveProjectionAxes(TEveProjectionManager* m, Bool_t useColorSet = kTRUE) ;
virtual ~TEveProjectionAxes(); virtual ~TEveProjectionAxes();
TEveProjectionManager* GetManager(){ TEveProjectionManager* GetManager() { return fManager; }
return fManager;
}
void SetLabMode(ELabMode x) { fLabMode = x; } void SetLabMode(ELabMode x) { fLabMode = x; }
ELabMode GetLabMode() const { return fLabMode;} ELabMode GetLabMode() const { return fLabMode;}
void SetAxesMode(EAxesMode x) { fAxesMode = x; } void SetAxesMode(EAxesMode x) { fAxesMode = x; }
EAxesMode GetAxesMode() const { return fAxesMode; } EAxesMode GetAxesMode() const { return fAxesMode; }
void SetDrawCenter(Bool_t x) { fDrawCenter = x; } void SetDrawCenter(Bool_t x) { fDrawCenter = x; }
Bool_t GetDrawCenter() const { return fDrawCenter; } Bool_t GetDrawCenter() const { return fDrawCenter; }
void SetDrawOrigin(Bool_t x) { fDrawOrigin = x; } void SetDrawOrigin(Bool_t x) { fDrawOrigin = x; }
Bool_t GetDrawOrigin() const { return fDrawOrigin; } Bool_t GetDrawOrigin() const { return fDrawOrigin; }
virtual void Paint(Option_t* option=""); virtual void Paint(Option_t* option="");
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE); virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE);
ClassDef(TEveProjectionAxes, 1); // Class to draw scales in non-linear p rojections. ClassDef(TEveProjectionAxes, 1); // Class to draw scales in non-linear p rojections.
}; };
#endif #endif
 End of changes. 3 change blocks. 
4 lines changed or deleted 3 lines changed or added


 TEveProjectionBases.h   TEveProjectionBases.h 
// @(#)root/eve:$Id: TEveProjectionBases.h 30840 2009-10-23 09:03:14Z matev z $ // @(#)root/eve:$Id: TEveProjectionBases.h 33071 2010-04-16 16:34:39Z 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TEveProjectionBases #ifndef ROOT_TEveProjectionBases
#define ROOT_TEveProjectionBases #define ROOT_TEveProjectionBases
#include "TEveUtil.h" #include "Rtypes.h"
#include <list>
class TBuffer3D; #include <set>
class TEveElement; class TEveElement;
class TEveProjection; class TEveProjection;
class TEveProjected; class TEveProjected;
class TEveProjectionManager; class TEveProjectionManager;
class TClass;
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
// // // //
// TEveProjectable // // TEveProjectable //
// // // //
// Abstract base class for non-linear projectable objects. // // Abstract base class for non-linear projectable objects. //
// // // //
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
class TEveProjectable class TEveProjectable
{ {
private: private:
TEveProjectable(const TEveProjectable&); // Not implemented TEveProjectable(const TEveProjectable&); // Not implemented
TEveProjectable& operator=(const TEveProjectable&); // Not implemented TEveProjectable& operator=(const TEveProjectable&); // Not implemented
protected: public:
typedef std::list<TEveProjected*> ProjList_t; typedef std::list<TEveProjected*> ProjList_t;
typedef std::list<TEveProjected*>::iterator ProjList_i; typedef std::list<TEveProjected*>::iterator ProjList_i;
protected:
ProjList_t fProjectedList; // references to projected instances. ProjList_t fProjectedList; // references to projected instances.
public: public:
TEveProjectable(); TEveProjectable();
virtual ~TEveProjectable(); virtual ~TEveProjectable();
virtual TClass* ProjectedClass(const TEveProjection* p) const = 0; virtual TClass* ProjectedClass(const TEveProjection* p) const = 0;
virtual Bool_t HasProjecteds() const { return ! fProjectedList.empty(); } virtual Bool_t HasProjecteds() const { return ! fProjectedList.empty(); }
ProjList_i BeginProjecteds() { return fProjectedList.begin(); }
ProjList_i EndProjecteds() { return fProjectedList.end(); }
virtual void AddProjected(TEveProjected* p) { fProjectedList.push_bac k(p); } virtual void AddProjected(TEveProjected* p) { fProjectedList.push_bac k(p); }
virtual void RemoveProjected(TEveProjected* p) { fProjectedList.remove(p ); } virtual void RemoveProjected(TEveProjected* p) { fProjectedList.remove(p ); }
virtual void AddProjectedsToSet(std::set<TEveElement*>& set); virtual void AddProjectedsToSet(std::set<TEveElement*>& set);
virtual void PropagateVizParams(TEveElement* el=0); virtual void PropagateVizParams(TEveElement* el=0);
virtual void PropagateRenderState(Bool_t rnr_self, Bool_t rnr_children); virtual void PropagateRenderState(Bool_t rnr_self, Bool_t rnr_children);
virtual void PropagateMainColor(Color_t color, Color_t old_color); virtual void PropagateMainColor(Color_t color, Color_t old_color);
ClassDef(TEveProjectable, 0); // Abstract base class for classes that ca n be transformed with non-linear projections. ClassDef(TEveProjectable, 0); // Abstract base class for classes that ca n be transformed with non-linear projections.
skipping to change at line 85 skipping to change at line 90
private: private:
TEveProjected(const TEveProjected&); // Not implemented TEveProjected(const TEveProjected&); // Not implemented
TEveProjected& operator=(const TEveProjected&); // Not implemented TEveProjected& operator=(const TEveProjected&); // Not implemented
protected: protected:
TEveProjectionManager *fManager; // manager TEveProjectionManager *fManager; // manager
TEveProjectable *fProjectable; // link to original object TEveProjectable *fProjectable; // link to original object
Float_t fDepth; // z coordinate Float_t fDepth; // z coordinate
void SetDepthCommon(Float_t d, TEveElement* el, Float_t* bbox); void SetDepthCommon(Float_t d, TEveElement* el, Float_t* bbox);
virtual void SetDepthLocal(Float_t d) = 0; virtual void SetDepthLocal(Float_t d);
public: public:
TEveProjected(); TEveProjected();
virtual ~TEveProjected(); virtual ~TEveProjected();
TEveProjectable* GetProjectable() const { return fProjectable; } TEveProjectionManager* GetManager() const { return fManager; }
TEveProjectable* GetProjectable() const { return fProjectable; }
Float_t GetDepth() const { return fDepth; }
TEveElement* GetProjectableAsElement() const;
virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model); virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model);
virtual void UnRefProjectable(TEveProjectable* assumed_parent); virtual void UnRefProjectable(TEveProjectable* assumed_parent);
virtual void UpdateProjection() = 0; virtual void UpdateProjection() = 0;
virtual void SetDepth(Float_t d); virtual void SetDepth(Float_t d);
ClassDef(TEveProjected, 0); // Abstract base class for classes that hold results of a non-linear projection transformation. ClassDef(TEveProjected, 0); // Abstract base class for classes that hold results of a non-linear projection transformation.
}; };
 End of changes. 9 change blocks. 
8 lines changed or deleted 17 lines changed or added


 TEveProjectionManager.h   TEveProjectionManager.h 
// @(#)root/eve:$Id: TEveProjectionManager.h 31517 2009-12-03 11:56:23Z mat evz $ // @(#)root/eve:$Id: TEveProjectionManager.h 33037 2010-04-15 13:58:19Z mat evz $
// 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 68 skipping to change at line 68
void SetImportEmpty(Bool_t ie) { fImportEmpty = ie; } void SetImportEmpty(Bool_t ie) { fImportEmpty = ie; }
Bool_t GetImportEmpty() const { return fImportEmpty; } Bool_t GetImportEmpty() const { return fImportEmpty; }
virtual Bool_t HandleElementPaste(TEveElement* el); virtual Bool_t HandleElementPaste(TEveElement* el);
virtual TEveElement* ImportElementsRecurse(TEveElement* el, virtual TEveElement* ImportElementsRecurse(TEveElement* el,
TEveElement* parent); TEveElement* parent);
virtual TEveElement* ImportElements(TEveElement* el, virtual TEveElement* ImportElements(TEveElement* el,
TEveElement* ext_list=0); TEveElement* ext_list=0);
virtual TEveElement* SubImportElements(TEveElement* el, TEveElement* pro
j_parent);
virtual Int_t SubImportChildren(TEveElement* el, TEveElement* pro
j_parent);
virtual void ProjectChildren(); virtual void ProjectChildren();
virtual void ProjectChildrenRecurse(TEveElement* el); virtual void ProjectChildrenRecurse(TEveElement* el);
virtual void ComputeBBox(); virtual void ComputeBBox();
ClassDef(TEveProjectionManager, 0); // Manager class for steering of pro jections and managing projected objects. ClassDef(TEveProjectionManager, 0); // Manager class for steering of pro jections and managing projected objects.
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 6 lines changed or added


 TEveProjections.h   TEveProjections.h 
// @(#)root/eve:$Id: TEveProjections.h 31517 2009-12-03 11:56:23Z matevz $ // @(#)root/eve:$Id: TEveProjections.h 32528 2010-03-10 17:02:54Z 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_TEveProjections #ifndef ROOT_TEveProjections
#define ROOT_TEveProjections #define ROOT_TEveProjections
#include "TEveVector.h" #include "TEveVector.h"
#include "TString.h" #include "TString.h"
#include <vector> #include <vector>
class TEveTrans;
//========================================================================= ===== //========================================================================= =====
// TEveProjection // TEveProjection
//========================================================================= ===== //========================================================================= =====
class TEveProjection class TEveProjection
{ {
public: public:
enum EPType_e { kPT_Unknown, kPT_RPhi, kPT_RhoZ, kPT_3D, kPT_End }; // projection type enum EPType_e { kPT_Unknown, kPT_RPhi, kPT_RhoZ, kPT_3D, kPT_End }; // projection type
enum EPProc_e { kPP_Plane, kPP_Distort, kPP_Full }; // projection procedure enum EPProc_e { kPP_Plane, kPP_Distort, kPP_Full }; // projection procedure
enum EGeoMode_e { kGM_Unknown, kGM_Polygons, kGM_Segments }; // strategy for geometry projections enum EGeoMode_e { kGM_Unknown, kGM_Polygons, kGM_Segments }; // strategy for geometry projections
skipping to change at line 85 skipping to change at line 87
void PreScaleVariable(Int_t dim, Float_t& v); void PreScaleVariable(Int_t dim, Float_t& v);
public: public:
TEveProjection(); TEveProjection();
virtual ~TEveProjection() {} virtual ~TEveProjection() {}
virtual Bool_t Is2D() const = 0; virtual Bool_t Is2D() const = 0;
virtual Bool_t Is3D() const = 0; virtual Bool_t Is3D() const = 0;
virtual void ProjectPoint(Float_t& x, Float_t& y, Float_t& z, Flo at_t d, EPProc_e p = kPP_Full) = 0; virtual void ProjectPoint(Float_t& x, Float_t& y, Float_t& z, Flo at_t d, EPProc_e p = kPP_Full) = 0;
virtual void ProjectPointfv(Float_t* v, Float_t d);
virtual void ProjectPointdv(Double_t* v, Float_t d); void ProjectPointfv(Float_t* v, Float_t d);
virtual void ProjectVector(TEveVector& v, Float_t d); void ProjectPointdv(Double_t* v, Float_t d);
void ProjectVector(TEveVector& v, Float_t d);
void ProjectPointfv(const TEveTrans* t, const Float_t* p
, Float_t* v, Float_t d);
void ProjectPointdv(const TEveTrans* t, const Double_t* p
, Double_t* v, Float_t d);
void ProjectVector(const TEveTrans* t, TEveVector& v, Flo
at_t d);
const Char_t* GetName() const { return fName.Data(); } const Char_t* GetName() const { return fName.Data(); }
void SetName(const Char_t* txt) { fName = txt; } void SetName(const Char_t* txt) { fName = txt; }
virtual void SetCenter(TEveVector& v) { fCenter = v; UpdateLimi t(); } virtual void SetCenter(TEveVector& v) { fCenter = v; UpdateLimi t(); }
virtual Float_t* GetProjectedCenter() { return fCenter.Arr(); } virtual Float_t* GetProjectedCenter() { return fCenter.Arr(); }
void SetType(EPType_e t) { fType = t; } void SetType(EPType_e t) { fType = t; }
EPType_e GetType() const { return fType; } EPType_e GetType() const { return fType; }
skipping to change at line 125 skipping to change at line 132
Float_t GetFixZ() const { return fFixZ; } Float_t GetFixZ() const { return fFixZ; }
void SetFixR(Float_t x); void SetFixR(Float_t x);
void SetFixZ(Float_t x); void SetFixZ(Float_t x);
Float_t GetPastFixRFac() const { return fPastFixRFac; } Float_t GetPastFixRFac() const { return fPastFixRFac; }
Float_t GetPastFixZFac() const { return fPastFixZFac; } Float_t GetPastFixZFac() const { return fPastFixZFac; }
void SetPastFixRFac(Float_t x); void SetPastFixRFac(Float_t x);
void SetPastFixZFac(Float_t x); void SetPastFixZFac(Float_t x);
Float_t GetMaxTrackStep() const { return fMaxTrackStep; } Float_t GetMaxTrackStep() const { return fMaxTrackStep; }
void SetMaxTrackStep(Float_t x) { fMaxTrackStep = TMath::Max(x, 1.0f ); } void SetMaxTrackStep(Float_t x) { fMaxTrackStep = TMath::Max(x, 1.0f ); }
virtual Bool_t AcceptSegment(TEveVector&, TEveVector&, Float_t /*to virtual Bool_t AcceptSegment(TEveVector&, TEveVector&, Float_t /*to
lerance*/) { return kTRUE; } lerance*/) const { return kTRUE; }
virtual Int_t SubSpaceId(const TEveVector&) const { return 0; }
virtual void SetDirectionalVector(Int_t screenAxis, TEveVector& v ec); virtual void SetDirectionalVector(Int_t screenAxis, TEveVector& v ec);
// utils to draw axis // utils to draw axis
virtual Float_t GetValForScreenPos(Int_t ax, Float_t value); virtual Float_t GetValForScreenPos(Int_t ax, Float_t value);
virtual Float_t GetScreenVal(Int_t ax, Float_t value); virtual Float_t GetScreenVal(Int_t ax, Float_t value);
Float_t GetLimit(Int_t i, Bool_t pos) { return pos ? fUpLimi t[i] : fLowLimit[i]; } Float_t GetLimit(Int_t i, Bool_t pos) { return pos ? fUpLimi t[i] : fLowLimit[i]; }
static Float_t fgEps; // resolution of projected points static Float_t fgEps; // resolution of projected points
static Float_t fgEpsSqr; // square of resolution of projected point
s
ClassDef(TEveProjection, 0); // Base for specific classes that implement non-linear projections. ClassDef(TEveProjection, 0); // Base for specific classes that implement non-linear projections.
}; };
//========================================================================= ===== //========================================================================= =====
// TEveRhoZProjection // TEveRhoZProjection
//========================================================================= ===== //========================================================================= =====
class TEveRhoZProjection: public TEveProjection class TEveRhoZProjection: public TEveProjection
{ {
private: private:
TEveVector fProjectedCenter; // projected center of distortion. TEveVector fProjectedCenter; // projected center of distortion.
public: public:
TEveRhoZProjection(); TEveRhoZProjection();
virtual ~TEveRhoZProjection() {} virtual ~TEveRhoZProjection() {}
virtual Bool_t Is2D() const { return kTRUE; } virtual Bool_t Is2D() const { return kTRUE; }
virtual Bool_t Is3D() const { return kFALSE; } virtual Bool_t Is3D() const { return kFALSE; }
virtual void ProjectPoint(Float_t& x, Float_t& y, Float_t& z, Flo at_t d, EPProc_e proc = kPP_Full); virtual void ProjectPoint(Float_t& x, Float_t& y, Float_t& z, Flo at_t d, EPProc_e proc = kPP_Full);
virtual void SetCenter(TEveVector& center); virtual void SetCenter(TEveVector& center);
virtual Float_t* GetProjectedCenter() { return fProjectedCenter.Arr() virtual Float_t* GetProjectedCenter() { return fProjectedCenter.Arr()
; } ; }
virtual void UpdateLimit(); virtual void UpdateLimit();
virtual Bool_t AcceptSegment(TEveVector& v1, TEveVector& v2, Float_ virtual Bool_t AcceptSegment(TEveVector& v1, TEveVector& v2, Float_
t tolerance); t tolerance) const;
virtual Int_t SubSpaceId(const TEveVector& v) const;
virtual void SetDirectionalVector(Int_t screenAxis, TEveVector& v ec); virtual void SetDirectionalVector(Int_t screenAxis, TEveVector& v ec);
ClassDef(TEveRhoZProjection, 0); // Rho/Z non-linear projection. ClassDef(TEveRhoZProjection, 0); // Rho/Z non-linear projection.
}; };
//========================================================================= ===== //========================================================================= =====
// TEveRPhiProjection // TEveRPhiProjection
//========================================================================= ===== //========================================================================= =====
class TEveRPhiProjection : public TEveProjection class TEveRPhiProjection : public TEveProjection
 End of changes. 8 change blocks. 
13 lines changed or deleted 27 lines changed or added


 TEveQuadSet.h   TEveQuadSet.h 
// @(#)root/eve:$Id: TEveQuadSet.h 27157 2009-01-15 14:05:12Z brun $ // @(#)root/eve:$Id: TEveQuadSet.h 32935 2010-04-09 20:10:18Z 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 58 skipping to change at line 58
kQT_HexagonYX, // vertical hexagon: specify x, y, z, r kQT_HexagonYX, // vertical hexagon: specify x, y, z, r
kQT_Hexagon_End kQT_Hexagon_End
// circle modes: // circle modes:
// QT_CircleXY, // specify r, z // QT_CircleXY, // specify r, z
// QT_CircleXYFixedZ, // specify r // QT_CircleXYFixedZ, // specify r
// QT_CircleXYFixedR, // specify z // QT_CircleXYFixedR, // specify z
}; };
protected: protected:
struct QFreeQuad_t : public DigitBase_t { Float_t fVertices[12] ; }; struct QFreeQuad_t : public DigitBase_t { Float_t fVertices[12]; };
struct QOrigin_t : public DigitBase_t { struct QOrigin_t : public DigitBase_t { Float_t fA, fB; };
virtual ~QOrigin_t() {} ; Float_t fA, fB; };
struct QRectFixDimC_t : public QOrigin_t { struct QRectFixDimC_t : public QOrigin_t {};
virtual ~QRectFixDimC_t() {} };
struct QRectFixDim_t : public QRectFixDimC_t { struct QRectFixDim_t : public QRectFixDimC_t { Float_t fC; };
virtual ~QRectFixDim_t() {} ; Float_t fC; };
struct QRectFixC_t : public QRectFixDimC_t { Float_t fW, fH; }; struct QRectFixC_t : public QRectFixDimC_t { Float_t fW, fH; };
struct QRect_t : public QRectFixDim_t { Float_t fW, fH; }; struct QRect_t : public QRectFixDim_t { Float_t fW, fH; };
struct QLineFixC_t : public QOrigin_t { Float_t fDx, fDy; }; struct QLineFixC_t : public QOrigin_t { Float_t fDx, fDy; };
struct QHex_t : public QOrigin_t { Float_t fC, fR; }; struct QHex_t : public QOrigin_t { Float_t fC, fR; };
protected: protected:
 End of changes. 5 change blocks. 
8 lines changed or deleted 5 lines changed or added


 TEveQuadSetGL.h   TEveQuadSetGL.h 
// @(#)root/eve:$Id: TEveQuadSetGL.h 24214 2008-06-11 14:48:35Z matevz $ // @(#)root/eve:$Id: TEveQuadSetGL.h 33124 2010-04-21 20:04:42Z 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_TEveQuadSetGL #ifndef ROOT_TEveQuadSetGL
#define ROOT_TEveQuadSetGL #define ROOT_TEveQuadSetGL
#include "TGLObject.h" #include "TEveDigitSetGL.h"
#include "TEveQuadSet.h" #include "TEveQuadSet.h"
class TEveQuadSetGL : public TGLObject class TEveQuadSetGL : public TEveDigitSetGL
{ {
TEveQuadSetGL(const TEveQuadSetGL&); // Not implemented TEveQuadSetGL(const TEveQuadSetGL&); // Not implemented
TEveQuadSetGL& operator=(const TEveQuadSetGL&); // Not implemented TEveQuadSetGL& operator=(const TEveQuadSetGL&); // Not implemented
protected: protected:
TEveQuadSet* fM; TEveQuadSet *fM;
Bool_t SetupColor(const TEveDigitSet::DigitBase_t& q) const;
void RenderQuads(TGLRnrCtx & rnrCtx) const; void RenderQuads(TGLRnrCtx & rnrCtx) const;
void RenderLines(TGLRnrCtx & rnrCtx) const; void RenderLines(TGLRnrCtx & rnrCtx) const;
void RenderHexagons(TGLRnrCtx & rnrCtx) const; void RenderHexagons(TGLRnrCtx & rnrCtx) const;
public: public:
TEveQuadSetGL(); TEveQuadSetGL();
virtual ~TEveQuadSetGL() {} virtual ~TEveQuadSetGL() {}
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 DirectDraw(TGLRnrCtx& rnrCtx) const;
virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
virtual Bool_t IgnoreSizeForOfInterest() const { return kTRUE; } virtual Bool_t IgnoreSizeForOfInterest() const { return kTRUE; }
virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & re
c);
ClassDef(TEveQuadSetGL, 0); // GL-renderer for TEveQuadSet class. ClassDef(TEveQuadSetGL, 0); // GL-renderer for TEveQuadSet class.
}; };
#endif #endif
 End of changes. 6 change blocks. 
12 lines changed or deleted 5 lines changed or added


 TEveSelection.h   TEveSelection.h 
// @(#)root/eve:$Id: TEveSelection.h 30891 2009-10-27 19:28:36Z matevz $ // @(#)root/eve:$Id: TEveSelection.h 32464 2010-03-04 15:45:13Z 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 56 skipping to change at line 56
SelMap_t fImpliedSelected; SelMap_t fImpliedSelected;
Select_foo fSelElement; Select_foo fSelElement;
ImplySelect_foo fIncImpSelElement; ImplySelect_foo fIncImpSelElement;
ImplySelect_foo fDecImpSelElement; ImplySelect_foo fDecImpSelElement;
void DoElementSelect (SelMap_i entry); void DoElementSelect (SelMap_i entry);
void DoElementUnselect(SelMap_i entry); void DoElementUnselect(SelMap_i entry);
void RecheckImpliedSet(SelMap_i smi);
public: public:
TEveSelection(const char* n="TEveSelection", const char* t=""); TEveSelection(const char* n="TEveSelection", const char* t="");
virtual ~TEveSelection() {} virtual ~TEveSelection() {}
void SetHighlightMode(); void SetHighlightMode();
Int_t GetPickToSelect() const { return fPickToSelect; } Int_t GetPickToSelect() const { return fPickToSelect; }
void SetPickToSelect(Int_t ps) { fPickToSelect = ps; } void SetPickToSelect(Int_t ps) { fPickToSelect = ps; }
Bool_t GetIsMaster() const { return fIsMaster; } Bool_t GetIsMaster() const { return fIsMaster; }
skipping to change at line 78 skipping to change at line 80
virtual Bool_t AcceptElement(TEveElement* el); virtual Bool_t AcceptElement(TEveElement* el);
virtual void AddElement(TEveElement* el); virtual void AddElement(TEveElement* el);
virtual void RemoveElement(TEveElement* el); virtual void RemoveElement(TEveElement* el);
virtual void RemoveElementLocal(TEveElement* el); virtual void RemoveElementLocal(TEveElement* el);
virtual void RemoveElements(); virtual void RemoveElements();
virtual void RemoveElementsLocal(); virtual void RemoveElementsLocal();
virtual void RemoveImpliedSelected(TEveElement* el); virtual void RemoveImpliedSelected(TEveElement* el);
void RecheckImpliedSetForElement(TEveElement* el);
void SelectionAdded(TEveElement* el); // *SIGNAL* void SelectionAdded(TEveElement* el); // *SIGNAL*
void SelectionRemoved(TEveElement* el); // *SIGNAL* void SelectionRemoved(TEveElement* el); // *SIGNAL*
void SelectionCleared(); // *SIGNAL* void SelectionCleared(); // *SIGNAL*
void SelectionRepeated(TEveElement* el); // *SIGNAL* void SelectionRepeated(TEveElement* el); // *SIGNAL*
// ---------------------------------------------------------------- // ----------------------------------------------------------------
// Interface to make selection active/non-active. // Interface to make selection active/non-active.
// Not used yet, assumed to be active all the time.
virtual void ActivateSelection(); virtual void ActivateSelection();
virtual void DeactivateSelection(); virtual void DeactivateSelection();
// ---------------------------------------------------------------- // ----------------------------------------------------------------
// User input processing. // User input processing.
TEveElement* MapPickedToSelected(TEveElement* el); TEveElement* MapPickedToSelected(TEveElement* el);
virtual void UserPickedElement(TEveElement* el, Bool_t multi=kFALSE); virtual void UserPickedElement(TEveElement* el, Bool_t multi=kFALSE);
 End of changes. 4 change blocks. 
2 lines changed or deleted 5 lines changed or added


 TEveTrack.h   TEveTrack.h 
// @(#)root/eve:$Id: TEveTrack.h 31517 2009-12-03 11:56:23Z matevz $ // @(#)root/eve:$Id: TEveTrack.h 32933 2010-04-09 17:28:46Z 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_TEveTrack #ifndef ROOT_TEveTrack
#define ROOT_TEveTrack #define ROOT_TEveTrack
#include <vector> #include <vector>
#include "TEveVector.h" #include "TEveVector.h"
#include "TEvePathMark.h"
#include "TEveElement.h" #include "TEveElement.h"
#include "TEveLine.h" #include "TEveLine.h"
#include "TPolyMarker3D.h" #include "TPolyMarker3D.h"
#include "TMarker.h" #include "TMarker.h"
class TEveTrackPropagator; class TEveTrackPropagator;
class TEveTrackList; class TEveTrackList;
class TEveRecTrack; class TEveRecTrack;
skipping to change at line 59 skipping to change at line 60
TEveVector fP; // Starting momentum TEveVector fP; // Starting momentum
TEveVector fPEnd; // Momentum at the last point of extrapo lation TEveVector fPEnd; // Momentum at the last point of extrapo lation
Double_t fBeta; // Relativistic beta factor Double_t fBeta; // Relativistic beta factor
Int_t fPdg; // PDG code Int_t fPdg; // PDG code
Int_t fCharge; // Charge in units of e0 Int_t fCharge; // Charge in units of e0
Int_t fLabel; // Simulation label Int_t fLabel; // Simulation label
Int_t fIndex; // Reconstruction index Int_t fIndex; // Reconstruction index
Int_t fStatus; // Status-word, user-defined. Int_t fStatus; // Status-word, user-defined.
Bool_t fLockPoints; // Lock points that are currently in - d o nothing in MakeTrack(). Bool_t fLockPoints; // Lock points that are currently in - d o nothing in MakeTrack().
vPathMark_t fPathMarks; // TEveVector of known points along the track vPathMark_t fPathMarks; // TEveVector of known points along the track
Int_t fLastPMIdx; //!Last path-mark index tried in track-p ropagation.
TEveTrackPropagator *fPropagator; // Pointer to shared render-style TEveTrackPropagator *fPropagator; // Pointer to shared render-style
UChar_t fBreakProjectedTracks; // How to handle breaks durin g projection - track specific settings. UChar_t fBreakProjectedTracks; // How to handle breaks durin g projection - track specific settings.
static Bool_t fgDefaultBreakProjectedTracks; // How to handle break s during projection - global setting. static Bool_t fgDefaultBreakProjectedTracks; // How to handle break s during projection - global setting.
public: public:
TEveTrack(); TEveTrack();
TEveTrack(TParticle* t, Int_t label, TEveTrackPropagator* prop=0); TEveTrack(TParticle* t, Int_t label, TEveTrackPropagator* prop=0);
skipping to change at line 82 skipping to change at line 84
virtual ~TEveTrack(); virtual ~TEveTrack();
virtual void SetStdTitle(); virtual void SetStdTitle();
virtual void SetTrackParams(const TEveTrack& t); virtual void SetTrackParams(const TEveTrack& t);
virtual void SetPathMarks (const TEveTrack& t); virtual void SetPathMarks (const TEveTrack& t);
virtual void MakeTrack(Bool_t recurse=kTRUE); virtual void MakeTrack(Bool_t recurse=kTRUE);
TEveTrackPropagator* GetPropagator() const { return fPropagator; } TEveTrackPropagator* GetPropagator() const { return fPropagator; }
void SetPropagator(TEveTrackPropagator* prop); Int_t GetLastPMIdx() const { return fLastPMIdx; }
void SetAttLineAttMarker(TEveTrackList* tl); void SetPropagator(TEveTrackPropagator* prop);
void SetAttLineAttMarker(TEveTrackList* tl);
const TEveVector& GetVertex() const { return fV; } const TEveVector& GetVertex() const { return fV; }
const TEveVector& GetMomentum() const { return fP; } const TEveVector& GetMomentum() const { return fP; }
const TEveVector& GetEndMomentum() const { return fPEnd; } const TEveVector& GetEndMomentum() const { return fPEnd; }
Int_t GetPdg() const { return fPdg; } Int_t GetPdg() const { return fPdg; }
void SetPdg(Int_t pdg) { fPdg = pdg; } void SetPdg(Int_t pdg) { fPdg = pdg; }
Int_t GetCharge() const { return fCharge; } Int_t GetCharge() const { return fCharge; }
void SetCharge(Int_t chg) { fCharge = chg; } void SetCharge(Int_t chg) { fCharge = chg; }
Int_t GetLabel() const { return fLabel; } Int_t GetLabel() const { return fLabel; }
skipping to change at line 126 skipping to change at line 129
virtual void CopyVizParams(const TEveElement* el); virtual void CopyVizParams(const TEveElement* el);
virtual void WriteVizParams(ostream& out, const TString& var); virtual void WriteVizParams(ostream& out, const TString& var);
virtual TClass* ProjectedClass(const TEveProjection* p) const; virtual TClass* ProjectedClass(const TEveProjection* p) const;
Bool_t ShouldBreakTrack() const; Bool_t ShouldBreakTrack() const;
UChar_t GetBreakProjectedTracks() const { return fBreakProjectedTrac ks; } UChar_t GetBreakProjectedTracks() const { return fBreakProjectedTrac ks; }
void SetBreakProjectedTracks(UChar_t bt) { fBreakProjectedTracks = bt ; } void SetBreakProjectedTracks(UChar_t bt) { fBreakProjectedTracks = bt ; }
static Bool_t GetDefaultBreakProjectedTracks() { return fgDefau static Bool_t GetDefaultBreakProjectedTracks();
ltBreakProjectedTracks; } static void SetDefaultBreakProjectedTracks(Bool_t bt);
static void SetDefaultBreakProjectedTracks(Bool_t bt) { fgDefaultBreak
ProjectedTracks = bt; }
ClassDef(TEveTrack, 1); // Track with given vertex, momentum and optiona l referece-points (path-marks) along its path. ClassDef(TEveTrack, 1); // Track with given vertex, momentum and optiona l referece-points (path-marks) along its path.
}; };
/************************************************************************** ****/ /************************************************************************** ****/
// TEveTrackList // TEveTrackList
/************************************************************************** ****/ /************************************************************************** ****/
class TEveTrackList : public TEveElementList, class TEveTrackList : public TEveElementList,
public TAttMarker, public TAttMarker,
 End of changes. 5 change blocks. 
7 lines changed or deleted 8 lines changed or added


 TEveTrackGL.h   TEveTrackGL.h 
// @(#)root/eve:$Id: TEveTrackGL.h 24214 2008-06-11 14:48:35Z matevz $ // @(#)root/eve:$Id: TEveTrackGL.h 32528 2010-03-10 17:02:54Z 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 31 skipping to change at line 31
class TEveTrackGL : public TEveLineGL class TEveTrackGL : public TEveLineGL
{ {
private: private:
TEveTrackGL(const TEveTrackGL&); // Not implemented TEveTrackGL(const TEveTrackGL&); // Not implemented
TEveTrackGL& operator=(const TEveTrackGL&); // Not implemented TEveTrackGL& operator=(const TEveTrackGL&); // Not implemented
protected: protected:
TEveTrack* fTrack; // Model object. TEveTrack* fTrack; // Model object.
void RenderPathMarksAndFirstVertex(TGLRnrCtx& rnrCtx) const;
public: public:
TEveTrackGL(); TEveTrackGL();
virtual ~TEveTrackGL() {} virtual ~TEveTrackGL() {}
virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0); virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
virtual void DirectDraw(TGLRnrCtx & rnrCtx) const; virtual void DirectDraw(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& rec) ;
ClassDef(TEveTrackGL, 0); // GL-renderer for TEveTrack class. ClassDef(TEveTrackGL, 0); // GL-renderer for TEveTrack class.
}; };
#endif #endif
 End of changes. 3 change blocks. 
2 lines changed or deleted 4 lines changed or added


 TEveTrackProjected.h   TEveTrackProjected.h 
// @(#)root/eve:$Id: TEveTrackProjected.h 30840 2009-10-23 09:03:14Z matevz $ // @(#)root/eve:$Id: TEveTrackProjected.h 32528 2010-03-10 17:02:54Z 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_TEveTrackProjected #ifndef ROOT_TEveTrackProjected
#define ROOT_TEveTrackProjected #define ROOT_TEveTrackProjected
#include "TEveTrack.h" #include "TEveTrack.h"
#include "TEveProjectionBases.h" #include "TEveProjectionBases.h"
class TEveProjection;
class TEveTrackProjected : public TEveTrack, class TEveTrackProjected : public TEveTrack,
public TEveProjected public TEveProjected
{ {
friend class TEveTrackProjectedGL; friend class TEveTrackProjectedGL;
private: private:
TEveTrackProjected(const TEveTrackProjected&); // Not impleme nted TEveTrackProjected(const TEveTrackProjected&); // Not impleme nted
TEveTrackProjected& operator=(const TEveTrackProjected&); // Not impleme nted TEveTrackProjected& operator=(const TEveTrackProjected&); // Not impleme nted
Int_t GetBreakPointIdx(Int_t start); Int_t GetBreakPointIdx(Int_t start);
void GetBreakPoint(Int_t N, Bool_t back, Float_t& x, Float_t& y, Float_ t& z); void GetBreakPoint(Int_t N, Bool_t back, Float_t& x, Float_t& y, Float_ t& z);
TEveVector* fOrigPnts; // original track points TEveVector* fOrigPnts; // original track points
protected: protected:
std::vector<Int_t> fBreakPoints; // indices of track break-points std::vector<Int_t> fBreakPoints; // indices of track break-points
TEveProjection *fProjection; // projection
virtual void SetDepthLocal(Float_t d); virtual void SetDepthLocal(Float_t d);
public: public:
TEveTrackProjected(); TEveTrackProjected();
virtual ~TEveTrackProjected() {} virtual ~TEveTrackProjected() {}
virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model); virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model);
virtual void UpdateProjection(); virtual void UpdateProjection();
 End of changes. 3 change blocks. 
4 lines changed or deleted 1 lines changed or added


 TEveTrackPropagator.h   TEveTrackPropagator.h 
// @(#)root/eve:$Id: TEveTrackPropagator.h 31540 2009-12-03 17:02:17Z matev z $ // @(#)root/eve:$Id: TEveTrackPropagator.h 32933 2010-04-09 17:28:46Z 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TEveTrackPropagator #ifndef ROOT_TEveTrackPropagator
#define ROOT_TEveTrackPropagator #define ROOT_TEveTrackPropagator
#include "TEveVector.h" #include "TEveVector.h"
#include "TEvePathMark.h"
#include "TEveUtil.h" #include "TEveUtil.h"
#include "TEveElement.h" #include "TEveElement.h"
#include "TMarker.h" #include "TMarker.h"
#include <vector> #include <vector>
class TEvePointSet; class TEvePointSet;
//========================================================================= ===== //========================================================================= =====
// TEveMagField // TEveMagField
skipping to change at line 47 skipping to change at line 48
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 { return 4; } // not abstract bec ause of backward compatibility
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
{ {
skipping to change at line 93 skipping to change at line 96
TEveMagFieldDuo(Float_t r, Float_t bIn, Float_t bOut) : TEveMagField(), TEveMagFieldDuo(Float_t r, Float_t bIn, Float_t bOut) : TEveMagField(),
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
{ Float_t b1 = fBIn.Mag(), b2 = fBOut.Mag(); return b1 > b2 ? b1 : b2; }
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
{ {
friend class TEveTrackPropagatorSubEditor; friend class TEveTrackPropagatorSubEditor;
public: public:
struct Helix_t struct Helix_t
{ {
Int_t fCharge; // Charge of tracked particle. Int_t fCharge; // Charge of tracked particle.
Float_t fMinAng; // Minimal angular step between two helix points. Float_t fMaxAng; // Maximum step angle.
Float_t fDelta; // Maximal error at the mid-point of the line conn
ecting two helix points.
Float_t fMaxStep; // Maximum allowed step size. Float_t fMaxStep; // Maximum allowed step size.
Float_t fCurrentStep; Float_t fDelta; // Maximum error in the middle of the step.
Float_t fPhi; // Accumulated angle to check fMaxOrbs by propagat or. Float_t fPhi; // Accumulated angle to check fMaxOrbs by propagat or.
Bool_t fValid; // Corner case pT~0 or B~0, possible in variable m ag field. Bool_t fValid; // Corner case pT~0 or B~0, possible in variable m ag field.
// ---------------------------------------------------------------- // ----------------------------------------------------------------
// helix parameters // helix parameters
Float_t fLam; // Momentum ratio pT/pZ. Float_t fLam; // Momentum ratio pT/pZ.
Float_t fR; // Helix radius in cm. Float_t fR; // Helix radius in cm.
Float_t fPhiStep; // Caluclated from fMinAng and fDelta. Float_t fPhiStep; // Caluclated from fMinAng and fDelta.
Float_t fSin, fCos; // Current sin/cos(phistep). Float_t fSin, fCos; // Current sin/cos(phistep).
// Runge-Kutta parameters
Float_t fRKStep; // Step for Runge-Kutta.
// cached // cached
TEveVector fB; // Current magnetic field, cached. TEveVector fB; // Current magnetic field, cached.
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 fPlMag; // Momentum parallel to mag field. Float_t fPlMag; // Momentum parallel to mag field.
Float_t fLStep; // Transverse step arc-length in cm. Float_t fLStep; // Transverse step arc-length in cm.
// ---------------------------------------------------------------- // ----------------------------------------------------------------
Helix_t(); Helix_t();
void UpdateCommon(const TEveVector & p, const TEveVector& b); void UpdateCommon(const TEveVector & p, const TEveVector& b);
void UpdateHelix(const TEveVector & p, const TEveVector& b, Bool_t fu llUpdate); void UpdateHelix(const TEveVector & p, const TEveVector& b, Bool_t fu ll_update, Bool_t enforce_max_step);
void UpdateRK (const TEveVector & p, const TEveVector& b); void UpdateRK (const TEveVector & p, const TEveVector& b);
void Step(const TEveVector4& v, const TEveVector& p, TEveVector4& vOu t, TEveVector& pOut); void Step(const TEveVector4& v, const TEveVector& p, TEveVector4& vOu t, TEveVector& pOut);
Float_t GetStep() { return fLStep * TMath::Sqrt(1 + fLam*fLam); } Float_t GetStep() { return fLStep * TMath::Sqrt(1 + fLam*fLam); }
Float_t GetStep2() { return fLStep * fLStep * (1 + fLam*fLam); } Float_t GetStep2() { return fLStep * fLStep * (1 + fLam*fLam); }
}; };
enum EStepper_e { kHelix, kRungeKutta }; enum EStepper_e { kHelix, kRungeKutta };
private: private:
skipping to change at line 161 skipping to change at line 168
TEveTrackPropagator& operator=(const TEveTrackPropagator&); // Not imple mented TEveTrackPropagator& operator=(const TEveTrackPropagator&); // Not imple mented
protected: protected:
EStepper_e fStepper; 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).
// 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.
skipping to change at line 187 skipping to change at line 194
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 Update(const TEveVector4& v, const TEveVector& p, Bool_t full_up date=kFALSE); void Update(const TEveVector4& v, const TEveVector& p, Bool_t full_up date=kFALSE, Bool_t enforce_max_step=kFALSE);
void Step(const TEveVector4 &v, const TEveVector &p, TEveVector4 &vOu t, TEveVector &pOut); void Step(const TEveVector4 &v, const TEveVector &p, TEveVector4 &vOu t, TEveVector &pOut);
Bool_t LoopToVertex(TEveVector& v, TEveVector& p); Bool_t LoopToVertex(TEveVector& v, TEveVector& p);
void LoopToBounds(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); void StepRungeKutta(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, Floa t_t* p=0); Bool_t PointOverVertex(const TEveVector4& v0, const TEveVector4& v, Floa t_t* p=0);
public: public:
TEveTrackPropagator(const char* n="TEveTrackPropagator", const char* t=" ", TEveTrackPropagator(const char* n="TEveTrackPropagator", const char* t=" ",
skipping to change at line 237 skipping to change at line 244
void SetStepper(EStepper_e s) { fStepper = s; } 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 SetMaxAng(Float_t x);
void SetMaxStep(Float_t x); void SetMaxStep(Float_t x);
void SetDelta(Float_t x);
void SetEditPathMarks(Bool_t x) { fEditPathMarks = x; } void SetEditPathMarks(Bool_t x) { fEditPathMarks = x; }
void SetRnrDaughters(Bool_t x); void SetRnrDaughters(Bool_t x);
void SetRnrReferences(Bool_t x); void SetRnrReferences(Bool_t x);
void SetRnrDecay(Bool_t x); void SetRnrDecay(Bool_t x);
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;} 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;
Float_t GetDelta() const { return fH.fDelta; } Float_t GetMaxAng() const { return fH.fMaxAng; }
Float_t GetMaxStep() const { return fH.fMaxStep; } Float_t GetMaxStep() const { return fH.fMaxStep; }
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; }
Bool_t GetRnrCluster2Ds() const { return fRnrCluster2Ds; } Bool_t GetRnrCluster2Ds() const { return fRnrCluster2Ds; }
Bool_t GetFitDaughters() const { return fFitDaughters; } Bool_t GetFitDaughters() const { return fFitDaughters; }
Bool_t GetFitReferences() const { return fFitReferences; } Bool_t GetFitReferences() const { return fFitReferences; }
Bool_t GetFitDecay() const { return fFitDecay; } Bool_t GetFitDecay() const { return fFitDecay; }
Bool_t GetFitCluster2Ds() const { return fFitCluster2Ds; } Bool_t GetFitCluster2Ds() const { return fFitCluster2Ds; }
 End of changes. 16 change blocks. 
12 lines changed or deleted 20 lines changed or added


 TEveTrackPropagatorEditor.h   TEveTrackPropagatorEditor.h 
// @(#)root/eve:$Id: TEveTrackPropagatorEditor.h 23867 2008-05-15 18:59:02Z matevz $ // @(#)root/eve:$Id: TEveTrackPropagatorEditor.h 32543 2010-03-10 22:12:00Z 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 48 skipping to change at line 48
private: private:
TEveTrackPropagatorSubEditor(const TEveTrackPropagatorSubEditor&); // Not implemented TEveTrackPropagatorSubEditor(const TEveTrackPropagatorSubEditor&); // Not implemented
TEveTrackPropagatorSubEditor& operator=(const TEveTrackPropagatorSubEdit or&); // Not implemented TEveTrackPropagatorSubEditor& operator=(const TEveTrackPropagatorSubEdit or&); // Not implemented
protected: protected:
TEveTrackPropagator *fM; TEveTrackPropagator *fM;
TEveGValuator *fMaxR; TEveGValuator *fMaxR;
TEveGValuator *fMaxZ; TEveGValuator *fMaxZ;
TEveGValuator *fMaxOrbits; TEveGValuator *fMaxOrbits;
TEveGValuator *fMinAng; TEveGValuator *fMaxAng;
TEveGValuator *fDelta; TEveGValuator *fDelta;
TGCheckButton *fRnrFV; TGCheckButton *fRnrFV;
TGCompositeFrame *fPMFrame; TGCompositeFrame *fPMFrame;
TGButton *fFitDaughters; TGButton *fFitDaughters;
TGButton *fFitReferences; TGButton *fFitReferences;
TGButton *fFitDecay; TGButton *fFitDecay;
TGButton *fFitCluster2Ds; TGButton *fFitCluster2Ds;
TGButton *fRnrDaughters; TGButton *fRnrDaughters;
skipping to change at line 79 skipping to change at line 79
TEveTrackPropagatorSubEditor(const TGWindow* p); TEveTrackPropagatorSubEditor(const TGWindow* p);
virtual ~TEveTrackPropagatorSubEditor() {} virtual ~TEveTrackPropagatorSubEditor() {}
void SetModel(TEveTrackPropagator* m); void SetModel(TEveTrackPropagator* m);
void Changed(); //*SIGNAL* void Changed(); //*SIGNAL*
void DoMaxR(); void DoMaxR();
void DoMaxZ(); void DoMaxZ();
void DoMaxOrbits(); void DoMaxOrbits();
void DoMinAng(); void DoMaxAng();
void DoDelta(); void DoDelta();
void DoFitPM(); void DoFitPM();
void DoRnrPM(); void DoRnrPM();
void DoRnrFV(); void DoRnrFV();
void CreateRefsContainer(TGVerticalFrame* p); void CreateRefsContainer(TGVerticalFrame* p);
ClassDef(TEveTrackPropagatorSubEditor, 0); // Sub-editor for TEveTrackPr opagator class. ClassDef(TEveTrackPropagatorSubEditor, 0); // Sub-editor for TEveTrackPr opagator class.
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TEveTrans.h   TEveTrans.h 
// @(#)root/eve:$Id: TEveTrans.h 29908 2009-08-25 18:09:53Z matevz $ // @(#)root/eve:$Id: TEveTrans.h 32931 2010-04-09 16:29:40Z 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_TEveTrans #ifndef ROOT_TEveTrans
#define ROOT_TEveTrans #define ROOT_TEveTrans
#include "TEveVector.h"
#include "TVector3.h" #include "TVector3.h"
class TEveVector;
class TGeoMatrix; class TGeoMatrix;
class TGeoHMatrix; class TGeoHMatrix;
class TBuffer3D; class TBuffer3D;
/************************************************************************** ****/ /************************************************************************** ****/
// TEveTrans -- 3D transformation in generalised coordinates // TEveTrans -- 3D transformation in generalised coordinates
/************************************************************************** ****/ /************************************************************************** ****/
class TEveTrans : public TObject class TEveTrans : public TObject
{ {
skipping to change at line 157 skipping to change at line 156
// Operations on vectors // Operations on vectors
void MultiplyIP(TVector3& v, Double_t w=1) const; void MultiplyIP(TVector3& v, Double_t w=1) const;
void MultiplyIP(Double_t* v, Double_t w=1) const; void MultiplyIP(Double_t* v, Double_t w=1) const;
void MultiplyIP(Float_t* v, Double_t w=1) const; void MultiplyIP(Float_t* v, Double_t w=1) const;
TVector3 Multiply(const TVector3& v, Double_t w=1) const; TVector3 Multiply(const TVector3& v, Double_t w=1) const;
void Multiply(const Double_t *vin, Double_t* vout, Double_t w=1) con st; void Multiply(const Double_t *vin, Double_t* vout, Double_t w=1) con st;
void RotateIP(TVector3& v) const; void RotateIP(TVector3& v) const;
void RotateIP(Double_t* v) const; void RotateIP(Double_t* v) const;
void RotateIP(TEveVector& v) const; void RotateIP(Float_t* v) const;
TVector3 Rotate(const TVector3& v) const; TVector3 Rotate(const TVector3& v) const;
virtual void Print(Option_t* option = "") const; virtual void Print(Option_t* option = "") const;
// TEveUtil stuff // TEveUtil stuff
void SetFrom(Double_t* carr); void SetFrom(Double_t* carr);
void SetFrom(const TGeoMatrix& mat); void SetFrom(const TGeoMatrix& mat);
void SetGeoHMatrix(TGeoHMatrix& mat); void SetGeoHMatrix(TGeoHMatrix& mat);
void SetBuffer3D(TBuffer3D& buff); void SetBuffer3D(TBuffer3D& buff);
 End of changes. 4 change blocks. 
4 lines changed or deleted 3 lines changed or added


 TEveTriangleSet.h   TEveTriangleSet.h 
// @(#)root/eve:$Id: TEveTriangleSet.h 26034 2008-10-31 14:01:05Z matevz $ // @(#)root/eve:$Id: TEveTriangleSet.h 32478 2010-03-05 14:20:48Z 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 24 skipping to change at line 24
#include "TEveElement.h" #include "TEveElement.h"
#include "TNamed.h" #include "TNamed.h"
#include "TAttBBox.h" #include "TAttBBox.h"
#include "TAtt3D.h" #include "TAtt3D.h"
#include "TEveTrans.h" #include "TEveTrans.h"
class TGeoMatrix; class TGeoMatrix;
class TEveTriangleSet : public TEveElement, class TEveTriangleSet : public TEveElementList,
public TNamed, public TAtt3D,
public TAttBBox, public TAttBBox
public TAtt3D
{ {
friend class TEveTriangleSetEditor; friend class TEveTriangleSetEditor;
friend class TEveTriangleSetGL; friend class TEveTriangleSetGL;
TEveTriangleSet(const TEveTriangleSet&); // Not implemented TEveTriangleSet(const TEveTriangleSet&); // Not implemented
TEveTriangleSet& operator=(const TEveTriangleSet&); // Not implemented TEveTriangleSet& operator=(const TEveTriangleSet&); // Not implemented
protected: protected:
// Vertex data // Vertex data
Int_t fNVerts; Int_t fNVerts;
Float_t* fVerts; //[3*fNVerts] Float_t* fVerts; //[3*fNVerts]
// Triangle data // Triangle data
Int_t fNTrings; Int_t fNTrings;
Int_t* fTrings; //[3*fNTrings] Int_t* fTrings; //[3*fNTrings]
Float_t* fTringNorms; //[3*fNTrings] Float_t* fTringNorms; //[3*fNTrings]
UChar_t* fTringCols; //[3*fNTrings] UChar_t* fTringCols; //[3*fNTrings]
// --------------------------------------------------------------
Color_t fColor;
UShort_t fTransp;
public: public:
TEveTriangleSet(Int_t nv, Int_t nt, Bool_t norms=kFALSE, Bool_t cols=kFA LSE); TEveTriangleSet(Int_t nv, Int_t nt, Bool_t norms=kFALSE, Bool_t cols=kFA LSE);
~TEveTriangleSet(); ~TEveTriangleSet();
virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual Bool_t CanEditMainTransparency() const { return kTRUE; } virtual Bool_t CanEditMainTransparency() const { return kTRUE; }
Int_t GetNVerts() const { return fNVerts; } Int_t GetNVerts() const { return fNVerts; }
Int_t GetNTrings() const { return fNTrings; } Int_t GetNTrings() const { return fNTrings; }
Float_t* Vertex(Int_t i) { return &(fVerts[3*i]); } Float_t* Vertex(Int_t i) { return &(fVerts[3*i]); }
Int_t* Triangle(Int_t i) { return &(fTrings[3*i]); } Int_t* Triangle(Int_t i) { return &(fTrings[3*i]); }
Float_t* TriangleNormal(Int_t i) { return &(fTringNorms[3*i]); } Float_t* TriangleNormal(Int_t i) { return &(fTringNorms[3*i]); }
UChar_t* TriangleColor(Int_t i) { return &(fTringCols[3*i]); } UChar_t* TriangleColor(Int_t i) { return &(fTringCols[3*i]); }
skipping to change at line 79 skipping to change at line 72
{ Int_t* t = Triangle(i); t[0] = v0; t[1] = v1; t[2] = v2; } { Int_t* t = Triangle(i); t[0] = v0; t[1] = v1; t[2] = v2; }
void SetTriangleColor(Int_t i, UChar_t r, UChar_t g, UChar_t b, UChar_t a=255) void SetTriangleColor(Int_t i, UChar_t r, UChar_t g, UChar_t b, UChar_t a=255)
{ UChar_t* c = TriangleColor(i); c[0] = r; c[1] = g; c[2] = b; c[3] = a; } { UChar_t* c = TriangleColor(i); c[0] = r; c[1] = g; c[2] = b; c[3] = a; }
void GenerateTriangleNormals(); void GenerateTriangleNormals();
void GenerateRandomColors(); void GenerateRandomColors();
void GenerateZNormalColors(Float_t fac=20, Int_t min=-20, Int_t max=20, void GenerateZNormalColors(Float_t fac=20, Int_t min=-20, Int_t max=20,
Bool_t interp=kFALSE, Bool_t wrap=kFALSE); Bool_t interp=kFALSE, Bool_t wrap=kFALSE);
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual void Paint(Option_t* = ""); virtual void Paint(Option_t* option="");
void SetTransparency(UChar_t tr) { SetMainTransparency(tr); } // *MENU* void SetTransparency(UChar_t tr) { SetMainTransparency(tr); } // *MENU*
static TEveTriangleSet* ReadTrivialFile(const char* file); static TEveTriangleSet* ReadTrivialFile(const char* file);
ClassDef(TEveTriangleSet, 0); // Generic mesh or soup of triangles with per-triangle normals and colors. ClassDef(TEveTriangleSet, 0); // Generic mesh or soup of triangles with per-triangle normals and colors.
}; };
#endif #endif
 End of changes. 5 change blocks. 
12 lines changed or deleted 5 lines changed or added


 TEveVector.h   TEveVector.h 
// @(#)root/eve:$Id: TEveVector.h 31517 2009-12-03 11:56:23Z matevz $ // @(#)root/eve:$Id: TEveVector.h 33064 2010-04-16 11:09:19Z matevz $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TEveVector #ifndef ROOT_TEveVector
#define ROOT_TEveVector #define ROOT_TEveVector
#include "TMath.h" #include "TMath.h"
class TVector3; class TVector3;
//========================================================================= ===== //========================================================================= =====
// TEveVector // TEveVectorT
//========================================================================= ===== //========================================================================= =====
class TEveVector template <typename TT>
class TEveVectorT
{ {
public: public:
Float_t fX, fY, fZ; // Components of the vector. TT fX, fY, fZ; // Components of the vector.
TEveVector() : fX(0), fY(0), fZ(0) {} TEveVectorT() : fX(0), fY(0), fZ(0) {}
TEveVector(const Float_t* v) : fX(v[0]), fY(v[1]), fZ(v[2]) {} template <typename OO>
TEveVector(const Double_t* v) : fX(v[0]), fY(v[1]), fZ(v[2]) {} TEveVectorT(const TEveVectorT<OO>& v) : fX(v.fX), fY(v.fY), fZ(v.fZ) {}
TEveVector(Float_t x, Float_t y, Float_t z) : fX(x), fY(y), fZ(z) {} TEveVectorT(const Float_t* v) : fX(v[0]), fY(v[1]), fZ(v[2]) {}
virtual ~TEveVector() {} TEveVectorT(const Double_t* v) : fX(v[0]), fY(v[1]), fZ(v[2]) {}
TEveVectorT(TT x, TT y, TT z) : fX(x), fY(y), fZ(z) {}
void Dump() const; void Dump() const;
operator const Float_t*() const { return &fX; } operator const TT*() const { return &fX; }
operator Float_t*() { return &fX; } operator TT*() { return &fX; }
TEveVector& operator *=(Float_t s) { fX *= s; fY *= s; f TT operator [] (Int_t idx) const { return (&fX)[idx]; }
Z *= s; return *this; } TT& operator [] (Int_t idx) { return (&fX)[idx]; }
TEveVector& operator +=(const TEveVector& v) { fX += v.fX; fY += v.fY; f
Z += v.fZ; return *this; }
TEveVector& operator -=(const TEveVector& v) { fX -= v.fX; fY -= v.fY; f
Z -= v.fZ; return *this; }
TEveVector operator + (const TEveVector &) const;
TEveVector operator - (const TEveVector &) const;
TEveVector operator * (Float_t a) const;
Float_t& operator [] (Int_t indx); const TT* Arr() const { return &fX; }
Float_t operator [] (Int_t indx) const; TT* Arr() { return &fX; }
const Float_t* Arr() const { return &fX; } TEveVectorT& operator*=(TT s) { fX *= s; fY *= s;
Float_t* Arr() { return &fX; } fZ *= s; return *this; }
TEveVectorT& operator+=(const TEveVectorT& v) { fX += v.fX; fY += v.fY;
fZ += v.fZ; return *this; }
TEveVectorT& operator-=(const TEveVectorT& v) { fX -= v.fX; fY -= v.fY;
fZ -= v.fZ; return *this; }
void Set(const Float_t* v) { fX = v[0]; fY = v[1]; fZ = v[2]; } void Set(const Float_t* v) { fX = v[0]; fY = v[1]; fZ = v[2]; }
void Set(const Double_t* v) { fX = v[0]; fY = v[1]; fZ = v[2]; } void Set(const Double_t* v) { fX = v[0]; fY = v[1]; fZ = v[2]; }
void Set(Float_t x, Float_t y, Float_t z) { fX = x; fY = y; fZ = z; } void Set(TT x, TT y, TT z) { fX = x; fY = y; fZ = z; }
void Set(Double_t x, Double_t y, Double_t z) { fX = x; fY = y; fZ = z; }
void Set(const TEveVector& v) { fX = v.fX; fY = v.fY; fZ = v.fZ; }
void Set(const TVector3& v); void Set(const TVector3& v);
template <typename OO>
void Set(const TEveVectorT<OO>& v) { fX = v.fX; fY = v.fY; fZ = v.fZ;
}
void NegateXYZ() { fX = - fX; fY = -fY; fZ = -fZ; } void NegateXYZ() { fX = - fX; fY = -fY; fZ = -fZ; }
void Normalize(Float_t length=1); TT Normalize(TT length=1);
Float_t Phi() const; TT Phi() const;
Float_t Theta() const; TT Theta() const;
Float_t CosTheta() const; TT CosTheta() const;
Float_t Eta() const; TT Eta() const;
Float_t Mag() const { return TMath::Sqrt(fX*fX + fY*fY + fZ*fZ);} TT Mag2() const { return fX*fX + fY*fY + fZ*fZ; }
Float_t Mag2() const { return fX*fX + fY*fY + fZ*fZ;} TT Mag() const { return TMath::Sqrt(Mag2()); }
Float_t Perp() const { return TMath::Sqrt(fX*fX + fY*fY);} TT Perp2() const { return fX*fX + fY*fY; }
Float_t Perp2() const { return fX*fX + fY*fY;} TT Perp() const { return TMath::Sqrt(Perp2()); }
Float_t R() const { return Perp(); } TT R() const { return Perp(); }
Float_t Distance(const TEveVector& v) const; TT Distance(const TEveVectorT& v) const;
Float_t SquareDistance(const TEveVector& v) const; TT SquareDistance(const TEveVectorT& v) const;
Float_t Dot(const TEveVector& a) const; TT Dot(const TEveVectorT& a) const;
TEveVector Cross(const TEveVector& a) const;
TEveVector& Sub(const TEveVector& p, const TEveVector& q); TEveVectorT Cross(const TEveVectorT& a) const;
TEveVector& Mult(const TEveVector& a, Float_t af); TEveVectorT& Sub(const TEveVectorT& a, const TEveVectorT& b);
TEveVectorT& Mult(const TEveVectorT& a, TT af);
TEveVector Orthogonal() const; TEveVectorT Orthogonal() const;
void OrthoNormBase(TEveVector& a, TEveVector& b) const; void OrthoNormBase(TEveVectorT& a, TEveVectorT& b) const;
ClassDef(TEveVector, 1); // Float three-vector; a minimal Float_t copy o f TVector3 used to represent points and momenta (also used in VSD). ClassDefNV(TEveVectorT, 2); // A three-vector template without TObject i nheritance and virtual functions.
}; };
typedef TEveVectorT<Float_t> TEveVector;
typedef TEveVectorT<Float_t> TEveVectorF;
typedef TEveVectorT<Double_t> TEveVectorD;
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Float_t TEveVector::Phi() const template<typename TT>
inline TT TEveVectorT<TT>::Phi() const
{ {
return fX == 0.0 && fY == 0.0 ? 0.0 : TMath::ATan2(fY, fX); return fX == 0 && fY == 0 ? 0 : TMath::ATan2(fY, fX);
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Float_t TEveVector::Theta() const template<typename TT>
inline TT TEveVectorT<TT>::Theta() const
{ {
return fX == 0.0 && fY == 0.0 && fZ == 0.0 ? 0.0 : TMath::ATan2(Perp(), fZ); return fX == 0 && fY == 0 && fZ == 0 ? 0 : TMath::ATan2(Perp(), fZ);
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Float_t TEveVector::CosTheta() const template<typename TT>
inline TT TEveVectorT<TT>::CosTheta() const
{ {
Float_t ptot = Mag(); return ptot == 0.0 ? 1.0 : fZ/ptot; Float_t ptot = Mag(); return ptot == 0 ? 1 : fZ/ptot;
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Float_t TEveVector::Distance( const TEveVector& b) const template<typename TT>
inline TT TEveVectorT<TT>::Distance(const TEveVectorT& b) const
{ {
return TMath::Sqrt((fX - b.fX)*(fX - b.fX) + return TMath::Sqrt((fX - b.fX)*(fX - b.fX) +
(fY - b.fY)*(fY - b.fY) + (fY - b.fY)*(fY - b.fY) +
(fZ - b.fZ)*(fZ - b.fZ)); (fZ - b.fZ)*(fZ - b.fZ));
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Float_t TEveVector::SquareDistance(const TEveVector& b) const template<typename TT>
inline TT TEveVectorT<TT>::SquareDistance(const TEveVectorT& b) const
{ {
return ((fX - b.fX) * (fX - b.fX) + return ((fX - b.fX) * (fX - b.fX) +
(fY - b.fY) * (fY - b.fY) + (fY - b.fY) * (fY - b.fY) +
(fZ - b.fZ) * (fZ - b.fZ)); (fZ - b.fZ) * (fZ - b.fZ));
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Float_t TEveVector::Dot(const TEveVector& a) const template<typename TT>
inline TT TEveVectorT<TT>::Dot(const TEveVectorT& a) const
{ {
return a.fX*fX + a.fY*fY + a.fZ*fZ; return a.fX*fX + a.fY*fY + a.fZ*fZ;
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline TEveVector TEveVector::Cross(const TEveVector& a) const template<typename TT>
inline TEveVectorT<TT> TEveVectorT<TT>::Cross(const TEveVectorT<TT>& a) con
st
{ {
TEveVector r; TEveVectorT<TT> r;
r.fX = fY * a.fZ - fZ * a.fY; r.fX = fY * a.fZ - fZ * a.fY;
r.fY = fZ * a.fX - fX * a.fZ; r.fY = fZ * a.fX - fX * a.fZ;
r.fZ = fX * a.fY - fY * a.fX; r.fZ = fX * a.fY - fY * a.fX;
return r; return r;
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline TEveVector& TEveVector::Sub(const TEveVector& p, const TEveVector& q template<typename TT>
) inline TEveVectorT<TT>& TEveVectorT<TT>::Sub(const TEveVectorT<TT>& a, cons
t TEveVectorT<TT>& b)
{ {
fX = p.fX - q.fX; fX = a.fX - b.fX;
fY = p.fY - q.fY; fY = a.fY - b.fY;
fZ = p.fZ - q.fZ; fZ = a.fZ - b.fZ;
return *this; return *this;
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline TEveVector& TEveVector::Mult(const TEveVector& a, Float_t af) template<typename TT>
inline TEveVectorT<TT>& TEveVectorT<TT>::Mult(const TEveVectorT<TT>& a, TT
af)
{ {
fX = a.fX * af; fX = a.fX * af;
fY = a.fY * af; fY = a.fY * af;
fZ = a.fZ * af; fZ = a.fZ * af;
return *this; return *this;
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Float_t& TEveVector::operator [] (Int_t idx) template<typename TT>
inline TEveVectorT<TT> operator+(const TEveVectorT<TT>& a, const TEveVector
T<TT>& b)
{
TEveVectorT<TT> r(a);
return r += b;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVectorT<TT> operator-(const TEveVectorT<TT>& a, const TEveVector
T<TT>& b)
{
TEveVectorT<TT> r(a);
return r -= b;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVectorT<TT> operator*(const TEveVectorT<TT>& a, TT b)
{ {
return (&fX)[idx]; TEveVectorT<TT> r(a);
return r *= b;
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Float_t TEveVector::operator [] (Int_t idx) const template<typename TT>
inline TEveVectorT<TT> operator*(TT b, const TEveVectorT<TT>& a)
{ {
return (&fX)[idx]; TEveVectorT<TT> r(a);
return r *= b;
} }
//========================================================================= ===== //========================================================================= =====
// TEveVector4 // TEveVector4T
//========================================================================= ===== //========================================================================= =====
class TEveVector4 : public TEveVector template <typename TT>
class TEveVector4T : public TEveVectorT<TT>
{ {
typedef TEveVectorT<TT> TP;
public: public:
Float_t fT; TT fT;
TEveVector4() : TEveVector(), fT(0) {} TEveVector4T() : TP(), fT(0) {}
TEveVector4(const TEveVector& v) : TEveVector(v), fT(0) {} template <typename OO>
TEveVector4(Float_t x, Float_t y, Float_t z, Float_t t=0) : TEveVector4T(const TEveVectorT<OO>& v) : TP(v.fX, v.fY, v.fZ), fT(0) {}
TEveVector(x, y, z), fT(t) {} template <typename OO>
virtual ~TEveVector4() {} TEveVector4T(const TEveVectorT<OO>& v, Float_t t) : TP(v.fX, v.fY, v.fZ)
, fT(t) {}
template <typename OO>
TEveVector4T(const TEveVector4T<OO>& v) : TP(v.fX, v.fY, v.fZ), fT(v.fT)
{}
TEveVector4T(const Float_t* v) : TP(v), fT(v[3]) {}
TEveVector4T(const Double_t* v) : TP(v), fT(v[3]) {}
TEveVector4T(TT x, TT y, TT z, TT t=0) : TP(x, y, z), fT(t) {}
void Dump() const; void Dump() const;
TEveVector4 operator + (const TEveVector4 & b) const TEveVector4T& operator*=(TT s) { TP::operator*=(s); fT
{ return TEveVector4(fX + b.fX, fY + b.fY, fZ + b.fZ, fT + b.fT); } *= s; return *this; }
TEveVector4T& operator+=(const TEveVector4T& v) { TP::operator+=(v); fT
+= v.fT; return *this; }
TEveVector4T& operator-=(const TEveVector4T& v) { TP::operator-=(v); fT
-= v.fT; return *this; }
TEveVector4 operator - (const TEveVector4 & b) const using TP::operator+=;
{ return TEveVector4(fX - b.fX, fY - b.fY, fZ - b.fZ, fT - b.fT); } using TP::operator-=;
TEveVector4 operator * (Float_t a) const ClassDefNV(TEveVector4T, 1); // A four-vector template without TObject i
{ return TEveVector4(a*fX, a*fY, a*fZ, a*fT); } nheritance and virtual functions.
};
TEveVector4& operator += (const TEveVector4 & b) typedef TEveVector4T<Float_t> TEveVector4;
{ fX += b.fX; fY += b.fY; fZ += b.fZ; fT += b.fT; return *this; } typedef TEveVector4T<Float_t> TEveVector4F;
typedef TEveVector4T<Double_t> TEveVector4D;
ClassDef(TEveVector4, 1); // Float four-vector. //_________________________________________________________________________
}; _____
template<typename TT>
inline TEveVector4T<TT> operator+(const TEveVector4T<TT>& a, const TEveVect
or4T<TT>& b)
{
return TEveVector4T<TT>(a.fX + b.fX, a.fY + b.fY, a.fZ + b.fZ, a.fT + b.
fT);
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector4T<TT> operator-(const TEveVector4T<TT>& a, const TEveVect
or4T<TT>& b)
{
return TEveVector4T<TT>(a.fX - b.fX, a.fY - b.fY, a.fZ - b.fZ, a.fT - b.
fT);
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector4T<TT> operator*(const TEveVector4T<TT>& a, TT b)
{
return TEveVector4T<TT>(a.fX*b, a.fY*b, a.fZ*b, a.fT*b);
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector4T<TT> operator*(TT b, const TEveVector4T<TT>& a)
{
return TEveVector4T<TT>(a.fX*b, a.fY*b, a.fZ*b, a.fT*b);
}
//========================================================================= ===== //========================================================================= =====
// TEvePathMark // TEveVector2T
//========================================================================= ===== //========================================================================= =====
class TEvePathMark template <typename TT>
class TEveVector2T
{ {
public: public:
enum EType_e { kReference, kDaughter, kDecay, kCluster2D }; TT fX, fY; // Components of the point.
TEveVector2T() : fX(0), fY(0) {}
template <typename OO>
TEveVector2T(const TEveVector2T<OO>& v) : fX(v.fX), fY(v.fY) {}
TEveVector2T(const Float_t* v) : fX(v[0]), fY(v[1]) {}
TEveVector2T(const Double_t* v) : fX(v[0]), fY(v[1]) {}
TEveVector2T(TT x, TT y) : fX(x), fY(y) {}
void Dump() const;
operator const TT*() const { return &fX; }
operator TT*() { return &fX; }
TEveVector2T& operator*=(TT s) { fX *= s; fY *= s;
return *this; }
TEveVector2T& operator+=(const TEveVector2T& v) { fX += v.fX; fY += v.fY
; return *this; }
TEveVector2T& operator-=(const TEveVector2T& v) { fX -= v.fX; fY -= v.fY
; return *this; }
EType_e fType; // Mark-type. TT& operator[](Int_t idx) { return (&fX)[idx]; }
TEveVector fV; // Vertex. TT operator[](Int_t idx) const { return (&fX)[idx]; }
TEveVector fP; // Momentum.
TEveVector fE; // Extra, meaning depends on fType.
Float_t fTime; // Time.
TEvePathMark(EType_e type=kReference) : const TT* Arr() const { return &fX; }
fType(type), fV(), fP(), fE(), fTime(0) {} TT* Arr() { return &fX; }
TEvePathMark(EType_e type, const TEveVector& v, Float_t time=0) : void Set(const Float_t* v) { fX = v[0]; fY = v[1]; }
fType(type), fV(v), fP(), fE(), fTime(time) {} void Set(const Double_t* v) { fX = v[0]; fY = v[1]; }
void Set(TT x, TT y) { fX = x; fY = y; }
TEvePathMark(EType_e type, const TEveVector& v, const TEveVector& p, Flo template <typename OO>
at_t time=0) : void Set(const TEveVector2T<OO>& v) { fX = v.fX; fY = v.fY; }
fType(type), fV(v), fP(p), fE(), fTime(time) {}
TEvePathMark(EType_e type, const TEveVector& v, const TEveVector& p, con void NegateXY() { fX = - fX; fY = -fY; }
st TEveVector& e, Float_t time=0) : void Normalize(TT length=1);
fType(type), fV(v), fP(p), fE(e), fTime(time) {}
virtual ~TEvePathMark() {} TT Phi() const;
const char* TypeName(); TT Mag2() const { return fX*fX + fY*fY;}
TT Mag() const { return TMath::Sqrt(Mag2());}
ClassDef(TEvePathMark, 1); // Special-point on track: position/momentum TT Distance(const TEveVector2T& v) const;
reference, daughter creation or decay (also used in VSD). TT SquareDistance(const TEveVector2T& v) const;
TT Dot(const TEveVector2T& a) const;
TT Cross(const TEveVector2T& a) const;
TEveVector2T& Sub(const TEveVector2T& p, const TEveVector2T& q);
TEveVector2T& Mult(const TEveVector2T& a, TT af);
ClassDefNV(TEveVector2T, 1); // // A two-vector template without TObject
inheritance and virtual functions.
}; };
typedef TEveVector2T<Float_t> TEveVector2;
typedef TEveVector2T<Float_t> TEveVector2F;
typedef TEveVector2T<Double_t> TEveVector2D;
//_________________________________________________________________________
_____
template<typename TT>
inline TT TEveVector2T<TT>::Phi() const
{
return fX == 0.0 && fY == 0.0 ? 0.0 : TMath::ATan2(fY, fX);
}
//_________________________________________________________________________
_____
template<typename TT>
inline TT TEveVector2T<TT>::Distance( const TEveVector2T<TT>& b) const
{
return TMath::Sqrt((fX - b.fX)*(fX - b.fX) +
(fY - b.fY)*(fY - b.fY));
}
//_________________________________________________________________________
_____
template<typename TT>
inline TT TEveVector2T<TT>::SquareDistance(const TEveVector2T<TT>& b) const
{
return ((fX - b.fX) * (fX - b.fX) +
(fY - b.fY) * (fY - b.fY));
}
//_________________________________________________________________________
_____
template<typename TT>
inline TT TEveVector2T<TT>::Dot(const TEveVector2T<TT>& a) const
{
return a.fX*fX + a.fY*fY;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TT TEveVector2T<TT>::Cross(const TEveVector2T<TT>& a) const
{
return fX * a.fY - fY * a.fX;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector2T<TT>& TEveVector2T<TT>::Sub(const TEveVector2T<TT>& p, c
onst TEveVector2T<TT>& q)
{
fX = p.fX - q.fX;
fY = p.fY - q.fY;
return *this;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector2T<TT>& TEveVector2T<TT>::Mult(const TEveVector2T<TT>& a,
TT af)
{
fX = a.fX * af;
fY = a.fY * af;
return *this;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector2T<TT> operator+(const TEveVector2T<TT>& a, const TEveVect
or2T<TT>& b)
{
TEveVector2T<TT> r(a);
return r += b;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector2T<TT> operator-(const TEveVector2T<TT>& a, const TEveVect
or2T<TT>& b)
{
TEveVector2T<TT> r(a);
return r -= b;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector2T<TT> operator*(const TEveVector2T<TT>& a, TT b)
{
TEveVector2T<TT> r(a);
return r *= b;
}
//_________________________________________________________________________
_____
template<typename TT>
inline TEveVector2T<TT> operator*(TT b, const TEveVector2T<TT>& a)
{
TEveVector2T<TT> r(a);
return r *= b;
}
#endif #endif
 End of changes. 62 change blocks. 
108 lines changed or deleted 329 lines changed or added


 TEveViewer.h   TEveViewer.h 
// @(#)root/eve:$Id: TEveViewer.h 31821 2009-12-10 18:22:44Z matevz $ // @(#)root/eve:$Id: TEveViewer.h 33124 2010-04-21 20:04:42Z 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 23 skipping to change at line 23
#define ROOT_TEveViewer #define ROOT_TEveViewer
#include "TEveElement.h" #include "TEveElement.h"
#include "TEveWindow.h" #include "TEveWindow.h"
class TGWindow; class TGWindow;
class TGedEditor; class TGedEditor;
class TGLViewer; class TGLViewer;
class TGLSAViewer; class TGLSAViewer;
class TGLEmbeddedViewer; class TGLEmbeddedViewer;
class TGLPhysicalShape;
class TEveScene; class TEveScene;
/************************************************************************** ****/ /************************************************************************** ****/
// TEveViewer // TEveViewer
/************************************************************************** ****/ /************************************************************************** ****/
class TEveViewer : public TEveWindowFrame class TEveViewer : public TEveWindowFrame
{ {
private: private:
skipping to change at line 91 skipping to change at line 90
private: private:
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;
Float_t fBrightness; Float_t fBrightness;
Bool_t fUseLightColorSet; Bool_t fUseLightColorSet;
void HandleTooltip();
public: public:
TEveViewerList(const char* n="TEveViewerList", const char* t=""); TEveViewerList(const char* n="TEveViewerList", const char* t="");
virtual ~TEveViewerList() {} virtual ~TEveViewerList() {}
virtual void AddElement(TEveElement* el); virtual void AddElement(TEveElement* el);
virtual void RemoveElementLocal(TEveElement* el); virtual void RemoveElementLocal(TEveElement* el);
virtual void RemoveElementsLocal(); 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 DeleteAnnotations(); void DeleteAnnotations();
void SceneDestructing(TEveScene* scene); void SceneDestructing(TEveScene* scene);
// -------------------------------- // --------------------------------
void OnMouseOver(TGLPhysicalShape* shape, UInt_t state); void OnMouseOver(TObject* obj, UInt_t state);
void OnReMouseOver(TObject* obj, UInt_t state);
void OnUnMouseOver(TObject* obj, UInt_t state);
void OnClicked(TObject *obj, UInt_t button, UInt_t state); void OnClicked(TObject *obj, UInt_t button, UInt_t state);
void OnReClicked(TObject *obj, UInt_t button, UInt_t state); void OnReClicked(TObject *obj, UInt_t button, UInt_t state);
void OnUnClicked(TObject *obj, UInt_t button, UInt_t state); void OnUnClicked(TObject *obj, UInt_t button, UInt_t state);
// -------------------------------- // --------------------------------
Bool_t GetShowTooltip() const { return fShowTooltip; } Bool_t GetShowTooltip() const { return fShowTooltip; }
void SetShowTooltip(Bool_t x) { fShowTooltip = x; } void SetShowTooltip(Bool_t x) { fShowTooltip = x; }
Float_t GetColorBrightness() const { return fBrightness; } Float_t GetColorBrightness() const { return fBrightness; }
 End of changes. 4 change blocks. 
3 lines changed or deleted 6 lines changed or added


 TEveWindow.h   TEveWindow.h 
// @(#)root/eve:$Id: TEveWindow.h 29129 2009-06-22 09:39:20Z brun $ // @(#)root/eve:$Id: TEveWindow.h 32138 2010-01-28 15:16:30Z 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 276 skipping to change at line 276
// Static helper functions for common window management scenarios. // Static helper functions for common window management scenarios.
static TEveWindowSlot* CreateDefaultWindowSlot(); static TEveWindowSlot* CreateDefaultWindowSlot();
static TEveWindowSlot* CreateWindowMainFrame(TEveWindow* eve_parent=0); static TEveWindowSlot* CreateWindowMainFrame(TEveWindow* eve_parent=0);
static TEveWindowSlot* CreateWindowInTab(TGTab* tab, TEveWindow* eve_par ent=0); static TEveWindowSlot* CreateWindowInTab(TGTab* tab, TEveWindow* eve_par ent=0);
static void SwapWindows(TEveWindow* w1, TEveWindow* w2); static void SwapWindows(TEveWindow* w1, TEveWindow* w2);
// Access to static data-members. // Access to static data-members.
static UInt_t GetMainFrameDefWidth() { return fgMainFrameDefWidth; } static UInt_t GetMainFrameDefWidth();
static UInt_t GetMainFrameDefHeight() { return fgMainFrameDefHeight; } static UInt_t GetMainFrameDefHeight();
static void SetMainFrameDefWidth (UInt_t x) { fgMainFrameDefWidth = x; static void SetMainFrameDefWidth (UInt_t x);
} static void SetMainFrameDefHeight(UInt_t x);
static void SetMainFrameDefHeight(UInt_t x) { fgMainFrameDefHeight = x;
} static Pixel_t GetCurrentBackgroundColor();
static Pixel_t GetMiniBarBackgroundColor();
static Pixel_t GetCurrentBackgroundColor() { return fgCurrentBackgroundC static void SetCurrentBackgroundColor(Pixel_t p);
olor; } static void SetMiniBarBackgroundColor(Pixel_t p);
static Pixel_t GetMiniBarBackgroundColor() { return fgMiniBarBackgroundC
olor; }
static void SetCurrentBackgroundColor(Pixel_t p) { fgCurrentBackgroundCo
lor = p; }
static void SetMiniBarBackgroundColor(Pixel_t p) { fgMiniBarBackgroundCo
lor = p; }
ClassDef(TEveWindow, 0); // Abstract base-class for eve-windows. ClassDef(TEveWindow, 0); // Abstract base-class for eve-windows.
}; };
//========================================================================= ===== //========================================================================= =====
// TEveWindowSlot // TEveWindowSlot
//========================================================================= ===== //========================================================================= =====
class TEveWindowSlot : public TEveWindow class TEveWindowSlot : public TEveWindow
{ {
 End of changes. 2 change blocks. 
16 lines changed or deleted 10 lines changed or added


 TF1.h   TF1.h 
// @(#)root/hist:$Id: TF1.h 29895 2009-08-25 09:35:06Z brun $ // @(#)root/hist:$Id: TF1.h 32584 2010-03-12 09:58:37Z moneta $
// Author: Rene Brun 18/08/95 // Author: Rene Brun 18/08/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. *
*************************************************************************/ *************************************************************************/
// ---------------------------------- F1.h // ---------------------------------- F1.h
skipping to change at line 208 skipping to change at line 208
virtual void DrawF1(const char *formula, Double_t xmin, Double_t xma x, Option_t *option=""); virtual void DrawF1(const char *formula, Double_t xmin, Double_t xma x, Option_t *option="");
virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t =0) const; virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t =0) const;
virtual Double_t EvalPar(const Double_t *x, const Double_t *params=0); virtual Double_t EvalPar(const Double_t *x, const Double_t *params=0);
// for using TF1 as a callable object (functor) // for using TF1 as a callable object (functor)
virtual Double_t operator()(Double_t x, Double_t y=0, Double_t z = 0, Do uble_t t = 0) const; virtual Double_t operator()(Double_t x, Double_t y=0, Double_t z = 0, Do uble_t t = 0) const;
virtual Double_t operator()(const Double_t *x, const Double_t *params=0) ; virtual Double_t operator()(const Double_t *x, const Double_t *params=0) ;
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 void FixParameter(Int_t ipar, Double_t value); virtual void FixParameter(Int_t ipar, Double_t value);
Double_t GetChisquare() const {return fChisquare;} Double_t GetChisquare() const {return fChisquare;}
TH1 *GetHistogram() const; TH1 *GetHistogram() const;
virtual Double_t GetMaximum(Double_t xmin=0, Double_t xmax=0) const; virtual Double_t GetMaximum(Double_t xmin=0, Double_t xmax=0, Double_t e
virtual Double_t GetMinimum(Double_t xmin=0, Double_t xmax=0) const; psilon = 1.E-10, Int_t maxiter = 100) const;
virtual Double_t GetMaximumX(Double_t xmin=0, Double_t xmax=0) const; virtual Double_t GetMinimum(Double_t xmin=0, Double_t xmax=0, Double_t e
virtual Double_t GetMinimumX(Double_t xmin=0, Double_t xmax=0) const; psilon = 1.E-10, Int_t maxiter = 100) const;
virtual Double_t GetMaximumX(Double_t xmin=0, Double_t xmax=0, Double_t
epsilon = 1.E-10, Int_t maxiter = 100) const;
virtual Double_t GetMinimumX(Double_t xmin=0, Double_t xmax=0, Double_t
epsilon = 1.E-10, Int_t maxiter = 100) const;
virtual Int_t GetNDF() const; virtual Int_t GetNDF() const;
virtual Int_t GetNpx() const {return fNpx;} virtual Int_t GetNpx() const {return fNpx;}
TMethodCall *GetMethodCall() const {return fMethodCall;} TMethodCall *GetMethodCall() const {return fMethodCall;}
virtual Int_t GetNumberFreeParameters() const; virtual Int_t GetNumberFreeParameters() const;
virtual Int_t GetNumberFitPoints() const {return fNpfits;} virtual Int_t GetNumberFitPoints() const {return fNpfits;}
virtual char *GetObjectInfo(Int_t px, Int_t py) const; virtual char *GetObjectInfo(Int_t px, Int_t py) const;
TObject *GetParent() const {return fParent;} TObject *GetParent() const {return fParent;}
virtual Double_t GetParError(Int_t ipar) const; virtual Double_t GetParError(Int_t ipar) const;
virtual Double_t *GetParErrors() const {return fParErrors;} virtual Double_t *GetParErrors() const {return fParErrors;}
virtual void GetParLimits(Int_t ipar, Double_t &parmin, Double_t &pa rmax) const; virtual void GetParLimits(Int_t ipar, Double_t &parmin, Double_t &pa rmax) const;
virtual Double_t GetProb() const; virtual Double_t GetProb() const;
virtual Int_t GetQuantiles(Int_t nprobSum, Double_t *q, const Double_ t *probSum); virtual Int_t GetQuantiles(Int_t nprobSum, Double_t *q, const Double_ t *probSum);
virtual Double_t GetRandom(); virtual Double_t GetRandom();
virtual Double_t GetRandom(Double_t xmin, Double_t xmax); virtual Double_t GetRandom(Double_t xmin, Double_t xmax);
virtual void GetRange(Double_t &xmin, Double_t &xmax) const; virtual void GetRange(Double_t &xmin, Double_t &xmax) const;
virtual void GetRange(Double_t &xmin, Double_t &ymin, Double_t &xmax , Double_t &ymax) const; virtual void GetRange(Double_t &xmin, Double_t &ymin, Double_t &xmax , Double_t &ymax) const;
virtual void GetRange(Double_t &xmin, Double_t &ymin, Double_t &zmin , Double_t &xmax, Double_t &ymax, Double_t &zmax) const; virtual void GetRange(Double_t &xmin, Double_t &ymin, Double_t &zmin , Double_t &xmax, Double_t &ymax, Double_t &zmax) const;
virtual Double_t GetSave(const Double_t *x); virtual Double_t GetSave(const Double_t *x);
virtual Double_t GetX(Double_t y, Double_t xmin=0, Double_t xmax=0) cons t; virtual Double_t GetX(Double_t y, Double_t xmin=0, Double_t xmax=0, Doub le_t epsilon = 1.E-10, Int_t maxiter = 100) const;
virtual Double_t GetXmin() const {return fXmin;} virtual Double_t GetXmin() const {return fXmin;}
virtual Double_t GetXmax() const {return fXmax;} virtual Double_t GetXmax() const {return fXmax;}
TAxis *GetXaxis() const ; TAxis *GetXaxis() const ;
TAxis *GetYaxis() const ; TAxis *GetYaxis() const ;
TAxis *GetZaxis() const ; TAxis *GetZaxis() const ;
virtual Double_t GradientPar(Int_t ipar, const Double_t *x, Double_t eps =0.01); virtual Double_t GradientPar(Int_t ipar, const Double_t *x, Double_t eps =0.01);
virtual void GradientPar(const Double_t *x, Double_t *grad, Double_t eps=0.01); virtual void GradientPar(const Double_t *x, Double_t *grad, Double_t eps=0.01);
virtual void InitArgs(const Double_t *x, const Double_t *params); virtual void InitArgs(const Double_t *x, const Double_t *params);
static void InitStandardFunctions(); static void InitStandardFunctions();
virtual Double_t Integral(Double_t a, Double_t b, const Double_t *params =0, Double_t epsilon=1e-12); virtual Double_t Integral(Double_t a, Double_t b, const Double_t *params =0, Double_t epsilon=1e-12);
 End of changes. 3 change blocks. 
6 lines changed or deleted 10 lines changed or added


 TFileMerger.h   TFileMerger.h 
// @(#)root/proofplayer:$Id: TFileMerger.h 30052 2009-09-07 12:39:28Z ganis $ // @(#)root/proofplayer:$Id: TFileMerger.h 32130 2010-01-28 10:45:53Z rdm $
// Author: Andreas Peters + Fons Rademakers 26/5/2005 // Author: Andreas Peters + Fons Rademakers 26/5/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 58 skipping to change at line 58
protected: protected:
TStopwatch fWatch; // stop watch to measure file copy spee d TStopwatch fWatch; // stop watch to measure file copy spee d
TList *fFileList; // a list of files, which shall be merg ed TList *fFileList; // a list of files, which shall be merg ed
TFile *fOutputFile; // the outputfile for merging TFile *fOutputFile; // the outputfile for merging
TString fOutputFilename; // the name of the outputfile for mergi ng TString fOutputFilename; // the name of the outputfile for mergi ng
TString fOutputFilename1; // the name of the temporary outputfile for merging TString fOutputFilename1; // the name of the temporary outputfile for merging
Bool_t fFastMethod; // True if using Fast merging algorithm (default) Bool_t fFastMethod; // True if using Fast merging algorithm (default)
Bool_t fNoTrees; // True if Trees should not be merged ( default is kFALSE) Bool_t fNoTrees; // True if Trees should not be merged ( default is kFALSE)
Bool_t fLocal; // Makes local copies of merging files i Bool_t fLocal; // Makes local copies of merging fil
f True (default is kFALSE) es if True (default is kTRUE)
Bool_t fHistoOneGo; // Merger histos in one go Bool_t fHistoOneGo; // Merger histos in one go (default
TList *fMergeList; // list of the files need to be merged is kTRUE)
TList *fMergeList; // list of the files need to be m
erged
public: public:
TFileMerger(Bool_t isLocal = kTRUE, Bool_t histoonego = kTRUE); TFileMerger(Bool_t isLocal = kTRUE, Bool_t histoOneGo = kTRUE);
virtual ~TFileMerger(); virtual ~TFileMerger();
const char *GetOutputFileName() const { return fOutputFilename; } const char *GetOutputFileName() const { return fOutputFilename; }
TList *GetMergeList() const { return fMergeList; } TList *GetMergeList() const { return fMergeList; }
//--- file management interface //--- file management interface
virtual Bool_t SetCWD(const char * /*path*/) { MayNotUse("SetCWD"); retu rn kFALSE; } virtual Bool_t SetCWD(const char * /*path*/) { MayNotUse("SetCWD"); retu rn kFALSE; }
virtual const char *GetCWD() { MayNotUse("GetCWD"); return 0; } virtual const char *GetCWD() { MayNotUse("GetCWD"); return 0; }
//--- file merging interface //--- file merging interface
virtual void Reset(); virtual void Reset();
virtual Bool_t AddFile(const char *url); virtual Bool_t AddFile(const char *url, Bool_t cpProgress = kTRUE);
virtual Bool_t OutputFile(const char *url); virtual Bool_t OutputFile(const char *url);
virtual void PrintFiles(Option_t *options); virtual void PrintFiles(Option_t *options);
virtual Bool_t Merge(Bool_t = kTRUE); virtual Bool_t Merge(Bool_t = kTRUE);
virtual Bool_t MergeRecursive(TDirectory *target, TList *sourcelist); virtual Bool_t MergeRecursive(TDirectory *target, TList *sourcelist);
virtual void SetFastMethod(Bool_t fast=kTRUE) {fFastMethod = fast;} virtual void SetFastMethod(Bool_t fast=kTRUE) {fFastMethod = fast;}
virtual void SetNotrees(Bool_t notrees=kFALSE) {fNoTrees = notrees;} virtual void SetNotrees(Bool_t notrees=kFALSE) {fNoTrees = notrees;}
ClassDef(TFileMerger,2) // File copying and merging services ClassDef(TFileMerger,2) // File copying and merging services
}; };
 End of changes. 4 change blocks. 
7 lines changed or deleted 9 lines changed or added


 TGDMLParse.h   TGDMLParse.h 
/* @(#)root/gdml:$Id: TGDMLParse.h 30745 2009-10-15 12:23:45Z brun $ */ /* @(#)root/gdml:$Id: TGDMLParse.h 32677 2010-03-18 15:27:12Z brun $ */
// Authors: Ben Lloyd 09/11/06 // Authors: Ben Lloyd 09/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 149 skipping to change at line 149
const char* NameShort(const char* name); const char* NameShort(const char* name);
const char* NameShortB(const char* name); const char* NameShortB(const char* name);
//'define' section //'define' section
XMLNodePointer_t ConProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr); XMLNodePointer_t ConProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr);
XMLNodePointer_t PosProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr); XMLNodePointer_t PosProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr);
XMLNodePointer_t RotProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr); XMLNodePointer_t RotProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr);
XMLNodePointer_t SclProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr); XMLNodePointer_t SclProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr);
//'materials' section //'materials' section
XMLNodePointer_t EleProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM XMLNodePointer_t IsoProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM
LNodePointer_t parentn); LNodePointer_t parentn);
XMLNodePointer_t EleProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM
LNodePointer_t parentn, Bool_t hasIsotopes);
XMLNodePointer_t MatProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr, int z); XMLNodePointer_t MatProcess(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr, int z);
//'solids' section //'solids' section
XMLNodePointer_t BooSolid(TXMLEngine* gdml, XMLNodePointer_t node, XMLA ttrPointer_t attr, int num); XMLNodePointer_t BooSolid(TXMLEngine* gdml, XMLNodePointer_t node, XMLA ttrPointer_t attr, int num);
XMLNodePointer_t Box(TXMLEngine* gdml, XMLNodePointer_t node, XMLAttrPo inter_t attr); XMLNodePointer_t Box(TXMLEngine* gdml, XMLNodePointer_t node, XMLAttrPo inter_t attr);
XMLNodePointer_t Paraboloid(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr); XMLNodePointer_t Paraboloid(TXMLEngine* gdml, XMLNodePointer_t node, XM LAttrPointer_t attr);
XMLNodePointer_t Arb8(TXMLEngine* gdml, XMLNodePointer_t node, XMLAttrP ointer_t attr); XMLNodePointer_t Arb8(TXMLEngine* gdml, XMLNodePointer_t node, XMLAttrP ointer_t attr);
XMLNodePointer_t Tube(TXMLEngine* gdml, XMLNodePointer_t node, XMLAttrP ointer_t attr); XMLNodePointer_t Tube(TXMLEngine* gdml, XMLNodePointer_t node, XMLAttrP ointer_t attr);
XMLNodePointer_t CutTube(TXMLEngine* gdml, XMLNodePointer_t node, XMLAt trPointer_t attr); XMLNodePointer_t CutTube(TXMLEngine* gdml, XMLNodePointer_t node, XMLAt trPointer_t attr);
XMLNodePointer_t Cone(TXMLEngine* gdml, XMLNodePointer_t node, XMLAttrP ointer_t attr); XMLNodePointer_t Cone(TXMLEngine* gdml, XMLNodePointer_t node, XMLAttrP ointer_t attr);
skipping to change at line 187 skipping to change at line 188
XMLNodePointer_t AssProcess(TXMLEngine* gdml, XMLNodePointer_t node); XMLNodePointer_t AssProcess(TXMLEngine* gdml, XMLNodePointer_t node);
Int_t SetAxis(const char* axisString); //Set Axis for Divisi on Int_t SetAxis(const char* axisString); //Set Axis for Divisi on
//'setup' section //'setup' section
XMLNodePointer_t TopProcess(TXMLEngine* gdml, XMLNodePointer_t node); XMLNodePointer_t TopProcess(TXMLEngine* gdml, XMLNodePointer_t node);
typedef TGDMMapHelper<TGeoTranslation> PosMap; typedef TGDMMapHelper<TGeoTranslation> PosMap;
typedef TGDMMapHelper<TGeoRotation> RotMap; typedef TGDMMapHelper<TGeoRotation> RotMap;
typedef TGDMMapHelper<TGeoScale> SclMap; typedef TGDMMapHelper<TGeoScale> SclMap;
typedef TGDMMapHelper<TGeoElement> EleMap; typedef TGDMMapHelper<TGeoElement> EleMap;
typedef TGDMMapHelper<TGeoIsotope> IsoMap;
typedef TGDMMapHelper<TGeoMaterial> MatMap; typedef TGDMMapHelper<TGeoMaterial> MatMap;
typedef TGDMMapHelper<TGeoMedium> MedMap; typedef TGDMMapHelper<TGeoMedium> MedMap;
typedef TGDMMapHelper<TGeoMixture> MixMap; typedef TGDMMapHelper<TGeoMixture> MixMap;
typedef TGDMMapHelper<TGeoShape> SolMap; typedef TGDMMapHelper<TGeoShape> SolMap;
typedef TGDMMapHelper<TGeoVolume> VolMap; typedef TGDMMapHelper<TGeoVolume> VolMap;
typedef TGDMMapHelper<TGDMLRefl> ReflSolidMap; typedef TGDMMapHelper<TGDMLRefl> ReflSolidMap;
typedef TGDMMapHelper<const char> FileMap; typedef TGDMMapHelper<const char> FileMap;
typedef std::map<std::string, std::string> ReflectionsMap; typedef std::map<std::string, std::string> ReflectionsMap;
typedef std::map<std::string, std::string> ReflVolMap; typedef std::map<std::string, std::string> ReflVolMap;
typedef std::map<std::string, double> FracMap; typedef std::map<std::string, double> FracMap;
typedef std::vector<TFormula*> FormVec; typedef std::vector<TFormula*> FormVec;
PosMap fposmap; //!Map containing position names and the TGeoTranslation for it PosMap fposmap; //!Map containing position names and the TGeoTranslation for it
RotMap frotmap; //!Map containing rotation names and the TGeoRotation for it RotMap frotmap; //!Map containing rotation names and the TGeoRotation for it
SclMap fsclmap; //!Map containing scale names and the TGe oScale for it SclMap fsclmap; //!Map containing scale names and the TGe oScale for it
IsoMap fisomap; //!Map containing isotope names and the T GeoIsotope for it
EleMap felemap; //!Map containing element names and the T GeoElement for it EleMap felemap; //!Map containing element names and the T GeoElement for it
MatMap fmatmap; //!Map containing material names and the TGeoMaterial for it MatMap fmatmap; //!Map containing material names and the TGeoMaterial for it
MedMap fmedmap; //!Map containing medium names and the TG eoMedium for it MedMap fmedmap; //!Map containing medium names and the TG eoMedium for it
MixMap fmixmap; //!Map containing mixture names and the T GeoMixture for it MixMap fmixmap; //!Map containing mixture names and the T GeoMixture for it
SolMap fsolmap; //!Map containing solid names and the TGe oShape for it SolMap fsolmap; //!Map containing solid names and the TGe oShape for it
VolMap fvolmap; //!Map containing volume names and the TG eoVolume for it VolMap fvolmap; //!Map containing volume names and the TG eoVolume for it
ReflectionsMap freflectmap; //!Map containing reflection names and th e Solid name ir references to ReflectionsMap freflectmap; //!Map containing reflection names and th e Solid name ir references to
ReflSolidMap freflsolidmap; //!Map containing reflection names and th e TGDMLRefl for it - containing refl matrix ReflSolidMap freflsolidmap; //!Map containing reflection names and th e TGDMLRefl for it - containing refl matrix
ReflVolMap freflvolmap; //!Map containing reflected volume names and the solid ref for it ReflVolMap freflvolmap; //!Map containing reflected volume names and the solid ref for it
FileMap ffilemap; //!Map containing files parsed during ent ire parsing, with their world volume name FileMap ffilemap; //!Map containing files parsed during ent ire parsing, with their world volume name
 End of changes. 4 change blocks. 
3 lines changed or deleted 7 lines changed or added


 TGLAnnotation.h   TGLAnnotation.h 
// @(#)root/gl:$Id: TGLAnnotation.h 30994 2009-11-05 17:20:24Z matevz $ // @(#)root/gl:$Id: TGLAnnotation.h 32600 2010-03-12 19:36:45Z matevz $
// Author: Matevz and Alja Tadel 20/02/2009 // Author: Matevz and Alja Tadel 20/02/2009
/************************************************************************* /*************************************************************************
* 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 31 skipping to change at line 31
class TGLFont; class TGLFont;
class TGTextEdit; class TGTextEdit;
class TGMainFrame; class TGMainFrame;
class TGLAnnotation : public TGLOverlayElement class TGLAnnotation : public TGLOverlayElement
{ {
private: private:
TGLAnnotation(const TGLAnnotation&); // Not implemented TGLAnnotation(const TGLAnnotation&); // Not implemented
TGLAnnotation& operator=(const TGLAnnotation&); // Not implemented TGLAnnotation& operator=(const TGLAnnotation&); // Not implemented
protected:
enum EDrag { kMove, kResize, kNone };
enum ENameStack { kMoveID, kEditID, kDeleteID, kResizeID };
void MakeEditor(); void MakeEditor();
Char_t GetLineTransparency() const;
Float_t fPosX; // x position [0, 1] Float_t fPosX; // x position [0, 1]
Float_t fPosY; // y position [0, 1] Float_t fPosY; // y position [0, 1]
Float_t fWidth;
Float_t fHeight;
Int_t fMouseX, fMouseY; //! last mouse position Int_t fMouseX, fMouseY; //! last mouse position
Bool_t fInDrag; //! EDrag fDrag; //!
Float_t fDrawW, fDrawH; //! width/height of drawn annotation Float_t fDrawW, fDrawH; //! width and height when drawing
Float_t fDrawY; //! y-position of annotation box Float_t fTextSizeDrag; //! text-size at start of drag
TGLVector3 fPointer; // picked location in 3D space TGLVector3 fPointer; // picked location in 3D space
Bool_t fActive; // active item identifier Bool_t fActive; // active item identifier
TGMainFrame *fMainFrame; // editors TGMainFrame *fMainFrame; // editors
TGTextEdit *fTextEdit; // editors TGTextEdit *fTextEdit; // editors
static Color_t fgBackColor; static Color_t fgBackColor;
static Color_t fgTextColor; static Color_t fgTextColor;
protected:
TGLViewer *fParent; TGLViewer *fParent;
TString fText; // annotation text TString fText; // annotation text
Float_t fTextSize; // relative font size Float_t fTextSize; // relative font size
TGLFont fFont; // font used to render labels TGLFont fFont; // font used to render labels
TGLFont fMenuFont; // font used to render menu buttons TGLFont fMenuFont; // font used to render menu buttons
TGLFont::ETextAlignH_e fTextAlign; TGLFont::ETextAlignH_e fTextAlign;
Color_t fBackColor; // background color Color_t fBackColor; // background color
Color_t fTextColor; // text color Color_t fTextColor; // text color
Char_t fTransparency; // transparency of background Char_t fTransparency; // transparency of background
Bool_t fDrawRefLine; // draw 3D refrence line Bool_t fDrawRefLine; // draw 3D refrence line
Bool_t fUseColorSet; // use color set from rnrCtx Bool_t fUseColorSet; // use color set from rnrCtx
Bool_t fAllowClose; // allow closing via 'X' button
public: public:
TGLAnnotation(TGLViewerBase *parent, const char *text, Float_t posx, Flo at_t posy); TGLAnnotation(TGLViewerBase *parent, const char *text, Float_t posx, Flo at_t posy);
TGLAnnotation(TGLViewerBase *parent, const char *text, Float_t posx, Flo at_t posy, TGLVector3 ref); TGLAnnotation(TGLViewerBase *parent, const char *text, Float_t posx, Flo at_t posy, TGLVector3 ref);
virtual ~TGLAnnotation(); virtual ~TGLAnnotation();
void SetTransparency(Char_t x) { fTransparency = x;} void SetTransparency(Char_t x) { fTransparency = x; }
Char_t GetTransparency() const { return fTransparency;} Char_t GetTransparency() const { return fTransparency; }
void SetUseColorSet(Bool_t x) { fUseColorSet = x; } void SetUseColorSet(Bool_t x) { fUseColorSet = x; }
Bool_t GetUseColorSet() const { return fUseColorSet;} Bool_t GetUseColorSet() const { return fUseColorSet; }
void SetBackColor(Color_t x) { fBackColor = x;} void SetBackColor(Color_t x) { fBackColor = x; }
Color_t GetBackColor() const { return fBackColor;} Color_t GetBackColor() const { return fBackColor; }
void SetTextColor(Color_t x) { fTextColor = x; } void SetTextColor(Color_t x) { fTextColor = x; }
Color_t GetTextColor() const { return fTextColor;} Color_t GetTextColor() const { return fTextColor; }
void SetTextSize(Float_t x) { fTextSize = x; } void SetTextSize(Float_t x) { fTextSize = x; }
Float_t GetTextSize() const { return fTextSize;} Float_t GetTextSize() const { return fTextSize; }
void SetAllowClose(Bool_t x) { fAllowClose = x; }
Bool_t GetAllowClose() const { return fAllowClose;}
TGLFont::ETextAlignH_e GetTextAlign() const { return fTextAlign; } TGLFont::ETextAlignH_e GetTextAlign() const { return fTextAlign; }
void SetTextAlign(TGLFont::ETextAlignH_e a) { fTextAlign = a; } void SetTextAlign(TGLFont::ETextAlignH_e a) { fTextAlign = a; }
virtual Bool_t MouseEnter(TGLOvlSelectRecord& selRec); virtual Bool_t MouseEnter(TGLOvlSelectRecord& selRec);
virtual Bool_t Handle(TGLRnrCtx& rnrCtx, TGLOvlSelectRecord& selRec, virtual Bool_t Handle(TGLRnrCtx& rnrCtx, TGLOvlSelectRecord& selRec,
Event_t* event); Event_t* event);
virtual void MouseLeave(); virtual void MouseLeave();
void CloseEditor(); void CloseEditor();
 End of changes. 9 change blocks. 
14 lines changed or deleted 23 lines changed or added


 TGLAxisPainter.h   TGLAxisPainter.h 
// @(#)root/eve:$Id: TGLAxisPainter.h 31671 2009-12-08 15:22:31Z matevz $ // @(#)root/eve:$Id: TGLAxisPainter.h 32807 2010-03-29 11:40:58Z matevz $
// Author: Alja Mrak-Tadel 2009 // Author: Alja Mrak-Tadel 2009
/************************************************************************* /*************************************************************************
* 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_TGLAxisPainter #ifndef ROOT_TGLAxisPainter
#define ROOT_TGLAxisPainter #define ROOT_TGLAxisPainter
#include "TGLUtil.h" #include "TGLUtil.h"
#include "TGLFontManager.h" #include "TGLFontManager.h"
class TAttAxis; class TAttAxis;
class TAxis; class TAxis;
class TH1; class TH1;
class TPMERegexp;
class TGLRnrCtx; class TGLRnrCtx;
//========================================================================= ===== //========================================================================= =====
// TGLAxisPainter // TGLAxisPainter
//========================================================================= ===== //========================================================================= =====
class TGLAxisPainter class TGLAxisPainter
{ {
public: public:
typedef std::pair <Float_t, Float_t> Lab_t; // label <pos, value> pa ir typedef std::pair <Float_t, Float_t> Lab_t; // label <pos, value> pa ir
skipping to change at line 77 skipping to change at line 78
// Font. // Font.
Int_t fLabelPixelFontSize; Int_t fLabelPixelFontSize;
Double_t fLabel3DFontSize; Double_t fLabel3DFontSize;
Int_t fTitlePixelFontSize; Int_t fTitlePixelFontSize;
Double_t fTitle3DFontSize; Double_t fTitle3DFontSize;
// Labels options. Allready exist in TAttAxis, but can't be set. // Labels options. Allready exist in TAttAxis, but can't be set.
TGLFont::ETextAlignH_e fLabelAlignH; TGLFont::ETextAlignH_e fLabelAlignH;
TGLFont::ETextAlignV_e fLabelAlignV; TGLFont::ETextAlignV_e fLabelAlignV;
TGLVector3 fTitlePos; TGLVector3 fTitlePos;
TPMERegexp *fAllZeroesRE;
public: public:
TGLAxisPainter(); TGLAxisPainter();
virtual ~TGLAxisPainter(); virtual ~TGLAxisPainter();
// GetSets. // GetSets.
Int_t GetTMNDim() const { return fTMNDim; } Int_t GetTMNDim() const { return fTMNDim; }
void SetTMNDim(Int_t x) { fTMNDim = x; } void SetTMNDim(Int_t x) { fTMNDim = x; }
TGLVector3& RefDir() { return fDir; } TGLVector3& RefDir() { return fDir; }
 End of changes. 3 change blocks. 
2 lines changed or deleted 4 lines changed or added


 TGLCameraOverlay.h   TGLCameraOverlay.h 
// @(#)root/eve:$Id: TGLCameraOverlay.h 29575 2009-07-24 12:52:18Z matevz $ // @(#)root/eve:$Id: TGLCameraOverlay.h 32811 2010-03-29 13:14:49Z matevz $
// Author: Alja Mrak-Tadel 2007 // Author: Alja Mrak-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 34 skipping to change at line 34
class TGLCameraOverlay : public TGLOverlayElement class TGLCameraOverlay : public TGLOverlayElement
{ {
public: public:
enum EMode { kPlaneIntersect, kBar, kAxis, kGridFront, kGridBack }; enum EMode { kPlaneIntersect, kBar, kAxis, kGridFront, kGridBack };
private: private:
TGLCameraOverlay(const TGLCameraOverlay&); // Not implemented TGLCameraOverlay(const TGLCameraOverlay&); // Not implemented
TGLCameraOverlay& operator=(const TGLCameraOverlay&); // Not implemented TGLCameraOverlay& operator=(const TGLCameraOverlay&); // Not implemented
Double_t fFrustum[4];
protected: protected:
Bool_t fShowOrthographic; Bool_t fShowOrthographic;
Bool_t fShowPerspective; Bool_t fShowPerspective;
EMode fOrthographicMode; EMode fOrthographicMode;
EMode fPerspectiveMode; EMode fPerspectiveMode;
TGLAxisPainter *fAxisPainter; TGLAxisPainter *fAxisPainter;
TAxis *fAxis; TAxis *fAxis;
Float_t fAxisExtend; Float_t fAxisExtend;
Bool_t fUseAxisColors; Bool_t fUseAxisColors;
TGLPlane fExternalRefPlane; TGLPlane fExternalRefPlane;
Bool_t fUseExternalRefPlane; Bool_t fUseExternalRefPlane;
Double_t fFrustum[4];
void RenderPlaneIntersect(TGLRnrCtx& rnrCtx); void RenderPlaneIntersect(TGLRnrCtx& rnrCtx);
void RenderAxis(TGLRnrCtx& rnrCtx, Bool_t drawGrid); void RenderAxis(TGLRnrCtx& rnrCtx, Bool_t drawGrid);
void RenderGrid(TGLRnrCtx& rnrCtx); void RenderGrid(TGLRnrCtx& rnrCtx);
void RenderBar(TGLRnrCtx& rnrCtx); void RenderBar(TGLRnrCtx& rnrCtx);
public: public:
TGLCameraOverlay(Bool_t showOrtho=kTRUE, Bool_t showPersp=kFALSE); TGLCameraOverlay(Bool_t showOrtho=kTRUE, Bool_t showPersp=kFALSE);
virtual ~TGLCameraOverlay(); virtual ~TGLCameraOverlay();
virtual void Render(TGLRnrCtx& rnrCtx); virtual void Render(TGLRnrCtx& rnrCtx);
skipping to change at line 76 skipping to change at line 76
Int_t GetPerspectiveMode() const { return fPerspectiveMode;} Int_t GetPerspectiveMode() const { return fPerspectiveMode;}
void SetPerspectiveMode(EMode m) {fPerspectiveMode = m;} void SetPerspectiveMode(EMode m) {fPerspectiveMode = m;}
Int_t GetOrthographicMode() const { return fOrthographicMode;} Int_t GetOrthographicMode() const { return fOrthographicMode;}
void SetOrthographicMode(EMode m) {fOrthographicMode = m;} void SetOrthographicMode(EMode m) {fOrthographicMode = m;}
Bool_t GetShowOrthographic() const { return fShowOrthographic; } Bool_t GetShowOrthographic() const { return fShowOrthographic; }
void SetShowOrthographic(Bool_t x) {fShowOrthographic =x;} void SetShowOrthographic(Bool_t x) {fShowOrthographic =x;}
Bool_t GetShowPerspective() const { return fShowPerspective; } Bool_t GetShowPerspective() const { return fShowPerspective; }
void SetShowPerspective(Bool_t x) {fShowPerspective =x;} void SetShowPerspective(Bool_t x) {fShowPerspective =x;}
void SetFrustum(TGLCamera& cam);
TAttAxis* GetAttAxis(); TAttAxis* GetAttAxis();
ClassDef(TGLCameraOverlay, 1); // Show coorinates of current camera frus tum. ClassDef(TGLCameraOverlay, 1); // Show coorinates of current camera frus tum.
}; };
#endif #endif
 End of changes. 4 change blocks. 
3 lines changed or deleted 5 lines changed or added


 TGLClip.h   TGLClip.h 
// @(#)root/gl:$Id: TGLClip.h 31541 2009-12-03 20:00:32Z matevz $ // @(#)root/gl:$Id: TGLClip.h 32465 2010-03-04 20:29:52Z matevz $
// Author: Richard Maunder 16/09/2005 // Author: Richard Maunder 16/09/2005
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 133 skipping to change at line 133
// //
// TGLClipSet // TGLClipSet
// //
// A collection of all available clipping objects, to be used by higher // A collection of all available clipping objects, to be used by higher
// level objects. For the time being by TGLViewer/Scene. // level objects. For the time being by TGLViewer/Scene.
// //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
class TGLClipSet : public TGLOverlayElement class TGLClipSet : public TGLOverlayElement
{ {
private:
TGLClipSet(const TGLClipSet&); // Not implemented
TGLClipSet& operator=(const TGLClipSet&); // Not implemented
protected: protected:
TGLClipPlane *fClipPlane; TGLClipPlane *fClipPlane;
TGLClipBox *fClipBox; TGLClipBox *fClipBox;
TGLClip *fCurrentClip; //! the current clipping shape TGLClip *fCurrentClip; //! the current clipping shape
Bool_t fAutoUpdate;
Bool_t fShowClip; Bool_t fShowClip;
Bool_t fShowManip; Bool_t fShowManip;
TGLManipSet *fManip; TGLManipSet *fManip;
TGLBoundingBox fLastBBox; TGLBoundingBox fLastBBox;
public: public:
TGLClipSet(); TGLClipSet();
virtual ~TGLClipSet(); virtual ~TGLClipSet();
skipping to change at line 174 skipping to change at line 179
void InvalidateClips(); void InvalidateClips();
void InvalidateCurrentClip(); void InvalidateCurrentClip();
void GetClipState(EClipType type, Double_t data[6]) const; void GetClipState(EClipType type, Double_t data[6]) const;
void SetClipState(EClipType type, const Double_t data[6]); void SetClipState(EClipType type, const Double_t data[6]);
EClipType GetClipType() const; EClipType GetClipType() const;
void SetClipType(EClipType type); void SetClipType(EClipType type);
// Editor only supports combined flag so far. // Clip control flags
Bool_t GetAutoUpdate() const { return fAutoUpdate; }
void SetAutoUpdate(Bool_t aup) { fAutoUpdate = aup; }
Bool_t GetShowManip() const { return fShowManip; } Bool_t GetShowManip() const { return fShowManip; }
void SetShowManip(Bool_t show) { fShowManip = show; } void SetShowManip(Bool_t show) { fShowManip = show; }
Bool_t GetShowClip() const { return fShowClip; } Bool_t GetShowClip() const { return fShowClip; }
void SetShowClip(Bool_t show) { fShowClip = show; } void SetShowClip(Bool_t show) { fShowClip = show; }
ClassDef(TGLClipSet, 0); // A collection of supported clip-objects ClassDef(TGLClipSet, 0); // A collection of supported clip-objects
}; };
#endif #endif
 End of changes. 4 change blocks. 
2 lines changed or deleted 9 lines changed or added


 TGLClipSetEditor.h   TGLClipSetEditor.h 
// @(#)root/gl:$Id: TGLClipSetEditor.h 26367 2008-11-21 18:08:30Z matevz $ // @(#)root/gl:$Id: TGLClipSetEditor.h 32338 2010-02-12 17:11:34Z matevz $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TGLClipSetEditor #ifndef ROOT_TGLClipSetEditor
#define ROOT_TGLClipSetEditor #define ROOT_TGLClipSetEditor
skipping to change at line 44 skipping to change at line 44
EClipType fCurrentClip; EClipType fCurrentClip;
TGButtonGroup *fTypeButtons; TGButtonGroup *fTypeButtons;
TGCompositeFrame *fPlanePropFrame; TGCompositeFrame *fPlanePropFrame;
TGNumberEntry *fPlaneProp[4]; TGNumberEntry *fPlaneProp[4];
TGCompositeFrame *fBoxPropFrame; TGCompositeFrame *fBoxPropFrame;
TGNumberEntry *fBoxProp[6]; TGNumberEntry *fBoxProp[6];
TGCheckButton *fClipInside; TGCheckButton *fClipInside;
TGCheckButton *fAutoUpdate;
TGCheckButton *fClipEdit; TGCheckButton *fClipEdit;
TGCheckButton *fClipShow; TGCheckButton *fClipShow;
TGButton *fApplyButton; TGButton *fApplyButton;
TGButton *fResetButton; TGButton *fResetButton;
public: public:
TGLClipSetSubEditor(const TGWindow* p); TGLClipSetSubEditor(const TGWindow* p);
virtual ~TGLClipSetSubEditor() {} virtual ~TGLClipSetSubEditor() {}
void SetModel(TGLClipSet* m); void SetModel(TGLClipSet* m);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TGLEventHandler.h   TGLEventHandler.h 
// @(#)root/gl:$Id: TGLEventHandler.h 31301 2009-11-18 22:45:34Z matevz $ // @(#)root/gl:$Id: TGLEventHandler.h 33147 2010-04-22 16:47:08Z matevz $
// Author: Bertrand Bellenot 29/01/2008 // Author: Bertrand Bellenot 29/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 59 skipping to change at line 59
Bool_t fMouseTimerRunning; Bool_t fMouseTimerRunning;
Bool_t fTooltipShown; Bool_t fTooltipShown;
Int_t fTooltipPixelTolerance; Int_t fTooltipPixelTolerance;
Int_t fSecSelType; // secondary selection type Int_t fSecSelType; // secondary selection type
virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mo d2); virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mo d2);
virtual void GrabMouse(); virtual void GrabMouse();
virtual void UnGrabMouse(); virtual void UnGrabMouse();
virtual void SelectForClicked(Event_t *event);
virtual void SelectForMouseOver();
public: public:
TGLEventHandler(TGWindow *w, TObject *obj); TGLEventHandler(TGWindow *w, TObject *obj);
virtual ~TGLEventHandler(); virtual ~TGLEventHandler();
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 HandleEvent(Event_t *event); virtual Bool_t HandleEvent(Event_t *event);
virtual Bool_t HandleExpose(Event_t * event); virtual Bool_t HandleExpose(Event_t * event);
virtual Bool_t HandleFocusChange(Event_t *event); virtual Bool_t HandleFocusChange(Event_t *event);
virtual Bool_t HandleCrossing(Event_t *event); virtual Bool_t HandleCrossing(Event_t *event);
virtual Bool_t HandleButton(Event_t * event); virtual Bool_t HandleButton(Event_t * event);
virtual Bool_t HandleDoubleClick(Event_t *event); virtual Bool_t HandleDoubleClick(Event_t *event);
virtual Bool_t HandleConfigureNotify(Event_t *event); virtual Bool_t HandleConfigureNotify(Event_t *event);
virtual Bool_t HandleKey(Event_t *event); virtual Bool_t HandleKey(Event_t *event);
virtual Bool_t HandleMotion(Event_t * event); virtual Bool_t HandleMotion(Event_t * event);
virtual Bool_t HandleTimer(TTimer *t); virtual Bool_t HandleTimer(TTimer *t);
virtual void StartMouseTimer(); virtual void StartMouseTimer();
virtual void StopMouseTimer(); virtual void StopMouseTimer();
virtual void ClearMouseOver(); virtual void ClearMouseOver();
virtual void Repaint(); virtual void Repaint();
virtual void PopupContextMenu(TGLPhysicalShape* pshp, Event_t *event,
Int_t gx, Int_t gy);
virtual void TriggerTooltip(const char* text); virtual void TriggerTooltip(const char* text);
virtual void RemoveTooltip(); virtual void RemoveTooltip();
void SetMouseOverSelectDelay(Int_t ms); void SetMouseOverSelectDelay(Int_t ms);
void SetMouseOverTooltipDelay(Int_t ms); void SetMouseOverTooltipDelay(Int_t ms);
Int_t GetTooltipPixelTolerance() const { return fTooltipPixelTolerance; } Int_t GetTooltipPixelTolerance() const { return fTooltipPixelTolerance; }
void SetTooltipPixelTolerance(Int_t t) { fTooltipPixelTolerance = t; } void SetTooltipPixelTolerance(Int_t t) { fTooltipPixelTolerance = t; }
Int_t GetSecSelType() const { return fSecSelType; } Int_t GetSecSelType() const { return fSecSelType; }
void SetSecSelType(Int_t t) { fSecSelType = t; } void SetSecSelType(Int_t t) { fSecSelType = t; }
ClassDef(TGLEventHandler, 0); // Base-class and default implementation o f event-handler for TGLViewer. ClassDef(TGLEventHandler, 0); // Base-class and default implementation o f event-handler for TGLViewer.
}; };
 End of changes. 4 change blocks. 
3 lines changed or deleted 9 lines changed or added


 TGLLockable.h   TGLLockable.h 
// @(#)root/gl:$Id: TGLLockable.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/gl:$Id: TGLLockable.h 32465 2010-03-04 20:29:52Z 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_TGLLockable_H #ifndef ROOT_TGLLockable_H
#define ROOT_TGLLockable_H #define ROOT_TGLLockable_H
skipping to change at line 32 skipping to change at line 32
}; };
private: private:
TGLLockable(const TGLLockable&); // Not implemented TGLLockable(const TGLLockable&); // Not implemented
TGLLockable& operator=(const TGLLockable&); // Not implemented TGLLockable& operator=(const TGLLockable&); // Not implemented
protected: protected:
// Locking - can take/release via const handle // Locking - can take/release via const handle
mutable ELock fLock; // Lock state. mutable ELock fLock; // Lock state.
// Ensures unlocking in view of exceptions.
class TUnlocker
{
private:
TUnlocker(const TUnlocker&); // Not implemented
TUnlocker& operator=(const TUnlocker&); // Not implemented
const TGLLockable *fLockable;
public:
TUnlocker(const TGLLockable* l) : fLockable(l) {}
~TUnlocker()
{
if (fLockable->IsLocked())
fLockable->ReleaseLock(fLockable->CurrentLock());
}
};
public: public:
TGLLockable(); TGLLockable();
virtual ~TGLLockable() {} virtual ~TGLLockable() {}
virtual const char* LockIdStr() const { return "<unknown>"; } virtual const char* LockIdStr() const { return "<unknown>"; }
Bool_t TakeLock(ELock lock) const; Bool_t TakeLock(ELock lock) const;
Bool_t ReleaseLock(ELock lock) const; Bool_t ReleaseLock(ELock lock) const;
Bool_t IsLocked() const { return (fLock != kUnlocked); } Bool_t IsLocked() const { return (fLock != kUnlocked); }
ELock CurrentLock() const { return fLock; } ELock CurrentLock() const { return fLock; }
Bool_t IsDrawOrSelectLock() const { return fLock == kDrawLock || fLock = = kSelectLock; } Bool_t IsDrawOrSelectLock() const { return fLock == kDrawLock || fLock = = kSelectLock; }
static const char * LockName(ELock lock); static const char * LockName(ELock lock);
static Bool_t LockValid(ELock lock); static Bool_t LockValid(ELock lock);
ClassDef(TGLLockable, 0) // Lock for viewers and scenes. ClassDef(TGLLockable, 0); // Lock for viewers and scenes.
}; // endclass TGLLockable }; // endclass TGLLockable
#endif #endif
 End of changes. 3 change blocks. 
2 lines changed or deleted 20 lines changed or added


 TGLLogicalShape.h   TGLLogicalShape.h 
// @(#)root/gl:$Id: TGLLogicalShape.h 30811 2009-10-19 13:22:46Z matevz $ // @(#)root/gl:$Id: TGLLogicalShape.h 33124 2010-04-21 20:04:42Z 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 99 skipping to change at line 99
virtual UInt_t DLOffset(Short_t /*lod*/) const { return 0; } virtual UInt_t DLOffset(Short_t /*lod*/) const { return 0; }
virtual void DLCacheClear(); virtual void DLCacheClear();
virtual void DLCacheDrop(); virtual void DLCacheDrop();
virtual void DLCachePurge(); virtual void DLCachePurge();
virtual ELODAxes SupportedLODAxes() const { return kLODAxesNone; } virtual ELODAxes SupportedLODAxes() const { return kLODAxesNone; }
virtual Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) co nst; virtual Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) co nst;
virtual void Draw(TGLRnrCtx& rnrCtx) const; virtual void Draw(TGLRnrCtx& rnrCtx) const;
virtual void DirectDraw(TGLRnrCtx& rnrCtx) const = 0; // Actual draw method (non DL cached) virtual void DirectDraw(TGLRnrCtx& rnrCtx) const = 0; // Actual draw method (non DL cached)
virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape * pshp) const; virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape * pshp, Int_t lvl=-1) const;
virtual Bool_t IgnoreSizeForOfInterest() const { return kFALSE; } virtual Bool_t IgnoreSizeForOfInterest() const { return kFALSE; }
// Override in sub-classes that do direct object rendering (e.g. TGLObje ct). // Override in sub-classes that do direct object rendering (e.g. TGLObje ct).
virtual Bool_t KeepDuringSmartRefresh() const { return kFALSE; } virtual Bool_t KeepDuringSmartRefresh() const { return kFALSE; }
// Override in sub-classes that support secondary selection (e.g. TPoint Set3DGL). // Override in sub-classes that support secondary selection (e.g. TPoint Set3DGL).
virtual Bool_t SupportsSecondarySelect() const { return kFALSE; } virtual Bool_t SupportsSecondarySelect() const { return kFALSE; }
virtual Bool_t AlwaysSecondarySelect() const { return kFALSE; } virtual Bool_t AlwaysSecondarySelect() const { return kFALSE; }
virtual void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec) ; virtual void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec) ;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGLMarchingCubes.h   TGLMarchingCubes.h 
skipping to change at line 31 skipping to change at line 31
http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/ http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/
*/ */
class TF3; class TF3;
class TKDEFGT; class TKDEFGT;
namespace Rgl { namespace Rgl {
namespace Mc { namespace Mc {
/* /*
Some routines, values and tables for marching cube method.
*/
extern const UInt_t eInt[256];
extern const Float_t vOff[8][3];
extern const UChar_t eConn[12][2];
extern const Float_t eDir[12][3];
extern const Int_t conTbl[256][16];
/*
"T" prefix in class names is only for code-style checker. "T" prefix in class names is only for code-style checker.
*/ */
/* /*
TCell is a cube from marching cubes algorithm. TCell is a cube from marching cubes algorithm.
It has "type" - defines, which vertices It has "type" - defines, which vertices
are under iso level, which are above. are under iso level, which are above.
Vertices numeration: Vertices numeration:
skipping to change at line 308 skipping to change at line 317
Default splitter is used by TH3 and KDE. Default splitter is used by TH3 and KDE.
*/ */
template<class H, class E, class V> template<class H, class E, class V>
class TDefaultSplitter : protected virtual TGridGeometry<V> { class TDefaultSplitter : protected virtual TGridGeometry<V> {
protected: protected:
void SetNormalEvaluator(const H * /*source*/) void SetNormalEvaluator(const H * /*source*/)
{ {
} }
void SplitEdge(TCell<E> & cell, TIsoMesh<V> * mesh, UInt_t i, void SplitEdge(TCell<E> & cell, TIsoMesh<V> * mesh, UInt_t i,
V x, V y, V z, V iso)const; V x, V y, V z, V iso)const
{
V v[3];
const V offset = GetOffset(cell.fVals[eConn[i][0]],
cell.fVals[eConn[i][1]],
iso);
v[0] = x + (vOff[eConn[i][0]][0] + offset * eDir[i][0]) * this->fStepX;
v[1] = y + (vOff[eConn[i][0]][1] + offset * eDir[i][1]) * this->fStepY;
v[2] = z + (vOff[eConn[i][0]][2] + offset * eDir[i][2]) * this->fStepZ;
cell.fIds[i] = mesh->AddVertex(v);
}
}; };
/* /*
TF3's edge splitter. Calculates new vertex and surface normal TF3's edge splitter. Calculates new vertex and surface normal
in this vertex using TF3. in this vertex using TF3.
*/ */
class TF3EdgeSplitter : protected virtual TGridGeometry<Double_t> { class TF3EdgeSplitter : protected virtual TGridGeometry<Double_t> {
protected: protected:
TF3EdgeSplitter() : fTF3(0) TF3EdgeSplitter() : fTF3(0)
skipping to change at line 404 skipping to change at line 424
private: private:
//Two base classes. //Two base classes.
typedef typename TSourceAdapterSelector<DataSource>::Type_t DataSo urceBase_t; typedef typename TSourceAdapterSelector<DataSource>::Type_t DataSo urceBase_t;
typedef typename TSplitterSelector<DataSource, ValueType>::Type_t Splitt erBase_t; typedef typename TSplitterSelector<DataSource, ValueType>::Type_t Splitt erBase_t;
//Using declarations required, since these are //Using declarations required, since these are
//type-dependant names in template. //type-dependant names in template.
using DataSourceBase_t::GetW; using DataSourceBase_t::GetW;
using DataSourceBase_t::GetH; using DataSourceBase_t::GetH;
using DataSourceBase_t::GetD; using DataSourceBase_t::GetD;
using DataSourceBase_t::GetData; using DataSourceBase_t::GetData;
using SplitterBase_t::SplitEdge;
typedef typename DataSourceBase_t::ElementType_t ElementType_t; typedef typename DataSourceBase_t::ElementType_t ElementType_t;
typedef TCell<ElementType_t> CellType_t; typedef TCell<ElementType_t> CellType_t;
typedef TSlice<ElementType_t> SliceType_t; typedef TSlice<ElementType_t> SliceType_t;
typedef TIsoMesh<ValueType> MeshType_t; typedef TIsoMesh<ValueType> MeshType_t;
public: public:
TMeshBuilder(Bool_t averagedNormals, ValueType eps = 1e-7) TMeshBuilder(Bool_t averagedNormals, ValueType eps = 1e-7)
: fAvgNormals(averagedNormals), fMesh(0), fIso(), fEpsilon(eps) : fAvgNormals(averagedNormals), fMesh(0), fIso(), fEpsilon(eps)
 End of changes. 3 change blocks. 
1 lines changed or deleted 22 lines changed or added


 TGLObject.h   TGLObject.h 
// @(#)root/gl:$Id: TGLObject.h 29526 2009-07-20 17:41:53Z matevz $ // @(#)root/gl:$Id: TGLObject.h 33124 2010-04-21 20:04:42Z matevz $
// 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 40 skipping to change at line 40
void SetAxisAlignedBBox(Float_t xmin, Float_t xmax, void SetAxisAlignedBBox(Float_t xmin, Float_t xmax,
Float_t ymin, Float_t ymax, Float_t ymin, Float_t ymax,
Float_t zmin, Float_t zmax); Float_t zmin, Float_t zmax);
void SetAxisAlignedBBox(const Float_t* p); void SetAxisAlignedBBox(const Float_t* p);
public: public:
TGLObject() : TGLLogicalShape(0), fMultiColor(kFALSE) {} TGLObject() : TGLLogicalShape(0), fMultiColor(kFALSE) {}
virtual ~TGLObject() {} virtual ~TGLObject() {}
virtual Bool_t ShouldDLCache(const TGLRnrCtx & rnrCtx) const; virtual Bool_t ShouldDLCache(const TGLRnrCtx& rnrCtx) const;
// Kept from TGLLogicalShape // Kept from TGLLogicalShape
// virtual ELODAxes SupportedLODAxes() const { return kLODAxesNone; } // virtual ELODAxes SupportedLODAxes() const { return kLODAxesNone; }
// Changed from TGLLogicalShape // Changed from TGLLogicalShape
virtual Bool_t KeepDuringSmartRefresh() const { return kTRUE; } virtual Bool_t KeepDuringSmartRefresh() const { return kTRUE; }
virtual void UpdateBoundingBox(); virtual void UpdateBoundingBox();
// TGLObject virtuals // TGLObject virtuals
virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0) = 0; virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0) = 0;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGLPadPainter.h   TGLPadPainter.h 
skipping to change at line 108 skipping to change at line 108
void DrawPolyLine(Int_t n, const Float_t *x, const Float_t *y); void DrawPolyLine(Int_t n, const Float_t *x, const Float_t *y);
void DrawPolyLineNDC(Int_t n, const Double_t *u, const Double_t *v); void DrawPolyLineNDC(Int_t n, const Double_t *u, const Double_t *v);
//TPad needs both versions. //TPad needs both versions.
void DrawPolyMarker(Int_t n, const Double_t *x, const Double_t *y); void DrawPolyMarker(Int_t n, const Double_t *x, const Double_t *y);
void DrawPolyMarker(Int_t n, const Float_t *x, const Float_t *y); void DrawPolyMarker(Int_t n, const Float_t *x, const Float_t *y);
void DrawText(Double_t x, Double_t y, const char *text, ETextMode mo de); void DrawText(Double_t x, Double_t y, const char *text, ETextMode mo de);
void DrawTextNDC(Double_t x, Double_t y, const char *text, ETextMode mode); void DrawTextNDC(Double_t x, Double_t y, const char *text, ETextMode mode);
//jpg, png, gif and bmp output.
void SaveImage(TVirtualPad *pad, const char *fileName, Int_t type) c
onst;
private: private:
//Attention! GL_PROJECTION will become //Attention! GL_PROJECTION will become
//the current matrix after these calls. //the current matrix after these calls.
void SaveProjectionMatrix()const; void SaveProjectionMatrix()const;
void RestoreProjectionMatrix()const; void RestoreProjectionMatrix()const;
//Attention! GL_MODELVIEW will become the //Attention! GL_MODELVIEW will become the
//current matrix after these calls. //current matrix after these calls.
void SaveModelviewMatrix()const; void SaveModelviewMatrix()const;
 End of changes. 1 change blocks. 
0 lines changed or deleted 4 lines changed or added


 TGLPhysicalShape.h   TGLPhysicalShape.h 
// @(#)root/gl:$Id: TGLPhysicalShape.h 22539 2008-03-08 14:36:37Z rdm $ // @(#)root/gl:$Id: TGLPhysicalShape.h 32465 2010-03-04 20:29:52Z matevz $
// Author: Richard Maunder 25/05/2005 // Author: Richard Maunder 25/05/2005
// Parts taken from original TGLSceneObject Timur Pocheptsov // Parts taken from original TGLSceneObject Timur Pocheptsov
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 36 skipping to change at line 36
class TGLPShapeRef; class TGLPShapeRef;
class TGLLogicalShape; class TGLLogicalShape;
class TGLRnrCtx; class TGLRnrCtx;
class TContextMenu; class TContextMenu;
class TGLPhysicalShape class TGLPhysicalShape
{ {
friend class TGLLogicalShape; // for replica-list management friend class TGLLogicalShape; // for replica-list management
private:
TGLPhysicalShape(const TGLPhysicalShape&); // Not implemented
TGLPhysicalShape& operator=(const TGLPhysicalShape&); // Not implemented
public: public:
// Flags for permitted manipulation of object // Flags for permitted manipulation of object
enum EManip { kTranslateX = 1 << 0, enum EManip { kTranslateX = 1 << 0,
kTranslateY = 1 << 1, kTranslateY = 1 << 1,
kTranslateZ = 1 << 2, kTranslateZ = 1 << 2,
kTranslateAll = kTranslateX | kTranslateY | kTranslateZ, kTranslateAll = kTranslateX | kTranslateY | kTranslateZ,
kScaleX = 1 << 3, kScaleX = 1 << 3,
kScaleY = 1 << 4, kScaleY = 1 << 4,
kScaleZ = 1 << 5, kScaleZ = 1 << 5,
kScaleAll = kScaleX | kScaleY | kScaleZ, kScaleAll = kScaleX | kScaleY | kScaleZ,
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TGLRnrCtx.h   TGLRnrCtx.h 
// @(#)root/gl:$Id: TGLRnrCtx.h 30425 2009-09-24 19:45:11Z matevz $ // @(#)root/gl:$Id: TGLRnrCtx.h 32782 2010-03-26 14:39:42Z 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_TGLRnrCtx #ifndef ROOT_TGLRnrCtx
#define ROOT_TGLRnrCtx #define ROOT_TGLRnrCtx
skipping to change at line 95 skipping to change at line 95
typedef std::list<TGLColorSet*, std::allocator<TGLColorSet*> > lpTGLColo rSet_t; typedef std::list<TGLColorSet*, std::allocator<TGLColorSet*> > lpTGLColo rSet_t;
protected: protected:
TGLViewerBase *fViewer; TGLViewerBase *fViewer;
TGLCamera *fCamera; TGLCamera *fCamera;
TGLSceneInfo *fSceneInfo; TGLSceneInfo *fSceneInfo;
Short_t fViewerLOD; Short_t fViewerLOD;
Short_t fSceneLOD; Short_t fSceneLOD;
Short_t fCombiLOD; // Combined viewer/scene lod Short_t fCombiLOD; // Combined viewer/scene lod.
Short_t fShapeLOD; Short_t fShapeLOD; // LOD calculated for current shape.
Float_t fShapePixSize; // Only relevant when not using display l
ists.
Short_t fViewerStyle; Short_t fViewerStyle;
Short_t fSceneStyle; Short_t fSceneStyle;
Float_t fViewerWFLineW; Float_t fViewerWFLineW;
Float_t fSceneWFLineW; Float_t fSceneWFLineW;
Float_t fViewerOLLineW; Float_t fViewerOLLineW;
Float_t fSceneOLLineW; Float_t fSceneOLLineW;
TGLClip *fViewerClip; TGLClip *fViewerClip;
skipping to change at line 172 skipping to change at line 173
// Draw LOD, style, clip, rnr-pass // Draw LOD, style, clip, rnr-pass
Short_t ViewerLOD() const { return fViewerLOD; } Short_t ViewerLOD() const { return fViewerLOD; }
void SetViewerLOD(Short_t LOD) { fViewerLOD = LOD; } void SetViewerLOD(Short_t LOD) { fViewerLOD = LOD; }
Short_t SceneLOD() const { return fSceneLOD; } Short_t SceneLOD() const { return fSceneLOD; }
void SetSceneLOD(Short_t LOD) { fSceneLOD = LOD; } void SetSceneLOD(Short_t LOD) { fSceneLOD = LOD; }
Short_t CombiLOD() const { return fCombiLOD; } Short_t CombiLOD() const { return fCombiLOD; }
void SetCombiLOD(Short_t LOD) { fCombiLOD = LOD; } void SetCombiLOD(Short_t LOD) { fCombiLOD = LOD; }
Short_t ShapeLOD() const { return fShapeLOD; } Short_t ShapeLOD() const { return fShapeLOD; }
void SetShapeLOD(Short_t LOD) { fShapeLOD = LOD; } void SetShapeLOD(Short_t LOD) { fShapeLOD = LOD; }
Float_t ShapePixSize() const { return fShapePixSize; }
void SetShapePixSize(Float_t ps) { fShapePixSize = ps; }
Short_t ViewerStyle() const { return fViewerStyle; } Short_t ViewerStyle() const { return fViewerStyle; }
void SetViewerStyle(Short_t sty) { fViewerStyle = sty; } void SetViewerStyle(Short_t sty) { fViewerStyle = sty; }
Short_t SceneStyle() const { return fSceneStyle; } Short_t SceneStyle() const { return fSceneStyle; }
void SetSceneStyle(Short_t sty) { fSceneStyle = sty; } void SetSceneStyle(Short_t sty) { fSceneStyle = sty; }
Float_t ViewerWFLineW() const { return fViewerWFLineW; } Float_t ViewerWFLineW() const { return fViewerWFLineW; }
void SetViewerWFLineW(Float_t w) { fViewerWFLineW = w; } void SetViewerWFLineW(Float_t w) { fViewerWFLineW = w; }
Float_t SceneWFLineW() const { return fSceneWFLineW; } Float_t SceneWFLineW() const { return fSceneWFLineW; }
void SetSceneWFLineW(Float_t w) { fSceneWFLineW = w; } void SetSceneWFLineW(Float_t w) { fSceneWFLineW = w; }
 End of changes. 3 change blocks. 
3 lines changed or deleted 7 lines changed or added


 TGLSAViewer.h   TGLSAViewer.h 
// @(#)root/gl:$Id: TGLSAViewer.h 31821 2009-12-10 18:22:44Z matevz $ // @(#)root/gl:$Id: TGLSAViewer.h 32770 2010-03-25 17:05:08Z 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 69 skipping to change at line 69
TGCompositeFrame *fLeftVerticalFrame; TGCompositeFrame *fLeftVerticalFrame;
TGCompositeFrame *fRightVerticalFrame; TGCompositeFrame *fRightVerticalFrame;
TString fDirName; TString fDirName;
Int_t fTypeIdx; Int_t fTypeIdx;
Bool_t fOverwrite; Bool_t fOverwrite;
TGMenuBar *fMenuBar; TGMenuBar *fMenuBar;
TGButton *fMenuBut; TGButton *fMenuBut;
Bool_t fHideMenuBar; Bool_t fHideMenuBar;
TTimer *fMenuHidingTimer;
Bool_t fMenuHidingShowMenu;
Bool_t fDeleteMenuBar; Bool_t fDeleteMenuBar;
static Long_t fgMenuHidingTimeout;
void ResetMenuHidingTimer(Bool_t show_menu);
// 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();
skipping to change at line 105 skipping to change at line 112
virtual const char* GetName() const { return "GLViewer"; } virtual const char* GetName() const { return "GLViewer"; }
virtual void SelectionChanged(); virtual void SelectionChanged();
void Show(); void Show();
void Close(); void Close();
void DeleteMenuBar(); void DeleteMenuBar();
void DisableCloseMenuEntries(); void DisableCloseMenuEntries();
void EnableMenuBarHiding(); void EnableMenuBarHiding();
void DisableMenuBarHiding();
void MenuHidingTimeout();
void HandleMenuBarHiding(Event_t* ev); void HandleMenuBarHiding(Event_t* ev);
// 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);
TGCompositeFrame* GetFrame() const; TGCompositeFrame* GetFrame() const;
TGCompositeFrame* GetLeftVerticalFrame() const { return fLeftVerticalFra me; } TGCompositeFrame* GetLeftVerticalFrame() const { return fLeftVerticalFra me; }
TGLFormat* GetFormat() const { return fFormat; } TGLFormat* GetFormat() const { return fFormat; }
void ToggleEditObject(); void ToggleEditObject();
void ToggleOrthoRotate(); void ToggleOrthoRotate();
void ToggleOrthoDolly(); void ToggleOrthoDolly();
static void SetMenuHidingTimeout(Long_t timeout);
ClassDef(TGLSAViewer, 0); // Standalone GL viewer. ClassDef(TGLSAViewer, 0); // Standalone GL viewer.
}; };
#endif #endif
 End of changes. 5 change blocks. 
1 lines changed or deleted 12 lines changed or added


 TGLScene.h   TGLScene.h 
// @(#)root/gl:$Id: TGLScene.h 29676 2009-08-04 16:18:07Z matevz $ // @(#)root/gl:$Id: TGLScene.h 32334 2010-02-12 11:52:13Z 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_TGLScene_H #ifndef ROOT_TGLScene_H
#define ROOT_TGLScene_H #define ROOT_TGLScene_H
skipping to change at line 186 skipping to change at line 186
// Basic logical shape management // Basic logical shape management
virtual void AdoptLogical(TGLLogicalShape& shape); virtual void AdoptLogical(TGLLogicalShape& shape);
virtual Bool_t DestroyLogical(TObject* logid, Bool_t mustFind =kTRUE); virtual Bool_t DestroyLogical(TObject* logid, Bool_t mustFind =kTRUE);
virtual Int_t DestroyLogicals(); virtual Int_t DestroyLogicals();
virtual TGLLogicalShape* FindLogical(TObject* logid) const; virtual TGLLogicalShape* FindLogical(TObject* logid) const;
// Basic physical shape management // Basic physical shape management
virtual void AdoptPhysical(TGLPhysicalShape& shape); virtual void AdoptPhysical(TGLPhysicalShape& shape);
virtual Bool_t DestroyPhysical(UInt_t phid); virtual Bool_t DestroyPhysical(UInt_t phid);
virtual Int_t DestroyPhysicals(Bool_t incModified, const TGL Camera* camera=0); virtual Int_t DestroyPhysicals();
virtual TGLPhysicalShape* FindPhysical(UInt_t phid) const; virtual TGLPhysicalShape* FindPhysical(UInt_t phid) const;
virtual UInt_t GetMaxPhysicalID(); virtual UInt_t GetMaxPhysicalID();
// ---------------------------------------------------------------- // ----------------------------------------------------------------
// Updates / removals of logical and physical shapes // Updates / removals of logical and physical shapes
virtual Bool_t BeginUpdate(); virtual Bool_t BeginUpdate();
virtual void EndUpdate(Bool_t minorChange=kTRUE, Bool_t sceneChanged=k TRUE, Bool_t updateViewers=kTRUE); virtual void EndUpdate(Bool_t minorChange=kTRUE, Bool_t sceneChanged=k TRUE, Bool_t updateViewers=kTRUE);
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGLSceneBase.h   TGLSceneBase.h 
// @(#)root/gl:$Id: TGLSceneBase.h 29676 2009-08-04 16:18:07Z matevz $ // @(#)root/gl:$Id: TGLSceneBase.h 32867 2010-04-01 17:07:30Z 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_TGLSceneBase_H #ifndef ROOT_TGLSceneBase_H
#define ROOT_TGLSceneBase_H #define ROOT_TGLSceneBase_H
skipping to change at line 24 skipping to change at line 24
#include "TGLBoundingBox.h" #include "TGLBoundingBox.h"
#include <TString.h> #include <TString.h>
#include <list> #include <list>
class TGLViewerBase; class TGLViewerBase;
class TGLSceneInfo; class TGLSceneInfo;
class TGLClip; class TGLClip;
class TGLRnrCtx; class TGLRnrCtx;
class TGLLogicalShape;
class TGLSelectRecord; class TGLSelectRecord;
// Avoid TObject inheritance due to clash with TObject::Draw as well // Avoid TObject inheritance due to clash with TObject::Draw as well
// as possible inheritance of TGLPadScene from VierualViewer3D. // as possible inheritance of TGLPadScene from VierualViewer3D.
class TGLSceneBase : public TGLLockable // : public TObject / TNamed class TGLSceneBase : public TGLLockable // : public TObject / TNamed
{ {
private: private:
TGLSceneBase(const TGLSceneBase&); // Not implemented TGLSceneBase(const TGLSceneBase&); // Not implemented
TGLSceneBase& operator=(const TGLSceneBase&); // Not implemented TGLSceneBase& operator=(const TGLSceneBase&); // Not implemented
skipping to change at line 100 skipping to change at line 101
virtual void PreDraw (TGLRnrCtx & rnrCtx); virtual void PreDraw (TGLRnrCtx & rnrCtx);
virtual void PreRender (TGLRnrCtx & rnrCtx); virtual void PreRender (TGLRnrCtx & rnrCtx);
virtual void Render (TGLRnrCtx & rnrCtx); virtual void Render (TGLRnrCtx & rnrCtx);
virtual void RenderOpaque (TGLRnrCtx & rnrCtx); virtual void RenderOpaque (TGLRnrCtx & rnrCtx);
virtual void RenderTransp (TGLRnrCtx & rnrCtx); virtual void RenderTransp (TGLRnrCtx & rnrCtx);
virtual void RenderSelOpaque (TGLRnrCtx & rnrCtx); virtual void RenderSelOpaque (TGLRnrCtx & rnrCtx);
virtual void RenderSelTransp (TGLRnrCtx & rnrCtx); virtual void RenderSelTransp (TGLRnrCtx & rnrCtx);
virtual void PostRender(TGLRnrCtx & rnrCtx); virtual void PostRender(TGLRnrCtx & rnrCtx);
virtual void PostDraw (TGLRnrCtx & rnrCtx); virtual void PostDraw (TGLRnrCtx & rnrCtx);
virtual TGLLogicalShape* FindLogical(TObject*) const { return 0; }
// Selection interface // Selection interface
virtual Bool_t ResolveSelectRecord(TGLSelectRecord& rec, Int_t curIdx); virtual Bool_t ResolveSelectRecord(TGLSelectRecord& rec, Int_t curIdx);
// Getters & setters // Getters & setters
UInt_t GetTimeStamp() const { return fTimeStamp; } UInt_t GetTimeStamp() const { return fTimeStamp; }
void IncTimeStamp() { ++fTimeStamp; fMinorStamp = 1; } void IncTimeStamp() { ++fTimeStamp; fMinorStamp = 1; }
UInt_t GetMinorStamp() const { return fMinorStamp; } UInt_t GetMinorStamp() const { return fMinorStamp; }
void IncMinorStamp() { ++fMinorStamp; } void IncMinorStamp() { ++fMinorStamp; }
 End of changes. 3 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TGLSelectRecord.h   TGLSelectRecord.h 
// @(#)root/gl:$Id: TGLSelectRecord.h 30886 2009-10-27 13:37:11Z matevz $ // @(#)root/gl:$Id: TGLSelectRecord.h 33124 2010-04-21 20:04:42Z 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_TGLSelectRecord #ifndef ROOT_TGLSelectRecord
#define ROOT_TGLSelectRecord #define ROOT_TGLSelectRecord
skipping to change at line 77 skipping to change at line 77
// TGLSelectRecord // TGLSelectRecord
/************************************************************************** / /************************************************************************** /
class TGLSelectRecord : public TGLSelectRecordBase class TGLSelectRecord : public TGLSelectRecordBase
{ {
public: public:
enum ESecSelResult { kNone, kEnteringSelection, kLeavingSelection, kModi fyingInternalSelection }; enum ESecSelResult { kNone, kEnteringSelection, kLeavingSelection, kModi fyingInternalSelection };
protected: protected:
// Secondary data (scene dependent) - use // Secondary data (scene dependent) - use
// TGLSceneBase::ResolveSelectRecord to fill. // TGLSceneBase::ResolveSelectRecord() to fill.
Bool_t fTransparent; Bool_t fTransparent;
TGLSceneInfo *fSceneInfo; // SceneInfo TGLSceneInfo *fSceneInfo; // SceneInfo
TGLPhysicalShape *fPhysShape; // PhysicalShape, if applicable TGLPhysicalShape *fPhysShape; // PhysicalShape, if applicable
TObject *fObject; // Master TObject, if applicable TObject *fObject; // Master TObject, if applicable
void *fSpecific; // Scene specific, if applicable void *fSpecific; // Scene specific, if applicable
Bool_t fMultiple; // Mutliple selection, requested by event Bool_t fMultiple; // Mutliple selection requested (set by ev
handler ent-handler).
Bool_t fHighlight; // Requested for highlight (set by event-h
andler).
ESecSelResult fSecSelRes; // Result of ProcessSelection; ESecSelResult fSecSelRes; // Result of ProcessSelection;
public: public:
TGLSelectRecord(); TGLSelectRecord();
TGLSelectRecord(UInt_t* data); TGLSelectRecord(UInt_t* data);
TGLSelectRecord(const TGLSelectRecord& rec); TGLSelectRecord(const TGLSelectRecord& rec);
virtual ~TGLSelectRecord(); virtual ~TGLSelectRecord();
TGLSelectRecord& operator=(const TGLSelectRecord& rec); TGLSelectRecord& operator=(const TGLSelectRecord& rec);
virtual void Set(UInt_t* data); virtual void Set(UInt_t* data);
virtual void Reset(); virtual void Reset();
Bool_t GetTransparent() const { return fTransparent; } Bool_t GetTransparent() const { return fTransparent; }
TGLSceneInfo * GetSceneInfo() const { return fSceneInfo; } TGLSceneInfo * GetSceneInfo() const { return fSceneInfo; }
TGLPhysicalShape * GetPhysShape() const { return fPhysShape; } TGLPhysicalShape * GetPhysShape() const { return fPhysShape; }
TObject * GetObject() const { return fObject; } TObject * GetObject() const { return fObject; }
void * GetSpecific() const { return fSpecific; } void * GetSpecific() const { return fSpecific; }
Bool_t GetMultiple() const { return fMultiple; } Bool_t GetMultiple() const { return fMultiple; }
Bool_t GetHighlight() const { return fHighlight; }
ESecSelResult GetSecSelResult() const { return fSecSelRes; } ESecSelResult GetSecSelResult() const { return fSecSelRes; }
void SetTransparent(Bool_t t) { fTransparent = t; } void SetTransparent(Bool_t t) { fTransparent = t; }
void SetSceneInfo (TGLSceneInfo* si) { fSceneInfo = si; } void SetSceneInfo (TGLSceneInfo* si) { fSceneInfo = si; }
void SetPhysShape (TGLPhysicalShape* pshp) { fPhysShape = pshp; } void SetPhysShape (TGLPhysicalShape* pshp) { fPhysShape = pshp; }
void SetObject (TObject* obj) { fObject = obj; } void SetObject (TObject* obj) { fObject = obj; }
void SetSpecific (void* spec) { fSpecific = spec; } void SetSpecific (void* spec) { fSpecific = spec; }
void SetMultiple (Bool_t multi) { fMultiple = multi; } void SetMultiple (Bool_t multi) { fMultiple = multi; }
void SetHighlight (Bool_t hlt) { fHighlight = hlt; }
void SetSecSelResult(ESecSelResult r) { fSecSelRes = r; } void SetSecSelResult(ESecSelResult r) { fSecSelRes = r; }
void Print(); void Print();
static Bool_t AreSameSelectionWise(const TGLSelectRecord& r1, static Bool_t AreSameSelectionWise(const TGLSelectRecord& r1,
const TGLSelectRecord& r2); const TGLSelectRecord& r2);
ClassDef(TGLSelectRecord, 0) // Standard GL selection record. ClassDef(TGLSelectRecord, 0) // Standard GL selection record.
}; };
 End of changes. 5 change blocks. 
4 lines changed or deleted 8 lines changed or added


 TGLUtil.h   TGLUtil.h 
// @(#)root/gl:$Id: TGLUtil.h 30815 2009-10-20 13:49:22Z rdm $ // @(#)root/gl:$Id: TGLUtil.h 32785 2010-03-26 15:42:03Z matevz $
// Author: Richard Maunder 25/05/2005 // Author: Richard Maunder 25/05/2005
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 514 skipping to change at line 514
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline void TGLRect::Offset(Int_t dX, Int_t dY) inline void TGLRect::Offset(Int_t dX, Int_t dY)
{ {
fX += dX; fX += dX;
fY += dY; fY += dY;
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline void TGLRect::Expand(Int_t x, Int_t y)
{
// Expand the rect to encompass point (x,y)
Int_t delX = x - fX;
Int_t delY = y - fY;
if (delX>static_cast<Int_t>(fWidth)) {
fWidth = delX;
}
if (delY>static_cast<Int_t>(fHeight)) {
fHeight = delY;
}
if (delX<0) {
fX = x;
fWidth += -delX;
}
if (delY<0) {
fY = y;
fHeight += -delY;
}
}
//_________________________________________________________________________
_____
inline Int_t TGLRect::Diagonal() const
{
const Double_t w = static_cast<Double_t>(fWidth);
const Double_t h = static_cast<Double_t>(fHeight);
return static_cast<Int_t>(std::sqrt(w*w + h*h));
}
//_________________________________________________________________________
_____
inline Int_t TGLRect::Longest() const inline Int_t TGLRect::Longest() const
{ {
return fWidth > fHeight ? fWidth:fHeight; return fWidth > fHeight ? fWidth : fHeight;
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline Double_t TGLRect::Aspect() const inline Double_t TGLRect::Aspect() const
{ {
// Return aspect ratio (width/height) // Return aspect ratio (width/height)
if (fHeight == 0) { if (fHeight == 0) {
return 0.0; return 0.0;
} else { } else {
return static_cast<Double_t>(fWidth) / static_cast<Double_t>(fHeight) ; return static_cast<Double_t>(fWidth) / static_cast<Double_t>(fHeight) ;
 End of changes. 3 change blocks. 
36 lines changed or deleted 2 lines changed or added


 TGLViewer.h   TGLViewer.h 
// @(#)root/gl:$Id: TGLViewer.h 31821 2009-12-10 18:22:44Z matevz $ // @(#)root/gl:$Id: TGLViewer.h 33124 2010-04-21 20:04:42Z 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 24 skipping to change at line 24
#include "TGLViewerBase.h" #include "TGLViewerBase.h"
#include "TGLRnrCtx.h" #include "TGLRnrCtx.h"
#include "TGLSelectRecord.h" #include "TGLSelectRecord.h"
#include "TVirtualViewer3D.h" #include "TVirtualViewer3D.h"
#include "TBuffer3D.h" #include "TBuffer3D.h"
#include "TGLPerspectiveCamera.h" #include "TGLPerspectiveCamera.h"
#include "TGLOrthoCamera.h" #include "TGLOrthoCamera.h"
#include "TGLClip.h"
#include "TTimer.h" #include "TTimer.h"
#include "TPoint.h" #include "TPoint.h"
#include "TGEventHandler.h" #include "TGEventHandler.h"
#include "GuiTypes.h" #include "GuiTypes.h"
#include "TQObject.h" #include "TQObject.h"
#include <vector> #include <vector>
skipping to change at line 63 skipping to change at line 64
{ {
friend class TGLOutput; friend class TGLOutput;
friend class TGLEventHandler; friend class TGLEventHandler;
public: public:
enum ECameraType { kCameraPerspXOZ, kCameraPerspYOZ, kCameraPerspXOY, enum ECameraType { kCameraPerspXOZ, kCameraPerspYOZ, kCameraPerspXOY,
kCameraOrthoXOY, kCameraOrthoXOZ, kCameraOrthoZOY, kCameraOrthoXOY, kCameraOrthoXOZ, kCameraOrthoZOY,
kCameraOrthoXnOY, kCameraOrthoXnOZ, kCameraOrthoZnOY }; kCameraOrthoXnOY, kCameraOrthoXnOZ, kCameraOrthoZnOY };
enum ESecSelType { kOnRequest, kOnKeyMod1 }; enum ESecSelType { // When to do secondary-selection:
kOnRequest, // - on request - when Mod1 is pressed or logical-sha
pe requests it;
kOnKeyMod1 // - only when Mod1 is pressed.
};
private: private:
TGLViewer(const TGLViewer &); // Not implemented TGLViewer(const TGLViewer &); // Not implemented
TGLViewer & operator=(const TGLViewer &); // Not implemented TGLViewer & operator=(const TGLViewer &); // Not implemented
void InitSecondaryObjects(); void InitSecondaryObjects();
protected: protected:
// External handles // External handles
TVirtualPad *fPad; //! external pad - remove replace with sign al TVirtualPad *fPad; //! external pad - remove replace with sign al
skipping to change at line 101 skipping to change at line 105
// Stereo // Stereo
Bool_t fStereo; //! use stereo rendering Bool_t fStereo; //! use stereo rendering
Float_t fStereoZeroParallax; //! position of zero-paralla x plane: 0 - near clipping plane, 1 - far clipping plane Float_t fStereoZeroParallax; //! position of zero-paralla x plane: 0 - near clipping plane, 1 - far clipping plane
Float_t fStereoEyeOffsetFac; //! Float_t fStereoEyeOffsetFac; //!
Float_t fStereoFrustumAsymFac; //! Float_t fStereoFrustumAsymFac; //!
// Lights // Lights
TGLLightSet *fLightSet; //! TGLLightSet *fLightSet; //!
// Clipping // Clipping
TGLClipSet *fClipSet; //! TGLClipSet *fClipSet; //!
Bool_t fClipAutoUpdate; //!
// Selected physical // Selected physical
TGLSelectRecord fCurrentSelRec; //! select record in use as selected TGLSelectRecord fCurrentSelRec; //! select record in use as selected
TGLSelectRecord fSelRec; //! select record from last select (should go to context) TGLSelectRecord fSelRec; //! select record from last select (should go to context)
TGLSelectRecord fSecSelRec; //! select record from last secondary select (should go to context) TGLSelectRecord fSecSelRec; //! select record from last secondary select (should go to context)
TGLManipSet *fSelectedPShapeRef; //! TGLManipSet *fSelectedPShapeRef; //!
// Overlay // Overlay
TGLOverlayElement *fCurrentOvlElm; //! current overlay element TGLOverlayElement *fCurrentOvlElm; //! current overlay element
TGLOvlSelectRecord fOvlSelRec; //! select record from last overlay select TGLOvlSelectRecord fOvlSelRec; //! select record from last overlay select
TGEventHandler *fEventHandler; //! event handler TGEventHandler *fEventHandler; //! event handler
skipping to change at line 160 skipping to change at line 163
Bool_t fIsPrinting; //! Bool_t fIsPrinting; //!
TString fPictureFileName; //! default file-name for SavePict ure() TString fPictureFileName; //! default file-name for SavePict ure()
Float_t fFader; //! fade the view (0 - no fade/def ault, 1 - full fade/no rendering done) Float_t fFader; //! fade the view (0 - no fade/def ault, 1 - full fade/no rendering done)
static TGLColorSet fgDefaultColorSet; //! a shared, defa ult color-set static TGLColorSet fgDefaultColorSet; //! a shared, defa ult color-set
static Bool_t fgUseDefaultColorSetForNewViewers; //! name says it a ll static Bool_t fgUseDefaultColorSetForNewViewers; //! name says it a ll
/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
// Methods // Methods
/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
virtual void SetupClipObject();
// Drawing - can tidy up/remove lots when TGLManager added // Drawing - can tidy up/remove lots when TGLManager added
void InitGL(); void InitGL();
void PreDraw(); void PreDraw();
void PostDraw(); void PostDraw();
void FadeView(Float_t alpha); void FadeView(Float_t alpha);
void MakeCurrent() const; void MakeCurrent() const;
void SwapBuffers() const; void SwapBuffers() const;
// Cameras // Cameras
void SetViewport(Int_t x, Int_t y, Int_t width, Int_t height); void SetViewport(Int_t x, Int_t y, Int_t width, Int_t height);
skipping to change at line 240 skipping to change at line 246
void UseDefaultColorSet(Bool_t x); void UseDefaultColorSet(Bool_t x);
Bool_t IsUsingDefaultColorSet() const; Bool_t IsUsingDefaultColorSet() const;
Bool_t IsColorSetDark() const; Bool_t IsColorSetDark() const;
void SetClearColor(Color_t col); void SetClearColor(Color_t col);
static TGLColorSet& GetDefaultColorSet(); static TGLColorSet& GetDefaultColorSet();
static void UseDefaultColorSetForNewViewers(Bool_t x); static void UseDefaultColorSetForNewViewers(Bool_t x);
static Bool_t IsUsingDefaultColorSetForNewViewers(); static Bool_t IsUsingDefaultColorSetForNewViewers();
const TGLRect& RefViewport() const { return fViewport; }
Int_t ViewportDiagonal() const { return fViewport.Diagonal(); }
Float_t GetPointScale() const { return fPointScale; } Float_t GetPointScale() const { return fPointScale; }
Float_t GetLineScale() const { return fLineScale; } Float_t GetLineScale() const { return fLineScale; }
void SetPointScale(Float_t s) { fPointScale = s; } void SetPointScale(Float_t s) { fPointScale = s; }
void SetLineScale (Float_t s) { fLineScale = s; } void SetLineScale (Float_t s) { fLineScale = s; }
Bool_t GetSmoothPoints() const { return fSmoothPoints; } Bool_t GetSmoothPoints() const { return fSmoothPoints; }
Bool_t GetSmoothLines() const { return fSmoothLines; } Bool_t GetSmoothLines() const { return fSmoothLines; }
void SetSmoothPoints(Bool_t s){ fSmoothPoints = s; } void SetSmoothPoints(Bool_t s){ fSmoothPoints = s; }
void SetSmoothLines(Bool_t s) { fSmoothLines = s; } void SetSmoothLines(Bool_t s) { fSmoothLines = s; }
TGLLightSet* GetLightSet() const { return fLightSet; } TGLLightSet* GetLightSet() const { return fLightSet; }
TGLClipSet * GetClipSet() const { return fClipSet; } TGLClipSet * GetClipSet() const { return fClipSet; }
Bool_t GetClipAutoUpdate() const { return fClipAutoUpdate; } Bool_t GetClipAutoUpdate() const { return fClipSet->GetAutoUpdate(); }
void SetClipAutoUpdate(Bool_t x) { fClipAutoUpdate = x; } void SetClipAutoUpdate(Bool_t x) { fClipSet->SetAutoUpdate(x); }
// External GUI component interface // External GUI component interface
TGLCamera & CurrentCamera() const { return *fCurrentCamera; } TGLCamera & CurrentCamera() const { return *fCurrentCamera; }
TGLCamera & RefCamera(ECameraType camera); TGLCamera & RefCamera(ECameraType camera);
void SetCurrentCamera(ECameraType camera); void SetCurrentCamera(ECameraType camera);
void SetOrthoCamera(ECameraType camera, Double_t zoom, Double_t dolly, void SetOrthoCamera(ECameraType camera, Double_t zoom, Double_t dolly,
Double_t center[3], Double_t hRotate, Double_t vRotate); Double_t center[3], Double_t hRotate, Double_t vRotate);
void SetPerspectiveCamera(ECameraType camera, Double_t fov, Double_t dol ly, void SetPerspectiveCamera(ECameraType camera, Double_t fov, Double_t dol ly,
Double_t center[3], Double_t hRotate, Double_t vRotate); Double_t center[3], Double_t hRotate, Double_t vRotate);
void GetGuideState(Int_t & axesType, Bool_t & axesDepthTest, Bool_t & re ferenceOn, Double_t* referencePos) const; void GetGuideState(Int_t & axesType, Bool_t & axesDepthTest, Bool_t & re ferenceOn, Double_t* referencePos) const;
skipping to change at line 341 skipping to change at line 350
// Update/camera-reset // Update/camera-reset
void UpdateScene(); void UpdateScene();
Bool_t GetIgnoreSizesOnUpdate() const { return fIgnoreSizesOnUpda te; } Bool_t GetIgnoreSizesOnUpdate() const { return fIgnoreSizesOnUpda te; }
void SetIgnoreSizesOnUpdate(Bool_t v) { fIgnoreSizesOnUpdate = v; } void SetIgnoreSizesOnUpdate(Bool_t v) { fIgnoreSizesOnUpdate = v; }
void ResetCurrentCamera(); void ResetCurrentCamera();
Bool_t GetResetCamerasOnUpdate() const { return fResetCamerasOnUpd ate; } Bool_t GetResetCamerasOnUpdate() const { return fResetCamerasOnUpd ate; }
void SetResetCamerasOnUpdate(Bool_t v) { fResetCamerasOnUpdate = v ; } void SetResetCamerasOnUpdate(Bool_t v) { fResetCamerasOnUpdate = v ; }
virtual void PostSceneBuildSetup(Bool_t resetCameras); virtual void PostSceneBuildSetup(Bool_t resetCameras);
virtual void Activated() { Emit("Activated()"); } // *SIGNAL*
virtual void MouseIdle(TGLPhysicalShape*,UInt_t,UInt_t); // *SIGNAL* virtual void MouseIdle(TGLPhysicalShape*,UInt_t,UInt_t); // *SIGNAL*
virtual void MouseOver(TGLPhysicalShape*); // *SIGNAL* virtual void MouseOver(TGLPhysicalShape*); // *SIGNAL*
virtual void MouseOver(TGLPhysicalShape*, UInt_t state); // *SIGNAL* virtual void MouseOver(TGLPhysicalShape*, UInt_t state); // *SIGNAL*
virtual void Activated() { Emit("Activated()"); } // *SIGNAL* virtual void MouseOver(TObject *obj, UInt_t state); // *SIGNAL*
virtual void ReMouseOver(TObject *obj, UInt_t state); // *SIGNAL*
virtual void UnMouseOver(TObject *obj, UInt_t state); // *SIGNAL*
virtual void Clicked(TObject *obj); //*SIGNAL* virtual void Clicked(TObject *obj); //*SIGNAL*
virtual void Clicked(TObject *obj, UInt_t button, UInt_t state); //*SIGN AL* virtual void Clicked(TObject *obj, UInt_t button, UInt_t state); //*SIGN AL*
virtual void ReClicked(TObject *obj, UInt_t button, UInt_t state); //*SI GNAL* virtual void ReClicked(TObject *obj, UInt_t button, UInt_t state); //*SI GNAL*
virtual void UnClicked(TObject *obj, UInt_t button, UInt_t state); //*SI GNAL* virtual void UnClicked(TObject *obj, UInt_t button, UInt_t state); //*SI GNAL*
virtual void DoubleClicked() { Emit("DoubleClicked()"); } // *SIGNAL* virtual void DoubleClicked() { Emit("DoubleClicked()"); } // *SIGNAL*
TGEventHandler *GetEventHandler() const { return fEventHandler; } TGEventHandler *GetEventHandler() const { return fEventHandler; }
virtual void SetEventHandler(TGEventHandler *handler); virtual void SetEventHandler(TGEventHandler *handler);
TGedEditor* GetGedEditor() const { return fGedEditor; } TGedEditor* GetGedEditor() const { return fGedEditor; }
 End of changes. 9 change blocks. 
6 lines changed or deleted 21 lines changed or added


 TGLViewerBase.h   TGLViewerBase.h 
// @(#)root/gl:$Id: TGLViewerBase.h 29676 2009-08-04 16:18:07Z matevz $ // @(#)root/gl:$Id: TGLViewerBase.h 32867 2010-04-01 17:07:30Z 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_TGLViewerBase #ifndef ROOT_TGLViewerBase
#define ROOT_TGLViewerBase #define ROOT_TGLViewerBase
skipping to change at line 27 skipping to change at line 27
#include "TGLOverlay.h" #include "TGLOverlay.h"
#include <list> #include <list>
#include <vector> #include <vector>
class TGLSceneBase; class TGLSceneBase;
class TGLSceneInfo; class TGLSceneInfo;
class TGLCamera; class TGLCamera;
class TGLClip; class TGLClip;
class TGLRnrCtx; class TGLRnrCtx;
class TGLLogicalShape;
class TGLSelectRecord; class TGLSelectRecord;
class TGLOvlSelectRecord; class TGLOvlSelectRecord;
class TGLOverlayElement; class TGLOverlayElement;
// Avoid TObject inheritance due to clash with TVirtualViewer3D. // Avoid TObject inheritance due to clash with TVirtualViewer3D.
class TGLViewerBase : public TGLLockable // : public TObject class TGLViewerBase : public TGLLockable // : public TObject
{ {
private: private:
TGLViewerBase(const TGLViewerBase&); // Not implemented TGLViewerBase(const TGLViewerBase&); // Not implemented
skipping to change at line 55 skipping to change at line 56
typedef std::vector<TGLOverlayElement*> OverlayElmVec_t; typedef std::vector<TGLOverlayElement*> OverlayElmVec_t;
typedef OverlayElmVec_t::iterator OverlayElmVec_i; typedef OverlayElmVec_t::iterator OverlayElmVec_i;
SceneInfoList_i FindScene(TGLSceneBase* scene); SceneInfoList_i FindScene(TGLSceneBase* scene);
typedef void (TGLSceneBase::* SubRender_foo) (TGLRnrCtx &); typedef void (TGLSceneBase::* SubRender_foo) (TGLRnrCtx &);
void SubRenderScenes(SubRender_foo render_foo); void SubRenderScenes(SubRender_foo render_foo);
virtual void SetupClipObject();
// Members // Members
TGLRnrCtx *fRnrCtx; TGLRnrCtx *fRnrCtx;
TGLCamera *fCamera; // Camera for rendering. TGLCamera *fCamera; // Camera for rendering.
TGLClip *fClip; // Viewer clipping-plane. TGLClip *fClip; // Viewer clipping-plane.
Short_t fLOD; // Viewer-lod for rendering. Short_t fLOD; // Viewer-lod for rendering.
Short_t fStyle; // Viewer-style for rendering. Short_t fStyle; // Viewer-style for rendering.
Float_t fWFLineW; // Optional override of scene wire-fram e line-width Float_t fWFLineW; // Optional override of scene wire-fram e line-width
Float_t fOLLineW; // Optional override of scene outline l ine-width Float_t fOLLineW; // Optional override of scene outline l ine-width
skipping to change at line 92 skipping to change at line 95
virtual const char* LockIdStr() const; virtual const char* LockIdStr() const;
TGLSceneInfo* AddScene(TGLSceneBase* scene); TGLSceneInfo* AddScene(TGLSceneBase* scene);
void RemoveScene(TGLSceneBase* scene); void RemoveScene(TGLSceneBase* scene);
void RemoveAllScenes(); void RemoveAllScenes();
void SceneDestructing(TGLSceneBase* scene); void SceneDestructing(TGLSceneBase* scene);
TGLSceneInfo* GetSceneInfo(TGLSceneBase* scene); TGLSceneInfo* GetSceneInfo(TGLSceneBase* scene);
TGLLogicalShape* FindLogicalInScenes(TObject* id);
virtual void AddOverlayElement(TGLOverlayElement* el); virtual void AddOverlayElement(TGLOverlayElement* el);
virtual void RemoveOverlayElement(TGLOverlayElement* el); virtual void RemoveOverlayElement(TGLOverlayElement* el);
virtual void DeleteOverlayAnnotations(); virtual void DeleteOverlayAnnotations();
virtual void DeleteOverlayElements(TGLOverlayElement::ERole r); virtual void DeleteOverlayElements(TGLOverlayElement::ERole r);
TGLClip* Clip() const { return fClip; } TGLClip* Clip() const { return fClip; }
void SetClip(TGLClip *p) { fClip = p; } void SetClip(TGLClip *p) { fClip = p; }
Short_t LOD() const { return fLOD; } Short_t LOD() const { return fLOD; }
void SetLOD(Short_t lod) { fLOD = lod; } void SetLOD(Short_t lod) { fLOD = lod; }
 End of changes. 4 change blocks. 
1 lines changed or deleted 6 lines changed or added


 TGShutter.h   TGShutter.h 
// @(#)root/gui:$Id: TGShutter.h 23115 2008-04-10 13:35:37Z rdm $ // @(#)root/gui:$Id: TGShutter.h 32706 2010-03-23 07:54:10Z bellenot $
// Author: Fons Rademakers 18/9/2000 // Author: Fons Rademakers 18/9/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 79 skipping to change at line 79
class TGShutter : public TGCompositeFrame { class TGShutter : public TGCompositeFrame {
protected: protected:
TTimer *fTimer; // Timer for animation TTimer *fTimer; // Timer for animation
TGShutterItem *fSelectedItem; // Item currently open TGShutterItem *fSelectedItem; // Item currently open
TGShutterItem *fClosingItem; // Item closing down TGShutterItem *fClosingItem; // Item closing down
TList *fTrash; // Items that need to be cleane d up TList *fTrash; // Items that need to be cleane d up
Int_t fHeightIncrement; // Height delta Int_t fHeightIncrement; // Height delta
Int_t fClosingHeight; // Closing items current height Int_t fClosingHeight; // Closing items current height
Int_t fClosingHadScrollbar; // Closing item had a scroll ba r Int_t fClosingHadScrollbar; // Closing item had a scroll ba r
UInt_t fDefWidth; // Default width
UInt_t fDefHeight; // Default height
private: private:
TGShutter(const TGShutter&); // not implemented TGShutter(const TGShutter&); // not implemented
TGShutter& operator=(const TGShutter&); // not implemented TGShutter& operator=(const TGShutter&); // not implemented
public: public:
TGShutter(const TGWindow *p = 0, UInt_t options = kSunkenFrame); TGShutter(const TGWindow *p = 0, UInt_t options = kSunkenFrame);
virtual ~TGShutter(); virtual ~TGShutter();
virtual void AddItem(TGShutterItem *item); virtual void AddItem(TGShutterItem *item);
skipping to change at line 102 skipping to change at line 104
virtual void RenamePage(const char *name); //*MENU* virtual void RenamePage(const char *name); //*MENU*
virtual Bool_t HandleTimer(TTimer *t); virtual Bool_t HandleTimer(TTimer *t);
virtual void Layout(); virtual void Layout();
virtual void SetLayoutManager(TGLayoutManager*) { } virtual void SetLayoutManager(TGLayoutManager*) { }
TGShutterItem *GetSelectedItem() const { return fSelectedItem; } TGShutterItem *GetSelectedItem() const { return fSelectedItem; }
TGShutterItem *GetItem(const char *name); TGShutterItem *GetItem(const char *name);
virtual void SetSelectedItem(TGShutterItem *item); virtual void SetSelectedItem(TGShutterItem *item);
virtual void SetSelectedItem(const char *name); virtual void SetSelectedItem(const char *name);
virtual void EnableItem(const char *name, Bool_t on = kTRUE); virtual void EnableItem(const char *name, Bool_t on = kTRUE);
virtual TGDimension GetDefaultSize() const;
virtual void SetDefaultSize(UInt_t w, UInt_t h);
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual Bool_t ProcessMessage(Long_t cmd, Long_t parm1, Long_t parm2); virtual Bool_t ProcessMessage(Long_t cmd, Long_t parm1, Long_t parm2);
virtual void Selected(TGShutterItem *item) { Emit(" Selected(TGShutter Item*)", item); } //*SIGNAL* virtual void Selected(TGShutterItem *item) { Emit(" Selected(TGShutter Item*)", item); } //*SIGNAL*
ClassDef(TGShutter,0) // Shutter widget ClassDef(TGShutter,0) // Shutter widget
}; };
#endif #endif
 End of changes. 3 change blocks. 
1 lines changed or deleted 6 lines changed or added


 TGTextEntry.h   TGTextEntry.h 
// @(#)root/gui:$Id: TGTextEntry.h 25233 2008-08-25 16:48:47Z bellenot $ // @(#)root/gui:$Id: TGTextEntry.h 32694 2010-03-22 09:08:25Z bellenot $
// Author: Fons Rademakers 08/01/98 // Author: Fons Rademakers 08/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 75 skipping to change at line 75
Atom_t fClipboard; // clipboard property Atom_t fClipboard; // clipboard property
TBlinkTimer *fCurBlink; // cursor blink timer TBlinkTimer *fCurBlink; // cursor blink timer
TGToolTip *fTip; // associated tooltip TGToolTip *fTip; // associated tooltip
Int_t fMaxLen; // maximum length of text Int_t fMaxLen; // maximum length of text
Bool_t fEdited; // kFALSE, if the line edit's cont ents have not been changed since the construction Bool_t fEdited; // kFALSE, if the line edit's cont ents have not been changed since the construction
Bool_t fFrameDrawn; // kTRUE draw itself inside a two- pixel frame, kFALSE draw without any frame Bool_t fFrameDrawn; // kTRUE draw itself inside a two- pixel frame, kFALSE draw without any frame
EEchoMode fEchoMode; // *OPTION={GetMethod="GetEchoMode ";SetMethod="SetEchoMode";Items=(kNormal="Normal",kNoEcho="No Echo",kPasswo rd="Password")}* EEchoMode fEchoMode; // *OPTION={GetMethod="GetEchoMode ";SetMethod="SetEchoMode";Items=(kNormal="Normal",kNoEcho="No Echo",kPasswo rd="Password")}*
EInsertMode fInsertMode; // *OPTION={GetMethod="GetInsertMo de";SetMethod="SetInsertMode";Items=(kInsert="Insert",kReplace="Replace")}* EInsertMode fInsertMode; // *OPTION={GetMethod="GetInsertMo de";SetMethod="SetInsertMode";Items=(kInsert="Insert",kReplace="Replace")}*
ETextJustification fAlignment; // *OPTION={GetMethod="GetAlignmen t";SetMethod="SetAlignment";Items=(kTextLeft="Left",kTextCenterX="Center",k TextRight="Right")}* ETextJustification fAlignment; // *OPTION={GetMethod="GetAlignmen t";SetMethod="SetAlignment";Items=(kTextLeft="Left",kTextCenterX="Center",k TextRight="Right")}*
Bool_t fHasOwnFont; // kTRUE - font defined locally, kFALSE - globally Bool_t fHasOwnFont; // kTRUE - font defined locally, kFALSE - globally
UInt_t fDefWidth; // default width
UInt_t fDefHeight; // default height
void CopyText() const; void CopyText() const;
virtual void DoRedraw(); virtual void DoRedraw();
Int_t GetCharacterIndex(Int_t xcoord); Int_t GetCharacterIndex(Int_t xcoord);
virtual void Init(); virtual void Init();
virtual Bool_t IsCursorOutOfFrame(); virtual Bool_t IsCursorOutOfFrame();
void Paste(); void Paste();
virtual void PastePrimary(Window_t wid, Atom_t property, Bool_t del); virtual void PastePrimary(Window_t wid, Atom_t property, Bool_t del);
virtual void ScrollByChar(); virtual void ScrollByChar();
virtual void UpdateOffset(); virtual void UpdateOffset();
skipping to change at line 114 skipping to change at line 116
GContext_t norm = GetDefaultGC()(), GContext_t norm = GetDefaultGC()(),
FontStruct_t font = GetDefaultFontStruct(), FontStruct_t font = GetDefaultFontStruct(),
UInt_t option = kSunkenFrame | kDoubleBorder, UInt_t option = kSunkenFrame | kDoubleBorder,
Pixel_t back = GetWhitePixel()); Pixel_t back = GetWhitePixel());
TGTextEntry(const TGWindow *parent = 0, const char *text = 0, Int_t id = -1); TGTextEntry(const TGWindow *parent = 0, const char *text = 0, Int_t id = -1);
TGTextEntry(const TString &contents, const TGWindow *parent, Int_t id = -1); TGTextEntry(const TString &contents, const TGWindow *parent, Int_t id = -1);
virtual ~TGTextEntry(); virtual ~TGTextEntry();
virtual TGDimension GetDefaultSize() const;
virtual void SetDefaultSize(UInt_t w, UInt_t h);
virtual void AppendText(const char *text); virtual void AppendText(const char *text);
void Backspace(); void Backspace();
void Clear(Option_t *option=""); void Clear(Option_t *option="");
void CursorLeft(Bool_t mark = kFALSE , Int_t steps = 1); void CursorLeft(Bool_t mark = kFALSE , Int_t steps = 1);
void CursorRight(Bool_t mark = kFALSE , Int_t steps = 1) ; void CursorRight(Bool_t mark = kFALSE , Int_t steps = 1) ;
void CursorWordForward(Bool_t mark = kFALSE); void CursorWordForward(Bool_t mark = kFALSE);
void CursorWordBackward(Bool_t mark = kFALSE); void CursorWordBackward(Bool_t mark = kFALSE);
void Cut(); void Cut();
void Del(); void Del();
void Deselect(); void Deselect();
 End of changes. 3 change blocks. 
1 lines changed or deleted 6 lines changed or added


 TGX11.h   TGX11.h 
// @(#)root/x11:$Id: TGX11.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/x11:$Id: TGX11.h 32427 2010-03-01 18:25:58Z rdm $
// Author: Rene Brun, Olivier Couet, Fons Rademakers 28/11/94 // Author: Rene Brun, Olivier Couet, Fons Rademakers 28/11/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 35 skipping to change at line 35
#include "TVirtualX.h" #include "TVirtualX.h"
#endif #endif
#if !defined(__CINT__) #if !defined(__CINT__)
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include <X11/Xatom.h> #include <X11/Xatom.h>
#include <X11/cursorfont.h> #include <X11/cursorfont.h>
#include <X11/keysym.h> #include <X11/keysym.h>
#include <X11/xpm.h>
#include "Xpm.h"
#else #else
typedef unsigned long XID; typedef unsigned long XID;
typedef XID Drawable; typedef XID Drawable;
typedef XID Cursor; typedef XID Cursor;
typedef XID Colormap; typedef XID Colormap;
typedef XID Window; typedef XID Window;
struct GC; struct GC;
skipping to change at line 237 skipping to change at line 236
virtual Int_t SetTextFont(char *fontname, ETextSetMode mode); virtual Int_t SetTextFont(char *fontname, ETextSetMode mode);
virtual void SetTextFont(Font_t fontnumber); virtual void SetTextFont(Font_t fontnumber);
void SetTextMagnitude(Float_t mgn=1) { fTextMagnitude = mgn;} void SetTextMagnitude(Float_t mgn=1) { fTextMagnitude = mgn;}
virtual void SetTextSize(Float_t textsize); virtual void SetTextSize(Float_t textsize);
void Sync(Int_t mode); void Sync(Int_t mode);
void UpdateWindow(Int_t mode); void UpdateWindow(Int_t mode);
void Warp(Int_t ix, Int_t iy, Window_t id = 0); void Warp(Int_t ix, Int_t iy, Window_t id = 0);
Int_t WriteGIF(char *name); Int_t WriteGIF(char *name);
void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxname); void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxname);
Window_t GetCurrentWindow() const; Window_t GetCurrentWindow() const;
Int_t SupportsExtension(const char *ext) const;
//---- Methods used for GUI ----- //---- Methods used for GUI -----
void GetWindowAttributes(Window_t id, WindowAttributes_t &attr); void GetWindowAttributes(Window_t id, WindowAttributes_t &attr);
void MapWindow(Window_t id); void MapWindow(Window_t id);
void MapSubwindows(Window_t id); void MapSubwindows(Window_t id);
void MapRaised(Window_t id); void MapRaised(Window_t id);
void UnmapWindow(Window_t id); void UnmapWindow(Window_t id);
void DestroyWindow(Window_t id); void DestroyWindow(Window_t id);
void DestroySubwindows(Window_t id); void DestroySubwindows(Window_t id);
void RaiseWindow(Window_t id); void RaiseWindow(Window_t id);
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TGenericClassInfo.h   TGenericClassInfo.h 
// @(#)root/base:$Id: TGenericClassInfo.h 30815 2009-10-20 13:49:22Z rdm $ // @(#)root/base:$Id: TGenericClassInfo.h 32337 2010-02-12 16:09:35Z pcanal $
// Author: Philippe Canal 23/2/02 // Author: Philippe Canal 23/2/02
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2002, Rene Brun, Fons Rademakers and al. * * Copyright (C) 1995-2002, Rene Brun, Fons Rademakers and al. *
* 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 49 skipping to change at line 49
const TInitBehavior *fAction; const TInitBehavior *fAction;
TClass *fClass; TClass *fClass;
const char *fClassName; const char *fClassName;
const char *fDeclFileName; const char *fDeclFileName;
Int_t fDeclFileLine; Int_t fDeclFileLine;
VoidFuncPtr_t fDictionary; VoidFuncPtr_t fDictionary;
const type_info &fInfo; const type_info &fInfo;
const char *fImplFileName; const char *fImplFileName;
Int_t fImplFileLine; Int_t fImplFileLine;
TVirtualIsAProxy *fIsA; TVirtualIsAProxy *fIsA;
void *fShowMembers; ShowMembersFunc_t fShowMembers;
Int_t fVersion; Int_t fVersion;
NewFunc_t fNew; NewFunc_t fNew;
NewArrFunc_t fNewArray; NewArrFunc_t fNewArray;
DelFunc_t fDelete; DelFunc_t fDelete;
DelArrFunc_t fDeleteArray; DelArrFunc_t fDeleteArray;
DesFunc_t fDestructor; DesFunc_t fDestructor;
DirAutoAdd_t fDirAutoAdd; DirAutoAdd_t fDirAutoAdd;
TClassStreamer *fStreamer; TClassStreamer *fStreamer;
TVirtualCollectionProxy *fCollectionProxy; TVirtualCollectionProxy *fCollectionProxy;
Int_t fSizeof; Int_t fSizeof;
TCollectionProxyInfo *fCollectionProxyInfo; TCollectionProxyInfo *fCollectionProxyInfo;
TCollectionProxyInfo *fCollectionStreamerInfo; TCollectionProxyInfo *fCollectionStreamerInfo;
std::vector<TSchemaHelper> fReadRules; std::vector<TSchemaHelper> fReadRules;
std::vector<TSchemaHelper> fReadRawRules; std::vector<TSchemaHelper> fReadRawRules;
public: public:
TGenericClassInfo(const char *fullClassname, TGenericClassInfo(const char *fullClassname,
const char *declFileName, Int_t declFileLine, const char *declFileName, Int_t declFileLine,
const type_info &info, const TInitBehavior *action, const type_info &info, const TInitBehavior *action,
void *showmembers, VoidFuncPtr_t dictionary, ShowMembersFunc_t showmembers, VoidFuncPtr_t diction ary,
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof ); TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof );
TGenericClassInfo(const char *fullClassname, Int_t version, TGenericClassInfo(const char *fullClassname, Int_t version,
const char *declFileName, Int_t declFileLine, const char *declFileName, Int_t declFileLine,
const type_info &info, const TInitBehavior *action, const type_info &info, const TInitBehavior *action,
void *showmembers, VoidFuncPtr_t dictionary, ShowMembersFunc_t showmembers, VoidFuncPtr_t dictio nary,
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof ); TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof );
TGenericClassInfo(const char *fullClassname, Int_t version, TGenericClassInfo(const char *fullClassname, Int_t version,
const char *declFileName, Int_t declFileLine, const char *declFileName, Int_t declFileLine,
const type_info &info, const TInitBehavior *action, const type_info &info, const TInitBehavior *action,
VoidFuncPtr_t dictionary, VoidFuncPtr_t dictionary,
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof ); TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof );
TGenericClassInfo(const char *fullClassname, Int_t version, TGenericClassInfo(const char *fullClassname, Int_t version,
const char *declFileName, Int_t declFileLine, const char *declFileName, Int_t declFileLine,
skipping to change at line 111 skipping to change at line 111
DesFunc_t GetDestructor() const; DesFunc_t GetDestructor() const;
DirAutoAdd_t GetDirectoryAutoAdd() const; DirAutoAdd_t GetDirectoryAutoAdd() const;
const char *GetImplFileName(); const char *GetImplFileName();
Int_t GetImplFileLine(); Int_t GetImplFileLine();
const type_info &GetInfo() const; const type_info &GetInfo() const;
TVirtualIsAProxy *GetIsA() const; TVirtualIsAProxy *GetIsA() const;
NewFunc_t GetNew() const; NewFunc_t GetNew() const;
NewArrFunc_t GetNewArray() const; NewArrFunc_t GetNewArray() const;
const std::vector<TSchemaHelper> &GetReadRawRules() const; const std::vector<TSchemaHelper> &GetReadRawRules() const;
const std::vector<TSchemaHelper> &GetReadRules() const; const std::vector<TSchemaHelper> &GetReadRules() const;
void *GetShowMembers() const; ShowMembersFunc_t GetShowMembers() const;
Int_t GetVersion() const; Int_t GetVersion() const;
TClass *IsA(const void *obj); TClass *IsA(const void *obj);
Short_t AdoptStreamer(TClassStreamer*); Short_t AdoptStreamer(TClassStreamer*);
Short_t AdoptCollectionProxy(TVirtualCollec tionProxy*); Short_t AdoptCollectionProxy(TVirtualCollec tionProxy*);
void AdoptCollectionProxyInfo(TCollectio nProxyInfo*); void AdoptCollectionProxyInfo(TCollectio nProxyInfo*);
void AdoptCollectionStreamerInfo(TCollec tionProxyInfo*); void AdoptCollectionStreamerInfo(TCollec tionProxyInfo*);
Int_t SetDeclFile(const char *file, Int_t line); Int_t SetDeclFile(const char *file, Int_t line);
void SetDelete(DelFunc_t deleteFunc); void SetDelete(DelFunc_t deleteFunc);
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added


 TGeoBoolNode.h   TGeoBoolNode.h 
// @(#):$Id: TGeoBoolNode.h 25878 2008-10-18 19:12:08Z rdm $ // @(#):$Id: TGeoBoolNode.h 32690 2010-03-21 08:47:56Z brun $
// Author: Andrei Gheata 30/05/02 // Author: Andrei Gheata 30/05/02
/************************************************************************* /*************************************************************************
* 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 51 skipping to change at line 51
private: private:
TGeoBoolNode(const TGeoBoolNode&); // Not implemented TGeoBoolNode(const TGeoBoolNode&); // Not implemented
TGeoBoolNode& operator=(const TGeoBoolNode&); // Not implemented TGeoBoolNode& operator=(const TGeoBoolNode&); // Not implemented
protected: protected:
Int_t fSelected; // ! selected branch Int_t fSelected; // ! selected branch
TGeoShape *fLeft; // shape on the left branch TGeoShape *fLeft; // shape on the left branch
TGeoShape *fRight; // shape on the right branch TGeoShape *fRight; // shape on the right branch
TGeoMatrix *fLeftMat; // transformation that applies to the left branch TGeoMatrix *fLeftMat; // transformation that applies to the left branch
TGeoMatrix *fRightMat; // transformation that applies to the right branch TGeoMatrix *fRightMat; // transformation that applies to the right branch
Int_t fNpoints; //! number of points on the mesh
Double_t *fPoints; //! array of mesh points
// methods // methods
Bool_t MakeBranch(const char *expr, Bool_t left); Bool_t MakeBranch(const char *expr, Bool_t left);
public: public:
// constructors // constructors
TGeoBoolNode(); TGeoBoolNode();
TGeoBoolNode(const char *expr1, const char *expr2); TGeoBoolNode(const char *expr1, const char *expr2);
TGeoBoolNode(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, TGeo Matrix *rmat=0); TGeoBoolNode(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, TGeo Matrix *rmat=0);
// destructor // destructor
virtual ~TGeoBoolNode(); virtual ~TGeoBoolNode();
// methods // methods
virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin) = 0; virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin) = 0;
virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm) = 0; virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm) = 0;
virtual Bool_t Contains(Double_t *point) const = 0; virtual Bool_t Contains(Double_t *point) const = 0;
virtual Int_t DistanceToPrimitive(Int_t px, Int_t py) = 0; virtual Int_t DistanceToPrimitive(Int_t px, Int_t py) = 0;
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1, virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1,
Double_t step=0, Double_t *safe=0) const = 0 ; Double_t step=0, Double_t *safe=0) const = 0 ;
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1, virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1,
Double_t step=0, Double_t *safe=0) const = 0 ; Double_t step=0, Double_t *safe=0) const = 0 ;
virtual EGeoBoolType GetBooleanOperator() const = 0; virtual EGeoBoolType GetBooleanOperator() const = 0;
virtual Int_t GetNpoints() const = 0; virtual Int_t GetNpoints() = 0;
TGeoMatrix *GetLeftMatrix() const {return fLeftMat;} TGeoMatrix *GetLeftMatrix() const {return fLeftMat;}
TGeoMatrix *GetRightMatrix() const {return fRightMat;} TGeoMatrix *GetRightMatrix() const {return fRightMat;}
TGeoShape *GetLeftShape() const {return fLeft;} TGeoShape *GetLeftShape() const {return fLeft;}
TGeoShape *GetRightShape() const {return fRight;} TGeoShape *GetRightShape() const {return fRight;}
virtual void Paint(Option_t *option); virtual void Paint(Option_t *option);
void RegisterMatrices(); void RegisterMatrices();
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const = 0; virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const = 0;
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void SetPoints(Double_t *points) const = 0; virtual void SetPoints(Double_t *points) const;
virtual void SetPoints(Float_t *points) const = 0; virtual void SetPoints(Float_t *points) const;
void SetSelected(Int_t sel) {fSelected = sel;} void SetSelected(Int_t sel) {fSelected = sel;}
virtual void Sizeof3D() const; virtual void Sizeof3D() const;
ClassDef(TGeoBoolNode, 1) // a boolean node ClassDef(TGeoBoolNode, 1) // a boolean node
}; };
/////////////////////////////////////////////////////////////////////////// /// /////////////////////////////////////////////////////////////////////////// ///
// // // //
// TGeoUnion - Boolean node representing a union between two components. // // TGeoUnion - Boolean node representing a union between two components. //
// // // //
skipping to change at line 114 skipping to change at line 116
// methods // methods
virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin);
virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm); virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm);
virtual Bool_t Contains(Double_t *point) const; virtual Bool_t Contains(Double_t *point) const;
virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); virtual Int_t DistanceToPrimitive(Int_t px, Int_t py);
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1, virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1,
Double_t step=0, Double_t *safe=0) const; Double_t step=0, Double_t *safe=0) const;
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1, virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1,
Double_t step=0, Double_t *safe=0) const; Double_t step=0, Double_t *safe=0) const;
virtual EGeoBoolType GetBooleanOperator() const {return kGeoUnion;} virtual EGeoBoolType GetBooleanOperator() const {return kGeoUnion;}
virtual Int_t GetNpoints() const; virtual Int_t GetNpoints();
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const;
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void SetPoints(Double_t *points) const;
virtual void SetPoints(Float_t *points) const;
virtual void Sizeof3D() const; virtual void Sizeof3D() const;
//CS specific //CS specific
virtual void Paint(Option_t *option); virtual void Paint(Option_t *option);
ClassDef(TGeoUnion, 1) // union node ClassDef(TGeoUnion, 1) // union node
}; };
/////////////////////////////////////////////////////////////////////////// /// /////////////////////////////////////////////////////////////////////////// ///
// // // //
skipping to change at line 154 skipping to change at line 154
// methods // methods
virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin);
virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm); virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm);
virtual Bool_t Contains(Double_t *point) const; virtual Bool_t Contains(Double_t *point) const;
virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); virtual Int_t DistanceToPrimitive(Int_t px, Int_t py);
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1, virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1,
Double_t step=0, Double_t *safe=0) const; Double_t step=0, Double_t *safe=0) const;
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1, virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1,
Double_t step=0, Double_t *safe=0) const; Double_t step=0, Double_t *safe=0) const;
virtual EGeoBoolType GetBooleanOperator() const {return kGeoIntersection ;} virtual EGeoBoolType GetBooleanOperator() const {return kGeoIntersection ;}
virtual Int_t GetNpoints() const; virtual Int_t GetNpoints();
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const;
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void SetPoints(Double_t *points) const;
virtual void SetPoints(Float_t *points) const;
virtual void Sizeof3D() const; virtual void Sizeof3D() const;
//CS specific //CS specific
virtual void Paint(Option_t *option); virtual void Paint(Option_t *option);
ClassDef(TGeoIntersection, 1) // intersection node ClassDef(TGeoIntersection, 1) // intersection node
}; };
/////////////////////////////////////////////////////////////////////////// /// /////////////////////////////////////////////////////////////////////////// ///
// // // //
skipping to change at line 193 skipping to change at line 191
// methods // methods
virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin);
virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm); virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm);
virtual Bool_t Contains(Double_t *point) const; virtual Bool_t Contains(Double_t *point) const;
virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); virtual Int_t DistanceToPrimitive(Int_t px, Int_t py);
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1, virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1,
Double_t step=0, Double_t *safe=0) const; Double_t step=0, Double_t *safe=0) const;
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1, virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1,
Double_t step=0, Double_t *safe=0) const; Double_t step=0, Double_t *safe=0) const;
virtual EGeoBoolType GetBooleanOperator() const {return kGeoSubtraction; } virtual EGeoBoolType GetBooleanOperator() const {return kGeoSubtraction; }
virtual Int_t GetNpoints() const; virtual Int_t GetNpoints();
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const;
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void SetPoints(Double_t *points) const;
virtual void SetPoints(Float_t *points) const;
virtual void Sizeof3D() const; virtual void Sizeof3D() const;
//CS specific //CS specific
virtual void Paint(Option_t *option); virtual void Paint(Option_t *option);
ClassDef(TGeoSubtraction, 1) // subtraction node ClassDef(TGeoSubtraction, 1) // subtraction node
}; };
#endif #endif
 End of changes. 10 change blocks. 
13 lines changed or deleted 9 lines changed or added


 TGeoCompositeShape.h   TGeoCompositeShape.h 
// @(#)root/geom:$Id: TGeoCompositeShape.h 24879 2008-07-18 08:04:40Z brun $ // @(#)root/geom:$Id: TGeoCompositeShape.h 32690 2010-03-21 08:47:56Z brun $
// Author: Andrei Gheata 31/01/02 // Author: Andrei Gheata 31/01/02
/************************************************************************* /*************************************************************************
* 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 54 skipping to change at line 54
TGeoCompositeShape(const char *name, const char *expression); TGeoCompositeShape(const char *name, const char *expression);
TGeoCompositeShape(const char *expression); TGeoCompositeShape(const char *expression);
TGeoCompositeShape(const char *name, TGeoBoolNode *node); TGeoCompositeShape(const char *name, TGeoBoolNode *node);
// destructor // destructor
virtual ~TGeoCompositeShape(); virtual ~TGeoCompositeShape();
// methods // methods
virtual Double_t Capacity() const; virtual Double_t Capacity() const;
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub le_t *norm); virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub le_t *norm);
virtual Bool_t Contains(Double_t *point) const; virtual Bool_t Contains(Double_t *point) const;
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1,
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; Double_t step=TGeoShape::Big(), Double_t *safe=0) const;
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In t_t iact=1, virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In t_t iact=1,
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; Double_t step=TGeoShape::Big(), Double_t *safe=0) const;
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv,
Double_t start, Double_t step); Double_t start, Double_t step);
TGeoBoolNode *GetBoolNode() const {return fNode;} TGeoBoolNode *GetBoolNode() const {return fNode;}
virtual void GetBoundingCylinder(Double_t * /*param*/) const {; } virtual void GetBoundingCylinder(Double_t * /*param*/) const {; }
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;}
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const;
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TGeoElement.h   TGeoElement.h 
// @(#)root/geom:$Id: TGeoElement.h 21425 2007-12-17 15:59:27Z brun $ // @(#)root/geom:$Id: TGeoElement.h 32677 2010-03-18 15:27:12Z brun $
// Author: Andrei Gheata 17/06/04 // Author: Andrei Gheata 17/06/04
// Added support for radionuclides: Mihaela Gheata 24/08/2006 // Added support for radionuclides: Mihaela Gheata 24/08/2006
/************************************************************************* /*************************************************************************
* 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 "TAttMarker.h" #include "TAttMarker.h"
#endif #endif
#ifndef ROOT_TObjArray #ifndef ROOT_TObjArray
#include "TObjArray.h" #include "TObjArray.h"
#endif #endif
#include <map> #include <map>
class TGeoElementTable; class TGeoElementTable;
class TGeoIsotope;
/////////////////////////////////////////////////////////////////////////// / /////////////////////////////////////////////////////////////////////////// /
// / / // / /
// TGeoElement - a chemical element / / // TGeoElement - a chemical element / /
// / / // / /
/////////////////////////////////////////////////////////////////////////// / /////////////////////////////////////////////////////////////////////////// /
class TGeoElement : public TNamed class TGeoElement : public TNamed
{ {
protected: protected:
enum EGeoElement { enum EGeoElement {
kElemUsed = BIT(17), kElemUsed = BIT(17),
kElemDefined = BIT(18), kElemDefined = BIT(18),
kElementChecked = BIT(19) kElementChecked = BIT(19)
}; };
Int_t fZ; // Z of material Int_t fZ; // Z of element
Double_t fA; // A of material Int_t fN; // Number of nucleons
Int_t fNisotopes; // Number of isotopes for the elem
ent
Double_t fA; // A of element
TObjArray *fIsotopes; // List of isotopes
Double_t *fAbundances; //[fNisotopes] Array of relative i
sotope abundances
private:
TGeoElement(const TGeoElement &other);
TGeoElement &operator=(const TGeoElement &other);
public: public:
// constructors // constructors
TGeoElement(); TGeoElement();
TGeoElement(const char *name, const char *title, Int_t z, Double_t a); TGeoElement(const char *name, const char *title, Int_t z, Double_t a);
TGeoElement(const char *name, const char *title, Int_t nisotopes);
TGeoElement(const char *name, const char *title, Int_t z, Int_t n, Doubl
e_t a);
// destructor // destructor
virtual ~TGeoElement() {;} virtual ~TGeoElement() {;}
// methods // methods
virtual Int_t ENDFCode() const { return 0;} virtual Int_t ENDFCode() const { return 0;}
Int_t Z() const {return fZ;} Int_t Z() const {return fZ;}
Int_t N() const {return fN;}
Double_t A() const {return fA;} Double_t A() const {return fA;}
void AddIsotope(TGeoIsotope *isotope, Double_t relat
iveAbundance);
Int_t GetNisotopes() const {return fNisotopes;}
TGeoIsotope *GetIsotope(Int_t i) const;
Double_t GetRelativeAbundance(Int_t i) const;
Bool_t HasIsotopes() const {return (fNisotopes==0)?kFA
LSE:kTRUE;}
Bool_t IsDefined() const {return TObject::TestBit(kEle mDefined);} Bool_t IsDefined() const {return TObject::TestBit(kEle mDefined);}
virtual Bool_t IsRadioNuclide() const {return kFALSE;} virtual Bool_t IsRadioNuclide() const {return kFALSE;}
Bool_t IsUsed() const {return TObject::TestBit(kElemUs ed);} Bool_t IsUsed() const {return TObject::TestBit(kElemUs ed);}
virtual void Print(Option_t *option = "") const;
void SetDefined(Bool_t flag=kTRUE) {TObject::SetBit( kElemDefined,flag);} void SetDefined(Bool_t flag=kTRUE) {TObject::SetBit( kElemDefined,flag);}
void SetUsed(Bool_t flag=kTRUE) {TObject::SetBit(kEl emUsed,flag);} void SetUsed(Bool_t flag=kTRUE) {TObject::SetBit(kEl emUsed,flag);}
TGeoElementTable *GetElementTable() const; static TGeoElementTable *GetElementTable();
ClassDef(TGeoElement, 2) // base element class
};
///////////////////////////////////////////////////////////////////////////
/
// /
/
// TGeoIsotope - a isotope defined by the atomic number, number of /
/
// nucleons and atomic weight (g/mole) /
/
// /
/
///////////////////////////////////////////////////////////////////////////
/
ClassDef(TGeoElement, 1) // base element class class TGeoIsotope : public TNamed
{
protected:
Int_t fZ; // atomic number
Int_t fN; // number of nucleons
Double_t fA; // atomic mass (g/mole)
public:
TGeoIsotope();
TGeoIsotope(const char *name, Int_t z, Int_t n, Double_t a);
virtual ~TGeoIsotope() {}
Int_t GetZ() const {return fZ;}
Int_t GetN() const {return fN;}
Double_t GetA() const {return fA;}
static TGeoIsotope *FindIsotope(const char *name);
virtual void Print(Option_t *option = "") const;
ClassDef(TGeoIsotope, 1) // Isotope class defined by Z,N,A
}; };
/////////////////////////////////////////////////////////////////////////// / /////////////////////////////////////////////////////////////////////////// /
// / / // / /
// TGeoElementRN - a radionuclide. / / // TGeoElementRN - a radionuclide. / /
// / / // / /
/////////////////////////////////////////////////////////////////////////// / /////////////////////////////////////////////////////////////////////////// /
class TGeoDecayChannel; class TGeoDecayChannel;
class TGeoBatemanSol; class TGeoBatemanSol;
skipping to change at line 107 skipping to change at line 153
Double_t fTG_F; // Ingestion toxicity Double_t fTG_F; // Ingestion toxicity
Double_t fTH_S; // Hynalation toxicity Double_t fTH_S; // Hynalation toxicity
Double_t fTG_S; // Ingestion toxicity Double_t fTG_S; // Ingestion toxicity
Int_t fStatus; // Status code Int_t fStatus; // Status code
TGeoBatemanSol *fRatio; // Time evolution of proportion by n umber TGeoBatemanSol *fRatio; // Time evolution of proportion by n umber
TObjArray *fDecays; // List of decay modes TObjArray *fDecays; // List of decay modes
void MakeName(Int_t a, Int_t z, Int_t iso); void MakeName(Int_t a, Int_t z, Int_t iso);
private:
TGeoElementRN(const TGeoElementRN& elem); TGeoElementRN(const TGeoElementRN& elem);
TGeoElementRN& operator=(const TGeoElementRN& elem); TGeoElementRN& operator=(const TGeoElementRN& elem);
public: public:
TGeoElementRN(); TGeoElementRN();
TGeoElementRN(Int_t A, Int_t Z, Int_t iso, Double_t level, TGeoElementRN(Int_t A, Int_t Z, Int_t iso, Double_t level,
Double_t deltaM, Double_t halfLife, const char* JP, Double_t deltaM, Double_t halfLife, const char* JP,
Double_t natAbun, Double_t th_f, Double_t tg_f, Double_t th_s, Double_t natAbun, Double_t th_f, Double_t tg_f, Double_t th_s,
Double_t tg_s, Int_t status); Double_t tg_s, Int_t status);
virtual ~TGeoElementRN(); virtual ~TGeoElementRN();
void AddDecay(Int_t decay, Int_t diso, Double_t bran chingRatio, Double_t qValue); void AddDecay(Int_t decay, Int_t diso, Double_t bran chingRatio, Double_t qValue);
void AddDecay(TGeoDecayChannel *dc); void AddDecay(TGeoDecayChannel *dc);
skipping to change at line 320 skipping to change at line 368
// TGeoElementTable - table of elements / / // TGeoElementTable - table of elements / /
// / / // / /
/////////////////////////////////////////////////////////////////////////// / /////////////////////////////////////////////////////////////////////////// /
class TGeoElementTable : public TObject class TGeoElementTable : public TObject
{ {
private: private:
// data members // data members
Int_t fNelements; // number of elements Int_t fNelements; // number of elements
Int_t fNelementsRN; // number of RN elements Int_t fNelementsRN; // number of RN elements
Int_t fNisotopes; // number of isotopes
TObjArray *fList; // list of elements TObjArray *fList; // list of elements
TObjArray *fListRN; // list of RN elements TObjArray *fListRN; // list of RN elements
TObjArray *fIsotopes; // list of user-defined isotopes
// Map of radionuclides // Map of radionuclides
typedef std::map<Int_t, TGeoElementRN *> ElementRNMap_t; typedef std::map<Int_t, TGeoElementRN *> ElementRNMap_t;
typedef ElementRNMap_t::iterator ElementRNMapIt_t; typedef ElementRNMap_t::iterator ElementRNMapIt_t;
ElementRNMap_t fElementsRN; //! map of RN elements with ENDF k ey ElementRNMap_t fElementsRN; //! map of RN elements with ENDF k ey
protected: protected:
TGeoElementTable(const TGeoElementTable&); TGeoElementTable(const TGeoElementTable&);
TGeoElementTable& operator=(const TGeoElementTable&); TGeoElementTable& operator=(const TGeoElementTable&);
public: public:
skipping to change at line 344 skipping to change at line 394
TGeoElementTable(Int_t nelements); TGeoElementTable(Int_t nelements);
// destructor // destructor
virtual ~TGeoElementTable(); virtual ~TGeoElementTable();
// methods // methods
enum EGeoETStatus { enum EGeoETStatus {
kETDefaultElements = BIT(14), kETDefaultElements = BIT(14),
kETRNElements = BIT(15) kETRNElements = BIT(15)
}; };
void AddElement(const char *name, const char *title, Int_t z, Double_t a); void AddElement(const char *name, const char *title, Int_t z, Double_t a);
void AddElement(const char *name, const char *title, Int_t z, Int_t n, Double_t a);
void AddElementRN(TGeoElementRN *elem); void AddElementRN(TGeoElementRN *elem);
void AddIsotope(TGeoIsotope *isotope);
void BuildDefaultElements(); void BuildDefaultElements();
void ImportElementsRN(); void ImportElementsRN();
Bool_t CheckTable() const; Bool_t CheckTable() const;
TGeoElement *FindElement(const char *name); TGeoElement *FindElement(const char *name) const;
TGeoIsotope *FindIsotope(const char *name) const;
TGeoElement *GetElement(Int_t z) {return (TGeoElement*)fList ->At(z);} TGeoElement *GetElement(Int_t z) {return (TGeoElement*)fList ->At(z);}
TGeoElementRN *GetElementRN(Int_t ENDFcode) const; TGeoElementRN *GetElementRN(Int_t ENDFcode) const;
TGeoElementRN *GetElementRN(Int_t a, Int_t z, Int_t iso=0) con st; TGeoElementRN *GetElementRN(Int_t a, Int_t z, Int_t iso=0) con st;
TObjArray *GetElementsRN() const {return fListRN;} TObjArray *GetElementsRN() const {return fListRN;}
Bool_t HasDefaultElements() const {return TObject::Tes tBit(kETDefaultElements);} Bool_t HasDefaultElements() const {return TObject::Tes tBit(kETDefaultElements);}
Bool_t HasRNElements() const {return TObject::TestBit( kETRNElements);} Bool_t HasRNElements() const {return TObject::TestBit( kETRNElements);}
Int_t GetNelements() const {return fNelements;} Int_t GetNelements() const {return fNelements;}
Int_t GetNelementsRN() const {return fNelementsRN;} Int_t GetNelementsRN() const {return fNelementsRN;}
void ExportElementsRN(const char *filename=""); void ExportElementsRN(const char *filename="");
ClassDef(TGeoElementTable,3) // table of elements ClassDef(TGeoElementTable,4) // table of elements
}; };
#endif #endif
 End of changes. 17 change blocks. 
7 lines changed or deleted 71 lines changed or added


 TGeoManager.h   TGeoManager.h 
// @(#)root/geom:$Id: TGeoManager.h 27749 2009-03-10 15:23:52Z brun $ // @(#)root/geom:$Id: TGeoManager.h 33212 2010-04-26 12:19:20Z agheata $
// 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 362 skipping to change at line 362
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;}
TVirtualGeoTrack *GetCurrentTrack() {return fCurrentTrack;} TVirtualGeoTrack *GetCurrentTrack() {return fCurrentTrack;}
TVirtualGeoTrack *GetLastTrack() {return (TVirtualGeoTrack*)((fNtra cks>0)?fTracks->At(fNtracks-1):NULL);} TVirtualGeoTrack *GetLastTrack() {return (TVirtualGeoTrack*)((fNtra cks>0)?fTracks->At(fNtracks-1):NULL);}
const Double_t *GetLastPoint() const {return fCurrentNavigator->G etLastPoint();} const Double_t *GetLastPoint() const {return fCurrentNavigator->G etLastPoint();}
TVirtualGeoTrack *GetTrack(Int_t index) {return (index<fNtr acks)?(TVirtualGeoTrack*)fTracks->At(index):0;} TVirtualGeoTrack *GetTrack(Int_t index) {return (index<fNtr acks)?(TVirtualGeoTrack*)fTracks->At(index):0;}
Int_t GetTrackIndex(Int_t id) const; Int_t GetTrackIndex(Int_t id) const;
TVirtualGeoTrack *GetTrackOfId(Int_t id) const; TVirtualGeoTrack *GetTrackOfId(Int_t id) const;
TVirtualGeoTrack *FindTrackWithId(Int_t id) const;
TVirtualGeoTrack *GetParentTrackOfId(Int_t id) const; TVirtualGeoTrack *GetParentTrackOfId(Int_t id) const;
Int_t GetVirtualLevel(); Int_t GetVirtualLevel();
Bool_t GotoSafeLevel(); Bool_t GotoSafeLevel();
Int_t GetSafeLevel() const; Int_t GetSafeLevel() const;
Double_t GetSafeDistance() const {return fCurrentNavi gator->GetSafeDistance();} Double_t GetSafeDistance() const {return fCurrentNavi gator->GetSafeDistance();}
Double_t GetLastSafety() const {return fCurrentNavi gator->GetLastSafety();} Double_t GetLastSafety() const {return fCurrentNavi gator->GetLastSafety();}
Double_t GetStep() const {return fCurrentNavi gator->GetStep();} Double_t GetStep() const {return fCurrentNavi gator->GetStep();}
void InspectState() const; void InspectState() const;
Bool_t IsAnimatingTracks() const {return fIsGeomReadi ng;} Bool_t IsAnimatingTracks() const {return fIsGeomReadi ng;}
Bool_t IsCheckingOverlaps() const {return fCurrentNavi gator->IsCheckingOverlaps();} Bool_t IsCheckingOverlaps() const {return fCurrentNavi gator->IsCheckingOverlaps();}
skipping to change at line 437 skipping to change at line 438
TObjArray *GetListOfMatrices() const {return fMatrices;} TObjArray *GetListOfMatrices() const {return fMatrices;}
TList *GetListOfMaterials() const {return fMaterials; } TList *GetListOfMaterials() const {return fMaterials; }
TList *GetListOfMedia() const {return fMedia;} TList *GetListOfMedia() const {return fMedia;}
TObjArray *GetListOfVolumes() const {return fVolumes;} TObjArray *GetListOfVolumes() const {return fVolumes;}
TObjArray *GetListOfGVolumes() const {return fGVolumes;} TObjArray *GetListOfGVolumes() const {return fGVolumes;}
TObjArray *GetListOfShapes() const {return fShapes;} TObjArray *GetListOfShapes() const {return fShapes;}
TObjArray *GetListOfGShapes() const {return fGShapes;} TObjArray *GetListOfGShapes() const {return fGShapes;}
TObjArray *GetListOfUVolumes() const {return fUniqueVolu mes;} TObjArray *GetListOfUVolumes() const {return fUniqueVolu mes;}
TObjArray *GetListOfTracks() const {return fTracks;} TObjArray *GetListOfTracks() const {return fTracks;}
TObjArray *GetListOfNavigators() const {return fNavigators ;} TObjArray *GetListOfNavigators() const {return fNavigators ;}
TGeoElementTable *GetElementTable() const {return fElementTab le;} TGeoElementTable *GetElementTable();
//--- modeler state getters/setters //--- modeler state getters/setters
void DoBackupState(); void DoBackupState();
void DoRestoreState(); void DoRestoreState();
TGeoNode *GetNode(Int_t level) const {return (TGeoNode*)fN odes->UncheckedAt(level);} TGeoNode *GetNode(Int_t level) const {return (TGeoNode*)fN odes->UncheckedAt(level);}
Int_t GetNodeId() const {return fCurrentNavig ator->GetNodeId();} Int_t GetNodeId() const {return fCurrentNavig ator->GetNodeId();}
TGeoNode *GetNextNode() const {return fCurrentNavig ator->GetNextNode();} TGeoNode *GetNextNode() const {return fCurrentNavig ator->GetNextNode();}
TGeoNode *GetMother(Int_t up=1) const {return fCurrentNavig ator->GetMother(up);} TGeoNode *GetMother(Int_t up=1) const {return fCurrentNavig ator->GetMother(up);}
TGeoHMatrix *GetMotherMatrix(Int_t up=1) const {return fCurren tNavigator->GetMotherMatrix(up);} TGeoHMatrix *GetMotherMatrix(Int_t up=1) const {return fCurren tNavigator->GetMotherMatrix(up);}
TGeoHMatrix *GetHMatrix(); TGeoHMatrix *GetHMatrix();
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 TGeoMaterialEditor.h   TGeoMaterialEditor.h 
// @(#):$Id: TGeoMaterialEditor.h 21425 2007-12-17 15:59:27Z brun $ // @(#):$Id: TGeoMaterialEditor.h 32718 2010-03-23 15:58:34Z rdm $
// Author: M.Gheata // Author: M.Gheata
/************************************************************************* /*************************************************************************
* 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_TGeoMaterialEditor #ifndef ROOT_TGeoMaterialEditor
skipping to change at line 118 skipping to change at line 118
TGComboBox *fMixElem; // Combo box for elements TGComboBox *fMixElem; // Combo box for elements
TGLabel *fNelem; // Label for number of elements TGLabel *fNelem; // Label for number of elements
TGLabel *fAelem; // Label for A TGLabel *fAelem; // Label for A
TGLabel *fZelem; // Label for Z TGLabel *fZelem; // Label for Z
TGCheckButton *fChkFraction; // Check button for fraction by wght. TGCheckButton *fChkFraction; // Check button for fraction by wght.
TGNumberEntry *fNEFraction; // Number entry for fraction va lue TGNumberEntry *fNEFraction; // Number entry for fraction va lue
TGCheckButton *fChkNatoms; // Check button for number of a toms TGCheckButton *fChkNatoms; // Check button for number of a toms
TGNumberEntry *fNENatoms; // Number entry for number of a toms TGNumberEntry *fNENatoms; // Number entry for number of a toms
TGTextButton *fBAddElem; // Buttom for adding element as component TGTextButton *fBAddElem; // Buttom for adding element as component
TGCanvas *fCan; // Canvas with components TGCompositeFrame *fComps; // Frame with components
virtual void ConnectSignals2Slots(); // Connect the signals to the s lots virtual void ConnectSignals2Slots(); // Connect the signals to the s lots
public: public:
TGeoMixtureEditor(const TGWindow *p = 0, TGeoMixtureEditor(const TGWindow *p = 0,
Int_t width = 140, Int_t height = 30, Int_t width = 140, Int_t height = 30,
UInt_t options = kChildFrame, UInt_t options = kChildFrame,
Pixel_t back = GetDefaultFrameBackground()); Pixel_t back = GetDefaultFrameBackground());
virtual ~TGeoMixtureEditor() {} virtual ~TGeoMixtureEditor() {}
virtual void SetModel(TObject *obj); virtual void SetModel(TObject *obj);
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGeoShape.h   TGeoShape.h 
// @(#)root/geom:$Id: TGeoShape.h 27731 2009-03-09 17:40:56Z brun $ // @(#)root/geom:$Id: TGeoShape.h 32208 2010-02-04 13:36:41Z brun $
// Author: Andrei Gheata 31/01/02 // Author: Andrei Gheata 31/01/02
/************************************************************************* /*************************************************************************
* 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 130 skipping to change at line 130
virtual void GetBoundingCylinder(Double_t *param) const = 0; virtual void GetBoundingCylinder(Double_t *param) const = 0;
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const;
virtual Int_t GetByteCount() const = 0; virtual Int_t GetByteCount() const = 0;
virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const = 0; virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const = 0;
virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const = 0; virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const = 0;
Int_t GetId() const {return fShapeId;} Int_t GetId() const {return fShapeId;}
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const = 0; virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const = 0;
virtual void GetMeshNumbers(Int_t &/*nvert*/, Int_t &/*nsegs*/, Int_t &/*npols*/) const {;} virtual void GetMeshNumbers(Int_t &/*nvert*/, Int_t &/*nsegs*/, Int_t &/*npols*/) const {;}
virtual const char *GetName() const; virtual const char *GetName() const;
virtual Int_t GetNmeshVertices() const {return 0;} virtual Int_t GetNmeshVertices() const {return 0;}
char *GetPointerName() const; const char *GetPointerName() const;
virtual Bool_t IsComposite() const {return kFALSE;} virtual Bool_t IsComposite() const {return kFALSE;}
virtual Bool_t IsCylType() const = 0; virtual Bool_t IsCylType() const = 0;
static Bool_t IsCloseToPhi(Double_t epsil, Double_t *point, Doub le_t c1, Double_t s1, Double_t c2, Double_t s2); static Bool_t IsCloseToPhi(Double_t epsil, Double_t *point, Doub le_t c1, Double_t s1, Double_t c2, Double_t s2);
static Bool_t IsCrossingSemiplane(Double_t *point, Double_t *dir , Double_t cphi, Double_t sphi, Double_t &snext, Double_t &rxy); static Bool_t IsCrossingSemiplane(Double_t *point, Double_t *dir , Double_t cphi, Double_t sphi, Double_t &snext, Double_t &rxy);
static Bool_t IsSameWithinTolerance(Double_t a, Double_t b); static Bool_t IsSameWithinTolerance(Double_t a, Double_t b);
static Bool_t IsSegCrossing(Double_t x1, Double_t y1, Double_t x 2, Double_t y2,Double_t x3, Double_t y3,Double_t x4, Double_t y4); static Bool_t IsSegCrossing(Double_t x1, Double_t y1, Double_t x 2, Double_t y2,Double_t x3, Double_t y3,Double_t x4, Double_t y4);
static Bool_t IsInPhiRange(Double_t *point, Double_t phi1, Doubl e_t phi2); static Bool_t IsInPhiRange(Double_t *point, Double_t phi1, Doubl e_t phi2);
virtual Bool_t IsReflected() const {return kFALSE;} virtual Bool_t IsReflected() const {return kFALSE;}
Bool_t IsRunTimeShape() const {return TestShapeBit(kGeoRu nTimeShape);} Bool_t IsRunTimeShape() const {return TestShapeBit(kGeoRu nTimeShape);}
Bool_t IsValid() const {return !TestShapeBit(kGeoInvalidS hape);} Bool_t IsValid() const {return !TestShapeBit(kGeoInvalidS hape);}
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGrid.h   TGrid.h 
// @(#)root/net:$Id: TGrid.h 23091 2008-04-09 15:04:27Z rdm $ // @(#)root/net:$Id: TGrid.h 31993 2010-01-12 14:34:41Z rdm $
// Author: Fons Rademakers 3/1/2002 // Author: Fons Rademakers 3/1/2002
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 98 skipping to change at line 98
//--- Catalogue Interface //--- Catalogue Interface
virtual TGridResult *Ls(const char* /*ldn*/ ="", Option_t* /*options*/ = "", Bool_t /*verbose*/ =kFALSE) virtual TGridResult *Ls(const char* /*ldn*/ ="", Option_t* /*options*/ = "", Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Ls"); return 0; } { MayNotUse("Ls"); return 0; }
virtual const char *Pwd(Bool_t /*verbose*/ =kFALSE) virtual const char *Pwd(Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Pwd"); return 0; } { MayNotUse("Pwd"); return 0; }
virtual const char *GetHomeDirectory() virtual const char *GetHomeDirectory()
{ MayNotUse("GetHomeDirectory"); return 0; } { MayNotUse("GetHomeDirectory"); return 0; }
virtual Bool_t Cd(const char* /*ldn*/ ="",Bool_t /*verbose*/ =kFALSE) virtual Bool_t Cd(const char* /*ldn*/ ="",Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Cd"); return kFALSE; } { MayNotUse("Cd"); return kFALSE; }
virtual Bool_t Mkdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE) virtual Int_t Mkdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Mkdir"); return kFALSE; } { MayNotUse("Mkdir"); return kFALSE; }
virtual Bool_t Rmdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE) virtual Bool_t Rmdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Mkdir"); return kFALSE; } { MayNotUse("Mkdir"); return kFALSE; }
virtual Bool_t Register(const char* /*lfn*/ , const char* /*turl*/ , Lon g_t /*size*/ =-1, const char* /*se*/ =0, const char* /*guid*/ =0, Bool_t /* verbose*/ =kFALSE) virtual Bool_t Register(const char* /*lfn*/ , const char* /*turl*/ , Lon g_t /*size*/ =-1, const char* /*se*/ =0, const char* /*guid*/ =0, Bool_t /* verbose*/ =kFALSE)
{ MayNotUse("Mkdir"); return kFALSE; } { MayNotUse("Mkdir"); return kFALSE; }
virtual Bool_t Rm(const char* /*lfn*/ , Option_t* /*option*/ ="", Bool_t /*verbose*/ =kFALSE) virtual Bool_t Rm(const char* /*lfn*/ , Option_t* /*option*/ ="", Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Mkdir"); return kFALSE; } { MayNotUse("Mkdir"); return kFALSE; }
//--- Job Submission Interface //--- Job Submission Interface
virtual TGridJob *Submit(const char * /*jdl*/) virtual TGridJob *Submit(const char * /*jdl*/)
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGridJobStatusList.h   TGridJobStatusList.h 
// @(#)root/net:$Id: TGridJobStatusList.h 23091 2008-04-09 15:04:27Z rdm $ // @(#)root/net:$Id: TGridJobStatusList.h 32840 2010-03-30 16:36:09Z rdm $
// Author: Andreas-Joachim Peters 10/12/2006 // Author: Andreas-Joachim Peters 10/12/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 39 skipping to change at line 39
#endif #endif
class TGridJob; class TGridJob;
class TGridJobStatusList : public TList { class TGridJobStatusList : public TList {
protected: protected:
TString fJobID; // the job's ID TString fJobID; // the job's ID
public: public:
TGridJobStatusList() { } TGridJobStatusList() : fJobID("") { }
virtual ~TGridJobStatusList() { } virtual ~TGridJobStatusList() { }
ClassDef(TGridJobStatusList,1) // ABC defining interface to a list of G RID jobs ClassDef(TGridJobStatusList,1) // ABC defining interface to a list of G RID jobs
}; };
R__EXTERN TGridJobStatusList *gGridJobStatusList; R__EXTERN TGridJobStatusList *gGridJobStatusList;
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 THnSparse.h   THnSparse.h 
// @(#)root/hist:$Id: THnSparse.h 31491 2009-12-01 18:11:55Z moneta $ // @(#)root/hist:$Id: THnSparse.h 32836 2010-03-30 14:27:57Z moneta $
// Author: Axel Naumann (2007-09-11) // Author: Axel Naumann (2007-09-11)
/************************************************************************* /*************************************************************************
* 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 84 skipping to change at line 84
THnSparseArrayChunk(Int_t coordsize, bool errors, TArray* cont); THnSparseArrayChunk(Int_t coordsize, bool errors, TArray* cont);
virtual ~THnSparseArrayChunk(); virtual ~THnSparseArrayChunk();
Int_t fCoordinateAllocationSize; //! size of the allocated coordinate buffer; -1 means none or fCoordinatesSize Int_t fCoordinateAllocationSize; //! size of the allocated coordinate buffer; -1 means none or fCoordinatesSize
Int_t fSingleCoordinateSize; // size of a single bin coordinate Int_t fSingleCoordinateSize; // size of a single bin coordinate
Int_t fCoordinatesSize; // size of the bin coordinate buffer Int_t fCoordinatesSize; // size of the bin coordinate buffer
Char_t *fCoordinates; //[fCoordinatesSize] compact bin coordin ate buffer Char_t *fCoordinates; //[fCoordinatesSize] compact bin coordin ate buffer
TArray *fContent; // bin content TArray *fContent; // bin content
TArrayD *fSumw2; // bin errors TArrayD *fSumw2; // bin errors
void AddBin(ULong_t idx, const Char_t* idxbuf); void AddBin(Int_t idx, const Char_t* idxbuf);
void AddBinContent(ULong_t idx, Double_t v = 1.) { void AddBinContent(Int_t idx, Double_t v = 1.) {
fContent->SetAt(v + fContent->GetAt(idx), idx); fContent->SetAt(v + fContent->GetAt(idx), idx);
if (fSumw2) if (fSumw2)
fSumw2->SetAt(v * v+ fSumw2->GetAt(idx), idx); fSumw2->SetAt(v * v+ fSumw2->GetAt(idx), idx);
} }
void Sumw2(); void Sumw2();
ULong64_t GetEntries() const { return fCoordinatesSize / fSingleCoordina teSize; } Int_t GetEntries() const { return fCoordinatesSize / fSingleCoordinateSi ze; }
Bool_t Matches(Int_t idx, const Char_t* idxbuf) const { Bool_t Matches(Int_t idx, const Char_t* idxbuf) const {
// Check whether bin at idx batches idxbuf. // Check whether bin at idx batches idxbuf.
// If we don't store indexes we trust the caller that it does match, // If we don't store indexes we trust the caller that it does match,
// see comment in THnSparseCompactBinCoord::GetHash(). // see comment in THnSparseCompactBinCoord::GetHash().
return fCoordinatesSize <= 4 || return fSingleCoordinateSize <= 8 ||
!memcmp(fCoordinates + idx * fSingleCoordinateSize, idxbuf, fSingl eCoordinateSize); } !memcmp(fCoordinates + idx * fSingleCoordinateSize, idxbuf, fSingl eCoordinateSize); }
ClassDef(THnSparseArrayChunk, 1); // chunks of linearized bins ClassDef(THnSparseArrayChunk, 1); // chunks of linearized bins
}; };
class THnSparseCompactBinCoord; class THnSparseCompactBinCoord;
class THnSparse: public TNamed { class THnSparse: public TNamed {
private: private:
Int_t fNdimensions; // number of dimensions Int_t fNdimensions; // number of dimensions
Int_t fChunkSize; // number of entries for each chunk Int_t fChunkSize; // number of entries for each chunk
Long64_t fFilledBins; // number of filled bins Long64_t fFilledBins; // number of filled bins
TObjArray fAxes; // axes of the histogram TObjArray fAxes; // axes of the histogram
TObjArray fBinContent; // array of THnSparseArrayChunk TObjArray fBinContent; // array of THnSparseArrayChunk
TExMap fBins; // filled bins TExMap fBins; //! filled bins
TExMap fBinsContinued;// filled bins for non-unique hashes, containi TExMap fBinsContinued;//! filled bins for non-unique hashes, contain
ng pairs of (bin index 0, bin index 1) ing pairs of (bin index 0, bin index 1)
Double_t fEntries; // number of entries, spread over chunks Double_t fEntries; // number of entries, spread over chunks
Double_t fTsumw; // total sum of weights Double_t fTsumw; // total sum of weights
Double_t fTsumw2; // total sum of weights squared; -1 if no erro rs are calculated Double_t fTsumw2; // total sum of weights squared; -1 if no erro rs are calculated
TArrayD fTsumwx; // total sum of weight*X for each dimension TArrayD fTsumwx; // total sum of weight*X for each dimension
TArrayD fTsumwx2; // total sum of weight*X*X for each dimension TArrayD fTsumwx2; // total sum of weight*X*X for each dimension
THnSparseCompactBinCoord *fCompactCoord; //! compact coordinate THnSparseCompactBinCoord *fCompactCoord; //! compact coordinate
Double_t *fIntegral; //! array with bin weight sums Double_t *fIntegral; //! array with bin weight sums
enum { enum {
kNoInt, kNoInt,
kValidInt, kValidInt,
skipping to change at line 141 skipping to change at line 141
THnSparse(); THnSparse();
THnSparse(const char* name, const char* title, Int_t dim, THnSparse(const char* name, const char* title, Int_t dim,
const Int_t* nbins, const Double_t* xmin, const Double_t* xmax , const Int_t* nbins, const Double_t* xmin, const Double_t* xmax ,
Int_t chunksize); Int_t chunksize);
Int_t GetChunkSize() const { return fChunkSize; } Int_t GetChunkSize() const { return fChunkSize; }
THnSparseCompactBinCoord* GetCompactCoord() const; THnSparseCompactBinCoord* GetCompactCoord() const;
THnSparseArrayChunk* GetChunk(Int_t idx) const { THnSparseArrayChunk* GetChunk(Int_t idx) const {
return (THnSparseArrayChunk*) fBinContent[idx]; } return (THnSparseArrayChunk*) fBinContent[idx]; }
THnSparseArrayChunk* AddChunk(); THnSparseArrayChunk* AddChunk();
void FillExMap();
virtual TArray* GenerateArray() const = 0; virtual TArray* GenerateArray() const = 0;
Long_t GetBinIndexForCurrentBin(Bool_t allocate); Long64_t GetBinIndexForCurrentBin(Bool_t allocate);
Long_t Fill(Long_t bin, Double_t w) { Long64_t Fill(Long64_t bin, Double_t w) {
// Increment the bin content of "bin" by "w", // Increment the bin content of "bin" by "w",
// return the bin index. // return the bin index.
fEntries += 1; fEntries += 1;
if (GetCalculateErrors()) { if (GetCalculateErrors()) {
fTsumw += w; fTsumw += w;
fTsumw2 += w*w; fTsumw2 += w*w;
} }
fIntegralStatus = kInvalidInt; fIntegralStatus = kInvalidInt;
THnSparseArrayChunk* chunk = GetChunk(bin / fChunkSize); THnSparseArrayChunk* chunk = GetChunk(bin / fChunkSize);
chunk->AddBinContent(bin % fChunkSize, w); chunk->AddBinContent(bin % fChunkSize, w);
skipping to change at line 177 skipping to change at line 178
public: public:
virtual ~THnSparse(); virtual ~THnSparse();
static THnSparse* CreateSparse(const char* name, const char* title, static THnSparse* CreateSparse(const char* name, const char* title,
const TH1* h1, Int_t ChunkSize = 1024 * 1 6); const TH1* h1, Int_t ChunkSize = 1024 * 1 6);
Int_t GetNChunks() const { return fBinContent.GetEntriesFast(); } Int_t GetNChunks() const { return fBinContent.GetEntriesFast(); }
TObjArray* GetListOfAxes() { return &fAxes; } TObjArray* GetListOfAxes() { return &fAxes; }
TAxis* GetAxis(Int_t dim) const { return (TAxis*)fAxes[dim]; } TAxis* GetAxis(Int_t dim) const { return (TAxis*)fAxes[dim]; }
Long_t Fill(const Double_t *x, Double_t w = 1.) { Long64_t Fill(const Double_t *x, Double_t w = 1.) {
if (GetCalculateErrors()) { if (GetCalculateErrors()) {
for (Int_t d = 0; d < fNdimensions; ++d) { for (Int_t d = 0; d < fNdimensions; ++d) {
const Double_t xd = x[d]; const Double_t xd = x[d];
fTsumwx[d] += w * xd; fTsumwx[d] += w * xd;
fTsumwx2[d] += w * xd * xd; fTsumwx2[d] += w * xd * xd;
} }
} }
return Fill(GetBin(x), w); return Fill(GetBin(x), w);
} }
Long_t Fill(const char* name[], Double_t w = 1.) { Long64_t Fill(const char* name[], Double_t w = 1.) {
return Fill(GetBin(name), w); return Fill(GetBin(name), w);
} }
TFitResultPtr Fit(TF1 *f1 ,Option_t *option = "", Option_t *goption = "" ); TFitResultPtr Fit(TF1 *f1 ,Option_t *option = "", Option_t *goption = "" );
TList* GetListOfFunctions() { return 0; } TList* GetListOfFunctions() { return 0; }
Double_t GetEntries() const { return fEntries; } Double_t GetEntries() const { return fEntries; }
Double_t GetWeightSum() const { return fTsumw; } Double_t GetWeightSum() const { return fTsumw; }
Long64_t GetNbins() const { return fFilledBins; } Long64_t GetNbins() const { return fFilledBins; }
Int_t GetNdimensions() const { return fNdimensions; } Int_t GetNdimensions() const { return fNdimensions; }
Bool_t GetCalculateErrors() const { return fTsumw2 >= 0.; } Bool_t GetCalculateErrors() const { return fTsumw2 >= 0.; }
void CalculateErrors(Bool_t calc = kTRUE) { void CalculateErrors(Bool_t calc = kTRUE) {
// Calculate errors (or not if "calc" == kFALSE) // Calculate errors (or not if "calc" == kFALSE)
if (calc) Sumw2(); if (calc) Sumw2();
else fTsumw2 = -1.; else fTsumw2 = -1.;
} }
Long_t GetBin(const Int_t* idx, Bool_t allocate = kTRUE); Long64_t GetBin(const Int_t* idx, Bool_t allocate = kTRUE);
Long_t GetBin(const Double_t* x, Bool_t allocate = kTRUE); Long64_t GetBin(const Double_t* x, Bool_t allocate = kTRUE);
Long_t GetBin(const char* name[], Bool_t allocate = kTRUE); Long64_t GetBin(const char* name[], Bool_t allocate = kTRUE);
void SetBinEdges(Int_t idim, const Double_t* bins); void SetBinEdges(Int_t idim, const Double_t* bins);
void SetBinContent(const Int_t* x, Double_t v); void SetBinContent(const Int_t* x, Double_t v);
void SetBinContent(Long64_t bin, Double_t v);
void SetBinError(const Int_t* x, Double_t e); void SetBinError(const Int_t* x, Double_t e);
void SetBinError(Long64_t bin, Double_t e);
void AddBinContent(const Int_t* x, Double_t v = 1.); void AddBinContent(const Int_t* x, Double_t v = 1.);
void AddBinContent(Long64_t bin, Double_t v = 1.);
void SetEntries(Double_t entries) { fEntries = entries; } void SetEntries(Double_t entries) { fEntries = entries; }
void SetTitle(const char *title); void SetTitle(const char *title);
Double_t GetBinContent(const Int_t *idx) const; Double_t GetBinContent(const Int_t *idx) const;
Double_t GetBinContent(Long64_t bin, Int_t* idx = 0) const; Double_t GetBinContent(Long64_t bin, Int_t* idx = 0) const;
Double_t GetBinError(const Int_t *idx) const; Double_t GetBinError(const Int_t *idx) const;
Double_t GetBinError(Long64_t linidx) const; Double_t GetBinError(Long64_t linidx) const;
Double_t GetSparseFractionBins() const; Double_t GetSparseFractionBins() const;
Double_t GetSparseFractionMem() const; Double_t GetSparseFractionMem() const;
skipping to change at line 258 skipping to change at line 262
void RebinnedAdd(const THnSparse* h, Double_t c=1.); void RebinnedAdd(const THnSparse* h, Double_t c=1.);
void Reset(Option_t* option = ""); void Reset(Option_t* option = "");
void Sumw2(); void Sumw2();
Double_t ComputeIntegral(); Double_t ComputeIntegral();
void GetRandom(Double_t *rand, Bool_t subBinRandom = kTRUE); void GetRandom(Double_t *rand, Bool_t subBinRandom = kTRUE);
//void Draw(Option_t* option = ""); //void Draw(Option_t* option = "");
ClassDef(THnSparse, 1); // Interfaces of sparse n-dimensional histogram ClassDef(THnSparse, 2); // Interfaces of sparse n-dimensional histogram
}; };
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
// //
// Templated implementation of the abstract base THnSparse. // Templated implementation of the abstract base THnSparse.
// All functionality and the interfaces to be used are in THnSparse! // All functionality and the interfaces to be used are in THnSparse!
// //
// THnSparse does not know how to store any bin content itself. Instead, th is // THnSparse does not know how to store any bin content itself. Instead, th is
// is delegated to the derived, templated class: the template parameter dec ides // is delegated to the derived, templated class: the template parameter dec ides
// what the format for the bin content is. In fact it even defines the arra y // what the format for the bin content is. In fact it even defines the arra y
 End of changes. 14 change blocks. 
16 lines changed or deleted 20 lines changed or added


 TInterpreter.h   TInterpreter.h 
// @(#)root/meta:$Id: TInterpreter.h 30567 2009-10-05 21:39:26Z pcanal $ // @(#)root/meta:$Id: TInterpreter.h 31931 2009-12-17 14:52:55Z rdm $
// 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 62 skipping to change at line 62
TInterpreter() { } // for Dictionary TInterpreter() { } // for Dictionary
TInterpreter(const char *name, const char *title = "Generic Interpreter" ); TInterpreter(const char *name, const char *title = "Generic Interpreter" );
virtual ~TInterpreter() { } virtual ~TInterpreter() { }
virtual void AddIncludePath(const char *path) = 0; virtual void AddIncludePath(const char *path) = 0;
virtual Int_t AutoLoad(const char *classname) = 0; virtual Int_t AutoLoad(const char *classname) = 0;
virtual void ClearFileBusy() = 0; virtual void ClearFileBusy() = 0;
virtual void ClearStack() = 0; // Delete existing temporary values virtual void ClearStack() = 0; // Delete existing temporary values
virtual void EnableAutoLoading() = 0; virtual void EnableAutoLoading() = 0;
virtual void EndOfLineAction() = 0; virtual void EndOfLineAction() = 0;
virtual void EnableWrappers(bool value) = 0;
virtual Int_t GetExitCode() const = 0; virtual Int_t GetExitCode() const = 0;
virtual TEnv *GetMapfile() const { return 0; } virtual TEnv *GetMapfile() const { return 0; }
virtual Int_t GetMore() const = 0; virtual Int_t GetMore() const = 0;
virtual char *GetPrompt() = 0; virtual char *GetPrompt() = 0;
virtual const char *GetSharedLibs() = 0; virtual const char *GetSharedLibs() = 0;
virtual const char *GetClassSharedLibs(const char *cls) = 0; virtual const char *GetClassSharedLibs(const char *cls) = 0;
virtual const char *GetSharedLibDeps(const char *lib) = 0; virtual const char *GetSharedLibDeps(const char *lib) = 0;
virtual const char *GetIncludePath() = 0; virtual const char *GetIncludePath() = 0;
virtual const char *GetSTLIncludePath() const { return ""; } virtual const char *GetSTLIncludePath() const { return ""; }
virtual TObjArray *GetRootMapFiles() const = 0; virtual TObjArray *GetRootMapFiles() const = 0;
 End of changes. 2 change blocks. 
2 lines changed or deleted 1 lines changed or added


 TLeafB.h   TLeafB.h 
// @(#)root/tree:$Id: TLeafB.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/tree:$Id: TLeafB.h 32525 2010-03-10 13:56:16Z pcanal $
// Author: Rene Brun 12/01/96 // Author: Rene Brun 12/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 45 skipping to change at line 45
public: public:
TLeafB(); TLeafB();
TLeafB(TBranch *parent, const char* name, const char* type); TLeafB(TBranch *parent, const char* name, const char* type);
virtual ~TLeafB(); virtual ~TLeafB();
virtual void Export(TClonesArray* list, Int_t n); virtual void Export(TClonesArray* list, Int_t n);
virtual void FillBasket(TBuffer& b); virtual void FillBasket(TBuffer& b);
virtual Int_t GetMaximum() const { return fMaximum; } virtual Int_t GetMaximum() const { return fMaximum; }
virtual Int_t GetMinimum() const { return fMinimum; } virtual Int_t GetMinimum() const { return fMinimum; }
const char *GetTypeName() const; const char *GetTypeName() const;
Double_t GetValue(Int_t i = 0) const { return IsUnsigned() ? ((UC har_t) fValue[i]) : fValue[i]; } Double_t GetValue(Int_t i = 0) const { return IsUnsigned() ? (Dou ble_t)((UChar_t) fValue[i]) : (Double_t)fValue[i]; }
virtual void *GetValuePointer() const { return fValue; } virtual void *GetValuePointer() const { return fValue; }
virtual void Import(TClonesArray* list, Int_t n); virtual void Import(TClonesArray* list, Int_t n);
virtual void PrintValue(Int_t i = 0) const; virtual void PrintValue(Int_t i = 0) const;
virtual void ReadBasket(TBuffer&); virtual void ReadBasket(TBuffer&);
virtual void ReadBasketExport(TBuffer&, TClonesArray* list, Int_t n); virtual void ReadBasketExport(TBuffer&, TClonesArray* list, Int_t n);
virtual void ReadValue(ifstream&); virtual void ReadValue(ifstream&);
virtual void SetAddress(void* addr = 0); virtual void SetAddress(void* addr = 0);
virtual void SetMaximum(Char_t max) { fMaximum = max; } virtual void SetMaximum(Char_t max) { fMaximum = max; }
virtual void SetMinimum(Char_t min) { fMinimum = min; } virtual void SetMinimum(Char_t min) { fMinimum = min; }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TList.h   TList.h 
// @(#)root/cont:$Id: TList.h 23198 2008-04-14 09:23:08Z rdm $ // @(#)root/cont:$Id: TList.h 32781 2010-03-26 13:06:14Z pcanal $
// Author: Fons Rademakers 10/08/95 // Author: Fons Rademakers 10/08/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_TSeqCollection #ifndef ROOT_TSeqCollection
#include "TSeqCollection.h" #include "TSeqCollection.h"
#endif #endif
#ifndef ROOT_TString #ifndef ROOT_TString
#include "TString.h" #include "TString.h"
#endif #endif
#include <iterator> #include <iterator>
#if (__GNUC__ >= 3) && !defined(__INTEL_COMPILER)
// Prevent -Weffc++ from complaining about the inheritance
// TListIter from std::iterator.
#pragma GCC system_header
#endif
const Bool_t kSortAscending = kTRUE; const Bool_t kSortAscending = kTRUE;
const Bool_t kSortDescending = !kSortAscending; const Bool_t kSortDescending = !kSortAscending;
class TObjLink; class TObjLink;
class TListIter; class TListIter;
class TList : public TSeqCollection { class TList : public TSeqCollection {
friend class TListIter; friend class TListIter;
skipping to change at line 86 skipping to change at line 92
virtual void AddFirst(TObject *obj, Option_t *opt); virtual void AddFirst(TObject *obj, Option_t *opt);
virtual void AddLast(TObject *obj); virtual void AddLast(TObject *obj);
virtual void AddLast(TObject *obj, Option_t *opt); virtual void AddLast(TObject *obj, Option_t *opt);
virtual void AddAt(TObject *obj, Int_t idx); virtual void AddAt(TObject *obj, Int_t idx);
virtual void AddAfter(const TObject *after, TObject *obj); virtual void AddAfter(const TObject *after, TObject *obj);
virtual void AddAfter(TObjLink *after, TObject *obj); virtual void AddAfter(TObjLink *after, TObject *obj);
virtual void AddBefore(const TObject *before, TObject *obj); virtual void AddBefore(const TObject *before, TObject *obj);
virtual void AddBefore(TObjLink *before, TObject *obj); virtual void AddBefore(TObjLink *before, TObject *obj);
virtual TObject *Remove(TObject *obj); virtual TObject *Remove(TObject *obj);
virtual TObject *Remove(TObjLink *lnk); virtual TObject *Remove(TObjLink *lnk);
virtual void RemoveLast();
virtual void RecursiveRemove(TObject *obj); virtual void RecursiveRemove(TObject *obj);
virtual TObject *At(Int_t idx) const; virtual TObject *At(Int_t idx) const;
virtual TObject *After(const TObject *obj) const; virtual TObject *After(const TObject *obj) const;
virtual TObject *Before(const TObject *obj) const; virtual TObject *Before(const TObject *obj) const;
virtual TObject *First() const; virtual TObject *First() const;
virtual TObjLink *FirstLink() const { return fFirst; } virtual TObjLink *FirstLink() const { return fFirst; }
virtual TObject **GetObjectRef(const TObject *obj) const; virtual TObject **GetObjectRef(const TObject *obj) const;
virtual TObject *Last() const; virtual TObject *Last() const;
virtual TObjLink *LastLink() const { return fLast; } virtual TObjLink *LastLink() const { return fLast; }
 End of changes. 3 change blocks. 
1 lines changed or deleted 8 lines changed or added


 TMakeProject.h   TMakeProject.h 
// @(#)root/io:$Id: TMakeProject.h 29360 2009-07-06 21:10:23Z pcanal $ // @(#)root/io:$Id: TMakeProject.h 32336 2010-02-12 15:03:23Z 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 39 skipping to change at line 39
class TStreamerElement; class TStreamerElement;
class TMakeProject class TMakeProject
{ {
private: private:
static void GenerateMissingStreamerInfo(TList *extrainfos, const char *c lname, Bool_t iscope); static void GenerateMissingStreamerInfo(TList *extrainfos, const char *c lname, Bool_t iscope);
public: public:
static void AddUniqueStatement(FILE *fp, const char *statement, char *in clist); static void AddUniqueStatement(FILE *fp, const char *statement, char *in clist);
static void AddInclude(FILE *fp, const char *header, Bool_t system, char *inclist); static void AddInclude(FILE *fp, const char *header, Bool_t system, char *inclist);
static void ChopFileName(TString &name, Int_t limit); static void ChopFileName(TString &name, Int_t limit);
static TString GetHeaderName(const char *name, Bool_t includeNested = kF ALSE); static TString GetHeaderName(const char *name, const TList *extrainfos, Bool_t includeNested = kFALSE);
static UInt_t GenerateClassPrefix(FILE *fp, const char *clname, Bool_t t op, TString &protoname, UInt_t *numberOfClasses, Int_t implementEmptyClass = kFALSE, Bool_t needGenericTemplate = kFALSE); static UInt_t GenerateClassPrefix(FILE *fp, const char *clname, Bool_t t op, TString &protoname, UInt_t *numberOfClasses, Int_t implementEmptyClass = kFALSE, Bool_t needGenericTemplate = kFALSE);
static void GenerateMissingStreamerInfos(TList *extrainfos, TStreamerEle ment *element); static void GenerateMissingStreamerInfos(TList *extrainfos, TStreamerEle ment *element);
static void GenerateMissingStreamerInfos(TList *extrainfos, const char * clname); static void GenerateMissingStreamerInfos(TList *extrainfos, const char * clname);
static UInt_t GenerateForwardDeclaration(FILE *fp, const char *clname, c static UInt_t GenerateForwardDeclaration(FILE *fp, const char *clname, c
har *inclist, Bool_t implementEmptyClass = kFALSE, Bool_t needGenericTempla har *inclist, Bool_t implementEmptyClass, Bool_t needGenericTemplate, const
te = kFALSE); TList *extrainfos);
static UInt_t GenerateIncludeForTemplate(FILE *fp, const char *clname, c static UInt_t GenerateIncludeForTemplate(FILE *fp, const char *clname, c
har *inclist, Bool_t forward); har *inclist, Bool_t forward, const TList *extrainfos);
static TString UpdateAssociativeToVector(const char *name); static TString UpdateAssociativeToVector(const char *name);
}; };
#endif // ROOT_TMakeProject #endif // ROOT_TMakeProject
 End of changes. 3 change blocks. 
7 lines changed or deleted 7 lines changed or added


 TMath.h   TMath.h 
// @(#)root/mathcore:$Id: TMath.h 29937 2009-08-27 14:15:39Z brun $ // @(#)root/mathcore:$Id: TMath.h 32037 2010-01-18 11:09:23Z brun $
// Authors: Rene Brun, Anna Kreshuk, Eddy Offermann, Fons Rademakers 29/0 7/95 // Authors: Rene Brun, Anna Kreshuk, Eddy Offermann, Fons Rademakers 29/0 7/95
/************************************************************************* /*************************************************************************
* 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 238 skipping to change at line 238
Float_t Normalize(Float_t v[3]); // Normalize a vector Float_t Normalize(Float_t v[3]); // Normalize a vector
Double_t Normalize(Double_t v[3]); // Normalize a vector Double_t Normalize(Double_t v[3]); // Normalize a vector
//Calculate the Normalized Cross Product of two vectors //Calculate the Normalized Cross Product of two vectors
template <typename T> inline T NormCross(const T v1[3],const T v2[3],T o ut[3]); template <typename T> inline T NormCross(const T v1[3],const T v2[3],T o ut[3]);
// Calculate a normal vector of a plane // Calculate a normal vector of a plane
template <typename T> T *Normal2Plane(const T v1[3],const T v2[3],const T v3[3], T normal[3]); template <typename T> T *Normal2Plane(const T v1[3],const T v2[3],const T v3[3], T normal[3]);
/* ************************ */ /* ************************ */
/* * Polinomial Functions * */ /* * Polynomial Functions * */
/* ************************ */ /* ************************ */
Bool_t RootsCubic(const Double_t coef[4],Double_t &a, Double_t &b, Do uble_t &c); Bool_t RootsCubic(const Double_t coef[4],Double_t &a, Double_t &b, Do uble_t &c);
/* *********************** */ /* *********************** */
/* * Statistic Functions * */ /* * Statistic Functions * */
/* *********************** */ /* *********************** */
Double_t Binomial(Int_t n,Int_t k); // Calculate the binomial coefficie nt n over k Double_t Binomial(Int_t n,Int_t k); // Calculate the binomial coefficie nt n over k
Double_t BinomialI(Double_t p, Int_t n, Int_t k); Double_t BinomialI(Double_t p, Int_t n, Int_t k);
skipping to change at line 277 skipping to change at line 277
Double_t StudentI(Double_t T, Double_t ndf); Double_t StudentI(Double_t T, Double_t ndf);
Double_t StudentQuantile(Double_t p, Double_t ndf, Bool_t lower_tail=kTR UE); Double_t StudentQuantile(Double_t p, Double_t ndf, Bool_t lower_tail=kTR UE);
Double_t Vavilov(Double_t x, Double_t kappa, Double_t beta2); Double_t Vavilov(Double_t x, Double_t kappa, Double_t beta2);
Double_t VavilovI(Double_t x, Double_t kappa, Double_t beta2); Double_t VavilovI(Double_t x, Double_t kappa, Double_t beta2);
Double_t Voigt(Double_t x, Double_t sigma, Double_t lg, Int_t R = 4); Double_t Voigt(Double_t x, Double_t sigma, Double_t lg, Int_t R = 4);
/* ************************** */ /* ************************** */
/* * Statistics over arrays * */ /* * Statistics over arrays * */
/* ************************** */ /* ************************** */
//Mean, Geometric Mean, Median, RMS //Mean, Geometric Mean, Median, RMS(sigma)
template <typename T> Double_t Mean(Long64_t n, const T *a, const Double _t *w=0); template <typename T> Double_t Mean(Long64_t n, const T *a, const Double _t *w=0);
template <typename Iterator> Double_t Mean(Iterator first, Iterator last ); template <typename Iterator> Double_t Mean(Iterator first, Iterator last );
template <typename Iterator, typename WeightIterator> Double_t Mean(Iter ator first, Iterator last, WeightIterator w); template <typename Iterator, typename WeightIterator> Double_t Mean(Iter ator first, Iterator last, WeightIterator w);
template <typename T> Double_t GeomMean(Long64_t n, const T *a); template <typename T> Double_t GeomMean(Long64_t n, const T *a);
template <typename Iterator> Double_t GeomMean(Iterator first, Iterator last); template <typename Iterator> Double_t GeomMean(Iterator first, Iterator last);
template <typename T> Double_t RMS(Long64_t n, const T *a); template <typename T> Double_t RMS(Long64_t n, const T *a);
template <typename Iterator> Double_t RMS(Iterator first, Iterator last) ; template <typename Iterator> Double_t RMS(Iterator first, Iterator last) ;
skipping to change at line 668 skipping to change at line 668
{ {
// Return the geometric mean of an array a of size n. // Return the geometric mean of an array a of size n.
// geometric_mean = (Prod_i=0,n-1 |a[i]|)^1/n // geometric_mean = (Prod_i=0,n-1 |a[i]|)^1/n
return TMath::GeomMean(a, a+n); return TMath::GeomMean(a, a+n);
} }
template <typename Iterator> template <typename Iterator>
Double_t TMath::RMS(Iterator first, Iterator last) Double_t TMath::RMS(Iterator first, Iterator last)
{ {
// Return the RMS of an array defined by the iterators. // Return the Standard Deviation of an array defined by the iterators.
// Note that this function returns the sigma(standard deviation) and
// not the root mean square of the array.
Double_t n = 0; Double_t n = 0;
Double_t tot = 0, tot2 =0, adouble; Double_t tot = 0, tot2 =0, adouble;
while ( first != last ) { while ( first != last ) {
adouble=Double_t(*first); adouble=Double_t(*first);
tot += adouble; tot2 += adouble*adouble; tot += adouble; tot2 += adouble*adouble;
++first; ++first;
++n; ++n;
} }
Double_t n1 = 1./n; Double_t n1 = 1./n;
Double_t mean = tot*n1; Double_t mean = tot*n1;
Double_t rms = TMath::Sqrt(TMath::Abs(tot2*n1 -mean*mean)); Double_t rms = TMath::Sqrt(TMath::Abs(tot2*n1 -mean*mean));
return rms; return rms;
} }
template <typename T> template <typename T>
Double_t TMath::RMS(Long64_t n, const T *a) Double_t TMath::RMS(Long64_t n, const T *a)
{ {
// Return the RMS of an array a with length n. // Return the Standard Deviation of an array a with length n.
// Note that this function returns the sigma(standard deviation) and
// not the root mean square of the array.
return TMath::RMS(a, a+n); return TMath::RMS(a, a+n);
} }
template <typename Iterator, typename Element> template <typename Iterator, typename Element>
Iterator TMath::BinarySearch(Iterator first, Iterator last, Element value) Iterator TMath::BinarySearch(Iterator first, Iterator last, Element value)
{ {
// Binary search in an array defined by its iterators. // Binary search in an array defined by its iterators.
// //
// The values in the iterators range are supposed to be sorted // The values in the iterators range are supposed to be sorted
 End of changes. 5 change blocks. 
5 lines changed or deleted 9 lines changed or added


 TMatrixDfwd.h   TMatrixDfwd.h 
skipping to change at line 20 skipping to change at line 20
#define ROOT_TMatrixDfwd #define ROOT_TMatrixDfwd
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// // // //
// TMatrixD // // TMatrixD //
// // // //
// Forward declaration of TMatrixT<Double_t> // // Forward declaration of TMatrixT<Double_t> //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
template<class Element> class TMatrixT; template<class Element> class TMatrixT;
typedef TMatrixT<Double_t> TMatrixD; typedef TMatrixT<Double_t> TMatrixD;
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 4 lines changed or added


 TMatrixT.h   TMatrixT.h 
// @(#)root/matrix:$Id: TMatrixT.h 27658 2009-02-28 05:34:57Z pcanal $ // @(#)root/matrix:$Id: TMatrixT.h 32616 2010-03-15 16:56:42Z rdm $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TMatrixT #ifndef ROOT_TMatrixT
#define ROOT_TMatrixT #define ROOT_TMatrixT
skipping to change at line 49 skipping to change at line 49
protected: protected:
Element fDataStack[TMatrixTBase<Element>::kSizeMax]; //! data container Element fDataStack[TMatrixTBase<Element>::kSizeMax]; //! data container
Element *fElements; //[fNelems] elemen ts themselves Element *fElements; //[fNelems] elemen ts themselves
Element *New_m (Int_t size); Element *New_m (Int_t size);
void Delete_m(Int_t size,Element*&); void Delete_m(Int_t size,Element*&);
Int_t Memcpy_m(Element *newp,const Element *oldp,Int_t copySize, Int_t Memcpy_m(Element *newp,const Element *oldp,Int_t copySize,
Int_t newSize,Int_t oldSize); Int_t newSize,Int_t oldSize);
void Allocate(Int_t nrows,Int_t ncols,Int_t row_lwb = 0,Int_t col_lw b = 0,Int_t init = 0, void Allocate(Int_t nrows,Int_t ncols,Int_t row_lwb = 0,Int_t col_lw b = 0,Int_t init = 0,
Int_t nr_nonzeros = -1); Int_t /*nr_nonzeros*/ = -1);
public: public:
enum {kWorkMax = 100}; enum {kWorkMax = 100};
enum EMatrixCreatorsOp1 { kZero,kUnit,kTransposed,kInverted,kAtA }; enum EMatrixCreatorsOp1 { kZero,kUnit,kTransposed,kInverted,kAtA };
enum EMatrixCreatorsOp2 { kMult,kTransposeMult,kInvMult,kMultTranspose,k Plus,kMinus }; enum EMatrixCreatorsOp2 { kMult,kTransposeMult,kInvMult,kMultTranspose,k Plus,kMinus };
TMatrixT(): fElements(0) { } TMatrixT(): fElements(0) { }
TMatrixT(Int_t nrows,Int_t ncols); TMatrixT(Int_t nrows,Int_t ncols);
TMatrixT(Int_t row_lwb,Int_t row_upb,Int_t col_lwb,Int_t col_upb); TMatrixT(Int_t row_lwb,Int_t row_upb,Int_t col_lwb,Int_t col_upb);
skipping to change at line 133 skipping to change at line 133
TMatrixT <Element> &Use (Int_t nrows,Int_t ncols,Element *data); TMatrixT <Element> &Use (Int_t nrows,Int_t ncols,Element *data);
const TMatrixT <Element> &Use (Int_t nrows,Int_t ncols,const El ement *data) const; const TMatrixT <Element> &Use (Int_t nrows,Int_t ncols,const El ement *data) const;
TMatrixT <Element> &Use (TMatrixT<Element> &a); TMatrixT <Element> &Use (TMatrixT<Element> &a);
const TMatrixT <Element> &Use (const TMatrixT<Element> &a) cons t; const TMatrixT <Element> &Use (const TMatrixT<Element> &a) cons t;
virtual TMatrixTBase<Element> &GetSub (Int_t row_lwb,Int_t row_upb,Int_ t col_lwb,Int_t col_upb, virtual TMatrixTBase<Element> &GetSub (Int_t row_lwb,Int_t row_upb,Int_ t col_lwb,Int_t col_upb,
TMatrixTBase<Element> &target,Op tion_t *option="S") const; TMatrixTBase<Element> &target,Op tion_t *option="S") const;
TMatrixT <Element> GetSub (Int_t row_lwb,Int_t row_upb,Int_ t col_lwb,Int_t col_upb,Option_t *option="S") const; TMatrixT <Element> GetSub (Int_t row_lwb,Int_t row_upb,Int_ t col_lwb,Int_t col_upb,Option_t *option="S") const;
virtual TMatrixTBase<Element> &SetSub (Int_t row_lwb,Int_t col_lwb,cons t TMatrixTBase<Element> &source); virtual TMatrixTBase<Element> &SetSub (Int_t row_lwb,Int_t col_lwb,cons t TMatrixTBase<Element> &source);
virtual TMatrixTBase<Element> &ResizeTo(Int_t nrows,Int_t ncols,Int_t nr virtual TMatrixTBase<Element> &ResizeTo(Int_t nrows,Int_t ncols,Int_t /*
_nonzeros=-1); nr_nonzeros*/ =-1);
virtual TMatrixTBase<Element> &ResizeTo(Int_t row_lwb,Int_t row_upb,Int_ virtual TMatrixTBase<Element> &ResizeTo(Int_t row_lwb,Int_t row_upb,Int_
t col_lwb,Int_t col_upb,Int_t nr_nonzeros=-1); t col_lwb,Int_t col_upb,Int_t /*nr_nonzeros*/ =-1);
inline TMatrixTBase<Element> &ResizeTo(const TMatrixT<Element> &m) { inline TMatrixTBase<Element> &ResizeTo(const TMatrixT<Element> &m) {
return ResizeTo(m.GetRowLwb(),m .GetRowUpb(),m.GetColLwb(),m.GetColUpb()); return ResizeTo(m.GetRowLwb(),m .GetRowUpb(),m.GetColLwb(),m.GetColUpb());
} }
virtual Double_t Determinant () const; virtual Double_t Determinant () const;
virtual void Determinant (Double_t &d1,Double_t &d2) const; virtual void Determinant (Double_t &d1,Double_t &d2) const;
TMatrixT<Element> &Invert (Double_t *det=0); TMatrixT<Element> &Invert (Double_t *det=0);
TMatrixT<Element> &InvertFast (Double_t *det=0); TMatrixT<Element> &InvertFast (Double_t *det=0);
TMatrixT<Element> &Transpose (const TMatrixT<Element> &source) ; TMatrixT<Element> &Transpose (const TMatrixT<Element> &source) ;
 End of changes. 3 change blocks. 
6 lines changed or deleted 6 lines changed or added


 TMatrixTSparse.h   TMatrixTSparse.h 
// @(#)root/matrix:$Id: TMatrixTSparse.h 30103 2009-09-11 03:15:27Z brun $ // @(#)root/matrix:$Id: TMatrixTSparse.h 32616 2010-03-15 16:56:42Z rdm $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TMatrixTSparse #ifndef ROOT_TMatrixTSparse
#define ROOT_TMatrixTSparse #define ROOT_TMatrixTSparse
skipping to change at line 105 skipping to change at line 105
virtual TMatrixTBase<Element> &SetRowIndexArray(Int_t *data) { memmove (fRowIndex,data,(this->fNrows+1)*sizeof(Int_t)); return *this; } virtual TMatrixTBase<Element> &SetRowIndexArray(Int_t *data) { memmove (fRowIndex,data,(this->fNrows+1)*sizeof(Int_t)); return *this; }
virtual TMatrixTBase<Element> &SetColIndexArray(Int_t *data) { memmove (fColIndex,data,this->fNelems*sizeof(Int_t)); return *this; } virtual TMatrixTBase<Element> &SetColIndexArray(Int_t *data) { memmove (fColIndex,data,this->fNelems*sizeof(Int_t)); return *this; }
TMatrixTSparse<Element> &SetSparseIndex (Int_t nelem_new); TMatrixTSparse<Element> &SetSparseIndex (Int_t nelem_new);
TMatrixTSparse<Element> &SetSparseIndex (const TMatrixTBase<Ele ment> &another); TMatrixTSparse<Element> &SetSparseIndex (const TMatrixTBase<Ele ment> &another);
TMatrixTSparse<Element> &SetSparseIndexAB(const TMatrixTSparse<E lement> &a,const TMatrixTSparse<Element> &b); TMatrixTSparse<Element> &SetSparseIndexAB(const TMatrixTSparse<E lement> &a,const TMatrixTSparse<Element> &b);
TMatrixTSparse<Element> &SetSparseIndexAB(const TMatrixT <E lement> &a,const TMatrixTSparse<Element> &b); TMatrixTSparse<Element> &SetSparseIndexAB(const TMatrixT <E lement> &a,const TMatrixTSparse<Element> &b);
TMatrixTSparse<Element> &SetSparseIndexAB(const TMatrixTSparse<E lement> &a,const TMatrixT <Element> &b) TMatrixTSparse<Element> &SetSparseIndexAB(const TMatrixTSparse<E lement> &a,const TMatrixT <Element> &b)
{ return SetSparseIndexAB(b,a ); } { return SetSparseIndexAB(b,a ); }
virtual void GetMatrix2Array (Element *data,Option_t *option="") const; virtual void GetMatrix2Array (Element *data,Option_t * /*option*/ ="") const;
virtual TMatrixTBase<Element> &SetMatrixArray (const Element *data,Op tion_t * /*option*/="") virtual TMatrixTBase<Element> &SetMatrixArray (const Element *data,Op tion_t * /*option*/="")
{ memcpy(fElements,data ,this->fNelems*sizeof(Element)); return *this; } { memcpy(fElements,data ,this->fNelems*sizeof(Element)); return *this; }
virtual TMatrixTBase<Element> &SetMatrixArray (Int_t nr_nonzeros,Int_ t *irow,Int_t *icol,Element *data); virtual TMatrixTBase<Element> &SetMatrixArray (Int_t nr_nonzeros,Int_ t *irow,Int_t *icol,Element *data);
virtual TMatrixTBase<Element> &InsertRow (Int_t row,Int_t col,co nst Element *v,Int_t n=-1); virtual TMatrixTBase<Element> &InsertRow (Int_t row,Int_t col,co nst Element *v,Int_t n=-1);
virtual void ExtractRow (Int_t row,Int_t col, Element *v,Int_t n=-1) const; virtual void ExtractRow (Int_t row,Int_t col, Element *v,Int_t n=-1) const;
virtual TMatrixTBase<Element> &ResizeTo(Int_t nrows,Int_t ncols,Int_t nr_nonzeros=-1); virtual TMatrixTBase<Element> &ResizeTo(Int_t nrows,Int_t ncols,Int_t nr_nonzeros=-1);
virtual TMatrixTBase<Element> &ResizeTo(Int_t row_lwb,Int_t row_upb,In t_t col_lwb,Int_t col_upb,Int_t nr_nonzeros=-1); virtual TMatrixTBase<Element> &ResizeTo(Int_t row_lwb,Int_t row_upb,In t_t col_lwb,Int_t col_upb,Int_t nr_nonzeros=-1);
inline TMatrixTBase<Element> &ResizeTo(const TMatrixTSparse<Element> &m) {return ResizeTo(m.GetRowLwb(),m.GetRowUpb(),m.GetColLwb(), inline TMatrixTBase<Element> &ResizeTo(const TMatrixTSparse<Element> &m) {return ResizeTo(m.GetRowLwb(),m.GetRowUpb(),m.GetColLwb(),
m.GetColUpb(),m.GetNoElements()); } m.GetColUpb(),m.GetNoElements()); }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TMatrixTSym.h   TMatrixTSym.h 
// @(#)root/matrix:$Id: TMatrixTSym.h 27658 2009-02-28 05:34:57Z pcanal $ // @(#)root/matrix:$Id: TMatrixTSym.h 32616 2010-03-15 16:56:42Z rdm $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TMatrixTSym #ifndef ROOT_TMatrixTSym
#define ROOT_TMatrixTSym #define ROOT_TMatrixTSym
skipping to change at line 48 skipping to change at line 48
protected: protected:
Element fDataStack[TMatrixTBase<Element>::kSizeMax]; //! data container Element fDataStack[TMatrixTBase<Element>::kSizeMax]; //! data container
Element *fElements; //[fNelems] elemen ts themselves Element *fElements; //[fNelems] elemen ts themselves
Element *New_m (Int_t size); Element *New_m (Int_t size);
void Delete_m(Int_t size,Element*&); void Delete_m(Int_t size,Element*&);
Int_t Memcpy_m(Element *newp,const Element *oldp,Int_t copySize, Int_t Memcpy_m(Element *newp,const Element *oldp,Int_t copySize,
Int_t newSize,Int_t oldSize); Int_t newSize,Int_t oldSize);
void Allocate(Int_t nrows,Int_t ncols,Int_t row_lwb = 0,Int_t col_lw b = 0,Int_t init = 0, void Allocate(Int_t nrows,Int_t ncols,Int_t row_lwb = 0,Int_t col_lw b = 0,Int_t init = 0,
Int_t nr_nonzeros = -1); Int_t /*nr_nonzeros*/ = -1);
public: public:
enum {kWorkMax = 100}; // size of work array enum {kWorkMax = 100}; // size of work array
enum EMatrixCreatorsOp1 { kZero,kUnit,kTransposed,kInverted,kAtA }; enum EMatrixCreatorsOp1 { kZero,kUnit,kTransposed,kInverted,kAtA };
enum EMatrixCreatorsOp2 { kPlus,kMinus }; enum EMatrixCreatorsOp2 { kPlus,kMinus };
TMatrixTSym() { fElements = 0; } TMatrixTSym() { fElements = 0; }
explicit TMatrixTSym(Int_t nrows); explicit TMatrixTSym(Int_t nrows);
TMatrixTSym(Int_t row_lwb,Int_t row_upb); TMatrixTSym(Int_t row_lwb,Int_t row_upb);
skipping to change at line 117 skipping to change at line 117
TMatrixTSym <Element> &GetSub (Int_t row_lwb,Int_t row_up b,TMatrixTSym<Element> &target,Option_t *option="S") const; TMatrixTSym <Element> &GetSub (Int_t row_lwb,Int_t row_up b,TMatrixTSym<Element> &target,Option_t *option="S") const;
virtual TMatrixTBase<Element> &GetSub (Int_t row_lwb,Int_t row_up b,Int_t col_lwb,Int_t col_upb, virtual TMatrixTBase<Element> &GetSub (Int_t row_lwb,Int_t row_up b,Int_t col_lwb,Int_t col_upb,
TMatrixTBase<Element> &targ et,Option_t *option="S") const; TMatrixTBase<Element> &targ et,Option_t *option="S") const;
TMatrixTSym <Element> GetSub (Int_t row_lwb,Int_t row_up b,Int_t col_lwb,Int_t col_upb,Option_t *option="S") const; TMatrixTSym <Element> GetSub (Int_t row_lwb,Int_t row_up b,Int_t col_lwb,Int_t col_upb,Option_t *option="S") const;
TMatrixTSym <Element> &SetSub (Int_t row_lwb,const TMatri xTBase<Element> &source); TMatrixTSym <Element> &SetSub (Int_t row_lwb,const TMatri xTBase<Element> &source);
virtual TMatrixTBase<Element> &SetSub (Int_t row_lwb,Int_t col_lw b,const TMatrixTBase<Element> &source); virtual TMatrixTBase<Element> &SetSub (Int_t row_lwb,Int_t col_lw b,const TMatrixTBase<Element> &source);
virtual TMatrixTBase<Element> &SetMatrixArray(const Element *data, Optio n_t *option=""); virtual TMatrixTBase<Element> &SetMatrixArray(const Element *data, Optio n_t *option="");
virtual TMatrixTBase<Element> &Shift (Int_t row_shift,Int_t col_ shift); virtual TMatrixTBase<Element> &Shift (Int_t row_shift,Int_t col_ shift);
virtual TMatrixTBase<Element> &ResizeTo (Int_t nrows,Int_t ncols,In virtual TMatrixTBase<Element> &ResizeTo (Int_t nrows,Int_t ncols,In
t_t nr_nonzeros=-1); t_t /*nr_nonzeros*/ =-1);
virtual TMatrixTBase<Element> &ResizeTo (Int_t row_lwb,Int_t row_up virtual TMatrixTBase<Element> &ResizeTo (Int_t row_lwb,Int_t row_up
b,Int_t col_lwb,Int_t col_upb,Int_t nr_nonzeros=-1); b,Int_t col_lwb,Int_t col_upb,Int_t /*nr_nonzeros*/ =-1);
inline TMatrixTBase<Element> &ResizeTo (const TMatrixTSym<Element> &m) { inline TMatrixTBase<Element> &ResizeTo (const TMatrixTSym<Element> &m) {
return ResizeTo(m.GetRowLwb (),m.GetRowUpb(),m.GetColLwb(),m.GetColUpb()); } return ResizeTo(m.GetRowLwb (),m.GetRowUpb(),m.GetColLwb(),m.GetColUpb()); }
virtual Double_t Determinant () const; virtual Double_t Determinant () const;
virtual void Determinant (Double_t &d1,Double_t &d2) const; virtual void Determinant (Double_t &d1,Double_t &d2) const;
TMatrixTSym<Element> &Invert (Double_t *det=0); TMatrixTSym<Element> &Invert (Double_t *det=0);
TMatrixTSym<Element> &InvertFast (Double_t *det=0); TMatrixTSym<Element> &InvertFast (Double_t *det=0);
TMatrixTSym<Element> &Transpose (const TMatrixTSym<Element> &source); TMatrixTSym<Element> &Transpose (const TMatrixTSym<Element> &source);
inline TMatrixTSym<Element> &T () { return this->Transpose (*this); } inline TMatrixTSym<Element> &T () { return this->Transpose (*this); }
 End of changes. 3 change blocks. 
6 lines changed or deleted 6 lines changed or added


 TMemStat.h   TMemStat.h 
// @(#)root/memstat:$Name$:$Id: TMemStat.h 30815 2009-10-20 13:49:22Z rdm $ // @(#)root/memstat:$Id: TMemStat.h 32847 2010-03-31 10:29:17Z anar $
// Author: D.Bertini and M.Ivanov 18/06/2007 -- Anar Manafov (A.Manafov@g // Author: Anar Manafov (A.Manafov@gsi.de) 2008-03-02
si.de) 28/04/2008
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2010, 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_TMemStat #ifndef ROOT_TMemStat
#define ROOT_TMemStat #define ROOT_TMemStat
// STD class TMemStat: public TObject {
#include <memory>
#include <vector>
#include <set>
// ROOT
#ifndef ROOT_TString
#include "TString.h"
#endif
#ifndef ROOT_TObjArray
#include "TObjArray.h"
#endif
#ifndef ROOT_TFile
#include "TFile.h"
#endif
#ifndef ROOT_TObjString
#include "TObjString.h"
#endif
class TArrayI;
class TBits;
class TTree;
class TMemStatManager;
class TGraph;
class TMemStatCodeInfo;
class TMemStatInfoStamp;
typedef std::vector<UInt_t> UIntVector_t;
typedef std::vector<Int_t> IntVector_t;
typedef std::auto_ptr<TFile> TFilePtr;
class TMemStat: public TObject
{
public:
typedef std::set<std::string> Selection_t;
enum ESelection { kFunction, kLibrary };
enum StatType { kTotalAllocCount = 0, kAllocCount = 2, kTotalAllocSize
= 1, kAllocSize = 3, kUndef = 4};
enum StampType { kCurrent = 0, kMaxSize = 1, kMaxCount = 2};
enum OperType { kAND = 0, kOR = 1, kNOT = 2};
private: private:
StatType fSortStat; // sorting statistic type Bool_t fIsActive; // is object attached to MemStat
StampType fSortStamp; // sorting stamp type
Double_t fMaximum; // maximum value of all graph
s
UInt_t fSortDeep; // Deepness of the informatio
n to be print - draw
UInt_t fStackDeep; // Deepness of the stack info
rmation
UInt_t fMaxStringLength; // max length of information
string
Int_t fSelected; // index of selected object
Bool_t fIsActive; // is object attached to MemS
tat
Bool_t fOrder; // sorting order
UIntVector_t fSelectedCodeIndex; // vector of indexes of selec
ted items - code
UIntVector_t fSelectedStackIndex; // vector of indexes of selec
ted items - stack
IntVector_t fArrayIndexes; // indexes of selected object
s
TBits* fSelectedCodeBitmap; // bitmask of selected item
s - code
TBits* fSelectedStackBitmap; // bitmask of selected item
s - stack
TFilePtr fFile; // current file with informat
ion - stamps
TObjArray* fStampArray; // array of stamp names
TObjArray* fArray; // array of objects to draw
TObjArray* fArrayGraphics; // array of graphic objects
TObjArray fDisablePrintLib; // disable printing for libra
ries
TObjArray fDisablePrintCode; // disable printing for libra
ries
TString fOption; // current options
TTree* fTree; // current tree with informat
ion - stamps
TTree* fTreeSys; // tree with system informati
on
TMemStatInfoStamp* fStackSummary; // summary information for se
lected stack
TMemStatManager* fManager; // current MemStatManager
private :
Int_t DistancetoPrimitive(Int_t px, Int_t py);
Bool_t GetMemStat(const char * fname, Int_t entry);
Bool_t EnabledCode(const TMemStatCodeInfo &info) const;
void ExecuteEvent(Int_t event, Int_t px, Int_t py);
void MakeCodeArray();
TGraph* MakeGraph(StatType statType, Int_t id, Int_t type, Double_t &
xmax, Double_t &ymax);
TObjArray* MakeGraphCode(StatType statType, Int_t nentries);
TObjArray* MakeGraphStack(StatType statType, Int_t nentries);
void MakeStampsText();
void MakeStackArray();
void ProcessOption(Option_t *option);
void RefreshSelect();
public: public:
TMemStat(Option_t* option = "read"); TMemStat(Option_t* option = "read");
virtual ~TMemStat(); virtual ~TMemStat();
public: ClassDef(TMemStat, 0) // a user interface class of MemStat
void AddStamp(const char*stampName);
void Draw(Option_t *option = "");
void GetFillSelection(Selection_t *_Container, ESelection _S
election) const;
const Option_t* GetOption() const {
return fOption.Data();
}
TObjArray* GetStampList();
UInt_t GetStackDeep() const
{
return fStackDeep;
}
UInt_t GetSortDeep() const
{
return fSortDeep;
}
UInt_t GetMaxStringLength() const
{
return fMaxStringLength;
}
virtual char *GetObjectInfo(Int_t px, Int_t py) const;
void MakeReport(const char * lib = "", const char *fun = "",
Option_t* option = NULL, const char *fileNam
e = "");
void MakeHisMemoryStamp(Int_t topDiff);
void MakeHisMemoryTime();
void Paint(Option_t *option = "");
void PrintCode(Int_t nentries = 10) const;
void PrintCodeWithID(UInt_t index) const;
void PrintStack(Int_t nentries = 10, UInt_t deep = 1) const;
void PrintStackWithID(UInt_t _id, UInt_t _deep = 0) const;
void Report(Option_t* option = "");
void ResetSelection();
void SetAutoStamp(Int_t autoStampSize = 2000000, Int_t autoS
tampAlloc = 200000);
void SetCurrentStamp(const char *stampName);
void SetCurrentStamp(const TObjString &stampName);
void SetSortStat(StatType NewVal)
{
fSortStat = NewVal;
}
void SetSortStamp(StampType NewVal)
{
fSortStamp= NewVal;
}
void SetStackDeep(UInt_t NewVal)
{
fStackDeep = NewVal;
}
void SetSortDeep(UInt_t NewVal)
{
fSortDeep = NewVal;
}
void SelectCode(const char *contlib = "",
const char *contfunction = "", OperType oTyp
e = kOR);
void SelectStack(OperType oType = kOR);
void SortCode(StatType sortType, StampType stampType);
void SortStack(StatType sortType, StampType stampType);
ClassDef(TMemStat, 0) // a user interface class of memstat
}; };
#endif #endif
 End of changes. 5 change blocks. 
169 lines changed or deleted 11 lines changed or added


 TMemStatHelpers.h   TMemStatHelpers.h 
// @(#)root/memstat:$Name$:$Id: TMemStatHelpers.h 30815 2009-10-20 13:49:22 // @(#)root/memstat:$Id: TMemStatHelpers.h 32768 2010-03-25 15:34:18Z pcana
Z rdm $ l $
// Author: Anar Manafov (A.Manafov@gsi.de) 09/05/2008 // Author: Anar Manafov (A.Manafov@gsi.de) 2008-03-02
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2010, 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_TMemStatHelpers #ifndef ROOT_TMemStatHelpers
#define ROOT_TMemStatHelpers #define ROOT_TMemStatHelpers
// ROOT // ROOT
#ifndef ROOT_TString
#include "TString.h" #include "TString.h"
#endif
#ifndef ROOT_TObjString
#include "TObjString.h" #include "TObjString.h"
#endif
#ifndef ROOT_TCollection
#include "TCollection.h" #include "TCollection.h"
#endif
// STD // STD
#include <string> #include <string>
#include <functional> #include <functional>
#include <algorithm> #include <algorithm>
#include <cctype> #include <cctype>
class TObject; class TObject;
namespace Memstat namespace memstat {
{ std::string dig2bytes(Long64_t bytes);
std::string dig2bytes(Long64_t bytes);
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
struct SFind_t : std::binary_function<TObject*, TString, bool> { struct SFind_t : std::binary_function<TObject*, TString, bool> {
bool operator()(TObject *_Obj, const TString &_ToFind) const bool operator()(TObject *_Obj, const TString &_ToFind) const {
{ TObjString *str(dynamic_cast<TObjString*>(_Obj));
TObjString *str(dynamic_cast<TObjString*>(_Obj)); if(!str)
if (!str) return false;
return false; return !str->String().CompareTo(_ToFind);
return !str->String().CompareTo(_ToFind); }
} };
};
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
template<class T> template<class T>
Int_t find_string( const T &_Container, const TString &_ToFind ) Int_t find_string(const T &_Container, const TString &_ToFind)
{ {
// This function retuns an index in _Container of found element. // This function retuns an index in _Container of found element.
// Returns -1 if there was no element found. // Returns -1 if there was no element found.
typedef TIterCategory<T> iterator_t; typedef TIterCategory<T> iterator_t;
iterator_t iter(&_Container); iterator_t iter(&_Container);
iterator_t found( iterator_t found(
std::find_if(iter.Begin(), iterator_t::End(), bind2nd(SFind_t(), _ToF std::find_if(iter.Begin(), iterator_t::End(), bind2nd(SFind_t(), _
ind)) ToFind))
); );
return ( ( !(*found) )? -1: std::distance(iter.Begin(), found) ); return ((!(*found)) ? -1 : std::distance(iter.Begin(), found));
} }
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
// HACK: because of the bug in gcc 3.3 we need to use this nasty ToLower an d ToUpper instead of direct calls of tolower (tolower.. is inline in this v ersion of std lib)... // HACK: because of the bug in gcc 3.3 we need to use this nasty ToLower an d ToUpper instead of direct calls of tolower (tolower.. is inline in this v ersion of std lib)...
struct ToLower_t struct ToLower_t {
{ char operator()(char c) const {
char operator() ( char c ) const return std::tolower(c);
{ }
return std::tolower( c ); };
}
};
}; }
#endif #endif
 End of changes. 11 change blocks. 
51 lines changed or deleted 40 lines changed or added


 TMinuitMinimizer.h   TMinuitMinimizer.h 
// @(#)root/minuit:$Id: TMinuitMinimizer.h 31604 2009-12-07 19:04:33Z monet a $ // @(#)root/minuit:$Id: TMinuitMinimizer.h 32479 2010-03-05 14:31:15Z 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 193 skipping to change at line 193
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();
///release a parameter that is fixed when it is redefined
void DoReleaseFixParameter( int ivar);
/// retrieve minimum parameters and errors from TMinuit /// retrieve minimum parameters and errors from TMinuit
void RetrieveParams(); void RetrieveParams();
/// retrieve error matrix from TMinuit /// retrieve error matrix from TMinuit
void RetrieveErrorMatrix(); void RetrieveErrorMatrix();
private: private:
bool fUsed; bool fUsed;
bool fMinosRun; bool fMinosRun;
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TObjArray.h   TObjArray.h 
// @(#)root/cont:$Id: TObjArray.h 30137 2009-09-14 10:12:23Z rdm $ // @(#)root/cont:$Id: TObjArray.h 32781 2010-03-26 13:06:14Z pcanal $
// Author: Fons Rademakers 11/09/95 // Author: Fons Rademakers 11/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 30 skipping to change at line 30
// elements (shrinking can be done by hand). // // elements (shrinking can be done by hand). //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TSeqCollection #ifndef ROOT_TSeqCollection
#include "TSeqCollection.h" #include "TSeqCollection.h"
#endif #endif
#include <iterator> #include <iterator>
#if (__GNUC__ >= 3) && !defined(__INTEL_COMPILER)
// Prevent -Weffc++ from complaining about the inheritance
// TObjArrayIter from std::iterator.
#pragma GCC system_header
#endif
class TObjArrayIter; class TObjArrayIter;
class TObjArray : public TSeqCollection { class TObjArray : public TSeqCollection {
friend class TObjArrayIter; friend class TObjArrayIter;
friend class TClonesArray; friend class TClonesArray;
protected: protected:
TObject **fCont; //!Array contents TObject **fCont; //!Array contents
Int_t fLowerBound; //Lower bound of the array Int_t fLowerBound; //Lower bound of the array
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 TPacketizerAdaptive.h   TPacketizerAdaptive.h 
// @(#)root/proofplayer:$Id: TPacketizerAdaptive.h 30859 2009-10-24 14:53:0 7Z ganis $ // @(#)root/proofplayer:$Id: TPacketizerAdaptive.h 32204 2010-02-03 19:17:4 0Z ganis $
// Author: Jan Iwaszkiewicz 11/12/06 // Author: Jan Iwaszkiewicz 11/12/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 60 skipping to change at line 60
public: // public because of Sun CC bug public: // public because of Sun CC bug
class TFileNode; class TFileNode;
class TFileStat; class TFileStat;
class TSlaveStat; class TSlaveStat;
private: private:
TList *fFileNodes; // nodes with files TList *fFileNodes; // nodes with files
TList *fUnAllocated; // nodes with unallocated files TList *fUnAllocated; // nodes with unallocated files
TList *fActive; // nodes with unfinished files TList *fActive; // nodes with unfinished files
TMap *fSlaveStats; // slave status, keyed by correspondig TSl
ave
Int_t fMaxPerfIdx; // maximum of our slaves' performance inde x Int_t fMaxPerfIdx; // maximum of our slaves' performance inde x
Float_t fFractionOfRemoteFiles; // fraction of TDSetElements Float_t fFractionOfRemoteFiles; // fraction of TDSetElements
// that are on non slaves // that are on non slaves
Long64_t fNEventsOnRemLoc; // number of events in currently Long64_t fNEventsOnRemLoc; // number of events in currently
// unalloc files on non-worker lo c. // unalloc files on non-worker lo c.
Float_t fBaseLocalPreference; // indicates how much more likely Float_t fBaseLocalPreference; // indicates how much more likely
// the nodes will be to open their local files (1 means indifferent) // the nodes will be to open their local files (1 means indifferent)
Bool_t fForceLocal; // if 1 - eliminate the remote processing Bool_t fForceLocal; // if 1 - eliminate the remote processing
skipping to change at line 91 skipping to change at line 89
void RemoveActiveNode(TFileNode *); void RemoveActiveNode(TFileNode *);
TFileStat *GetNextUnAlloc(TFileNode *node = 0); TFileStat *GetNextUnAlloc(TFileNode *node = 0);
TFileStat *GetNextActive(); TFileStat *GetNextActive();
void RemoveActive(TFileStat *file); void RemoveActive(TFileStat *file);
void Reset(); void Reset();
void ValidateFiles(TDSet *dset, TList *slaves); void ValidateFiles(TDSet *dset, TList *slaves);
Int_t ReassignPacket(TDSetElement *e, TList **listOfMissingFile s); Int_t ReassignPacket(TDSetElement *e, TList **listOfMissingFile s);
void SplitPerHost(TList *elements, TList **listOfMissingFiles) ; void SplitPerHost(TList *elements, TList **listOfMissingFiles) ;
Int_t AddProcessed(TSlave *sl, TProofProgressStatus *st,
Double_t latency, TList **listOfMissingFiles
= 0);
public: public:
static Long_t fgMaxSlaveCnt; // maximum number of workers per filenod e (Long_t to avoid static Long_t fgMaxSlaveCnt; // maximum number of workers per filenod e (Long_t to avoid
// warnings from backward compatibility support) // warnings from backward compatibility support)
static Int_t fgPacketAsAFraction; // used to calculate the packet siz e static Int_t fgPacketAsAFraction; // used to calculate the packet siz e
// fPacketSize = fTotalEntries / (fPacket AsAFraction * nslaves) // fPacketSize = fTotalEntries / (fPacket AsAFraction * nslaves)
// fPacketAsAFraction can be interpreted as follows: // fPacketAsAFraction can be interpreted as follows:
// assuming all slaves have equal process ing rate, packet size // assuming all slaves have equal process ing rate, packet size
// is (#events processed by 1 slave) / fP acketSizeAsAFraction. // is (#events processed by 1 slave) / fP acketSizeAsAFraction.
// It can be set with PROOF_PacketAsAFrac tion in input list. // It can be set with PROOF_PacketAsAFrac tion in input list.
static Double_t fgMinPacketTime; // minimum packet time static Double_t fgMinPacketTime; // minimum packet time
static Double_t fgMaxPacketTime; // maximum packet time static Double_t fgMaxPacketTime; // maximum packet time
static Int_t fgStrategy; // 0 means the classic and 1 (default) - the adaptive strategy static Int_t fgStrategy; // 0 means the classic and 1 (default) - the adaptive strategy
TPacketizerAdaptive(TDSet *dset, TList *slaves, Long64_t first, Long64_t num, TPacketizerAdaptive(TDSet *dset, TList *slaves, Long64_t first, Long64_t num,
TList *input, TProofProgressStatus *st); TList *input, TProofProgressStatus *st);
virtual ~TPacketizerAdaptive(); virtual ~TPacketizerAdaptive();
Int_t AddProcessed(TSlave *sl, TProofProgressStatus *st,
Double_t latency, TList **listOfMissingFiles
= 0);
Int_t GetEstEntriesProcessed(Float_t, Long64_t &ent, Long64_t &b ytes, Long64_t &calls); Int_t GetEstEntriesProcessed(Float_t, Long64_t &ent, Long64_t &b ytes, Long64_t &calls);
Float_t GetCurrentRate(Bool_t &all); Float_t GetCurrentRate(Bool_t &all);
Int_t CalculatePacketSize(TObject *slstat, Long64_t cachesz, Int _t learnent); Int_t CalculatePacketSize(TObject *slstat, Long64_t cachesz, Int _t learnent);
TDSetElement *GetNextPacket(TSlave *sl, TMessage *r); TDSetElement *GetNextPacket(TSlave *sl, TMessage *r);
void MarkBad(TSlave *s, TProofProgressStatus *status, TList **m issingFiles); void MarkBad(TSlave *s, TProofProgressStatus *status, TList **m issingFiles);
Int_t GetActiveWorkers(); Int_t GetActiveWorkers();
ClassDef(TPacketizerAdaptive,0) //Generate work packets for parallel pr ocessing ClassDef(TPacketizerAdaptive,0) //Generate work packets for parallel pr ocessing
}; };
 End of changes. 4 change blocks. 
7 lines changed or deleted 4 lines changed or added


 TPadPainter.h   TPadPainter.h 
skipping to change at line 78 skipping to change at line 78
void DrawPolyLine(Int_t n, const Double_t *x, const Double_t *y); void DrawPolyLine(Int_t n, const Double_t *x, const Double_t *y);
void DrawPolyLine(Int_t n, const Float_t *x, const Float_t *y); void DrawPolyLine(Int_t n, const Float_t *x, const Float_t *y);
void DrawPolyLineNDC(Int_t n, const Double_t *u, const Double_t *v); void DrawPolyLineNDC(Int_t n, const Double_t *u, const Double_t *v);
//TPad needs both versions. //TPad needs both versions.
void DrawPolyMarker(Int_t n, const Double_t *x, const Double_t *y); void DrawPolyMarker(Int_t n, const Double_t *x, const Double_t *y);
void DrawPolyMarker(Int_t n, const Float_t *x, const Float_t *y); void DrawPolyMarker(Int_t n, const Float_t *x, const Float_t *y);
void DrawText(Double_t x, Double_t y, const char *text, ETextMode mo de); void DrawText(Double_t x, Double_t y, const char *text, ETextMode mo de);
void DrawTextNDC(Double_t u, Double_t v, const char *text, ETextMode mode); void DrawTextNDC(Double_t u, Double_t v, const char *text, ETextMode mode);
//jpg, png, bmp, gif output.
void SaveImage(TVirtualPad *pad, const char *fileName, Int_t type) c
onst;
private: private:
TPadPainter(const TPadPainter &rhs); TPadPainter(const TPadPainter &rhs);
TPadPainter & operator = (const TPadPainter &rhs); TPadPainter & operator = (const TPadPainter &rhs);
ClassDef(TPadPainter, 0) //Abstract interface for painting in TPad ClassDef(TPadPainter, 0) //Abstract interface for painting in TPad
}; };
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 5 lines changed or added


 TParticlePDG.h   TParticlePDG.h 
// @(#)root/eg:$Id: TParticlePDG.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/eg:$Id: TParticlePDG.h 31956 2010-01-04 10:13:13Z brun $
// Author: Pasha Murat 12/02/99 // Author: Pasha Murat 12/02/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. *
*************************************************************************/ *************************************************************************/
#ifndef TParticlePDG_hh #ifndef TParticlePDG_hh
skipping to change at line 32 skipping to change at line 32
class TParticlePDG : public TNamed { class TParticlePDG : public TNamed {
public: public:
//------------------------------------------------------------------------- ----- //------------------------------------------------------------------------- -----
// data members // data members
//------------------------------------------------------------------------- ----- //------------------------------------------------------------------------- -----
protected: protected:
Int_t fPdgCode; // PDG code of the particle Int_t fPdgCode; // PDG code of the particle
Double_t fMass; // particle mass in GeV Double_t fMass; // particle mass in GeV
Double_t fCharge; // charge in units of |e|/3 Double_t fCharge; // charge in units of |e|/3
Double_t fLifetime; // proper lifetime in nanos econds Double_t fLifetime; // proper lifetime in secon ds
Double_t fWidth; // total width in GeV Double_t fWidth; // total width in GeV
Int_t fParity; Int_t fParity;
Double_t fSpin; Double_t fSpin;
Double_t fIsospin; // isospin Double_t fIsospin; // isospin
Double_t fI3; // i3 Double_t fI3; // i3
Int_t fStrangeness; // flavours are defined if i3 != -1 Int_t fStrangeness; // flavours are defined if i3 != -1
Int_t fCharm; // 1 or -1 for C-particles, Int_t fCharm; // 1 or -1 for C-particles,
// 0 for others // 0 for others
Int_t fBeauty; // Int_t fBeauty; //
Int_t fTop; // Int_t fTop; //
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TPieEditor.h   TPieEditor.h 
// @(#)root/ged:$Id: TPieEditor.h 31945 2009-12-21 19:03:21Z rdm $
// Author: Guido Volpi 04/10/2007 // Author: Guido Volpi 04/10/2007
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 34 skipping to change at line 35
#endif #endif
class TPie; class TPie;
class TGButtonGroup; class TGButtonGroup;
class TGTextEntry; class TGTextEntry;
class TGCheckButton; class TGCheckButton;
class TGRadioButton; class TGRadioButton;
class TGNumberEntry; class TGNumberEntry;
class TGColorSelect; class TGColorSelect;
class TGFontTypeComboBox; class TGFontTypeComboBox;
class TGCombox; class TGComboBox;
class TPieEditor : public TGedFrame { class TPieEditor : public TGedFrame {
protected: protected:
char fDrawShape; // Shape of the Graph (simple, smooth , bar) char fDrawShape; // Shape of the Graph (simple, smooth , bar)
TGTextEntry *fTitle; // Contains the title of the graph TGTextEntry *fTitle; // Contains the title of the graph
Int_t fTitlePrec; // font precision level Int_t fTitlePrec; // font precision level
TPie *fPie; // Pie object TPie *fPie; // Pie object
TGButtonGroup *fgr; // Group the Radiobuttons: TGButtonGroup *fgr; // Group the Radiobuttons:
TGRadioButton *fLblDirH; // Draw slice's labels horizontal TGRadioButton *fLblDirH; // Draw slice's labels horizontal
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TPluginManager.h   TPluginManager.h 
// @(#)root/base:$Id: TPluginManager.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TPluginManager.h 32284 2010-02-08 15:57:44Z rdm $
// Author: Fons Rademakers 26/1/2002 // Author: Fons Rademakers 26/1/2002
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 30 skipping to change at line 30
// a list of plugin handlers. A plugin handler knows which plugin // // a list of plugin handlers. A plugin handler knows which plugin //
// library to load to get a specific class that is used to extend the // // library to load to get a specific class that is used to extend the //
// functionality of a specific base class and how to create an object // // functionality of a specific base class and how to create an object //
// of this class. For example, to extend the base class TFile to be // // of this class. For example, to extend the base class TFile to be //
// able to read RFIO files one needs to load the plugin library // // able to read RFIO files one needs to load the plugin library //
// libRFIO.so which defines the TRFIOFile class. This loading should // // libRFIO.so which defines the TRFIOFile class. This loading should //
// be triggered when a given URI contains a regular expression defined // // be triggered when a given URI contains a regular expression defined //
// by the handler. // // by the handler. //
// Plugin handlers can be defined via macros in a list of plugin // // Plugin handlers can be defined via macros in a list of plugin //
// directories. With $ROOTSYS/etc/plugins the default top plugin // // directories. With $ROOTSYS/etc/plugins the default top plugin //
// directory specified in $ROOTSYS/etc/system.rootrc. The macros must // // directory specified in $ROOTSYS/etc/system.rootrc. Additional //
// have names like <BaseClass>/PX0_<PluginClass>.C, e.g.: // // directories can be specified by adding them to the end of the list. //
// Macros for identical plugin handlers in later directories will //
// override previous ones (the inverse of normal search path behavior). //
// The macros must have names like <BaseClass>/PX0_<PluginClass>.C, //
// e.g.: //
// TFile/P10_TRFIOFile.C, TSQLServer/P20_TMySQLServer.C, etc. // // TFile/P10_TRFIOFile.C, TSQLServer/P20_TMySQLServer.C, etc. //
// to allow easy sorting and grouping. If the BaseClass is in a // // to allow easy sorting and grouping. If the BaseClass is in a //
// namespace the directory must have the name NameSpace@@BaseClass as // // namespace the directory must have the name NameSpace@@BaseClass as //
// : is a reserved pathname character on some operating systems. // // : is a reserved pathname character on some operating systems. //
// Macros not beginning with 'P' and ending with ".C" are ignored. // // Macros not beginning with 'P' and ending with ".C" are ignored. //
// These macros typically look like: // // These macros typically look like: //
// // // //
// void P10_TDCacheFile() // // void P10_TDCacheFile() //
// { // // { //
// gPluginMgr->AddHandler("TFile", "^dcache", "TDCacheFile", // // gPluginMgr->AddHandler("TFile", "^dcache", "TDCacheFile", //
skipping to change at line 136 skipping to change at line 140
const char *GetRegexp() const { return fRegexp; } const char *GetRegexp() const { return fRegexp; }
const char *GetPlugin() const { return fPlugin; } const char *GetPlugin() const { return fPlugin; }
const char *GetCtor() const { return fCtor; } const char *GetCtor() const { return fCtor; }
const char *GetOrigin() const { return fOrigin; } const char *GetOrigin() const { return fOrigin; }
Bool_t CanHandle(const char *base, const char *uri); Bool_t CanHandle(const char *base, const char *uri);
void SetupCallEnv(); void SetupCallEnv();
public: public:
const char *GetClass() const { return fClass; } const char *GetClass() const { return fClass; }
Int_t CheckPlugin(); Int_t CheckPlugin() const;
Int_t LoadPlugin(); Int_t LoadPlugin();
Long_t ExecPlugin(Int_t nargs, ...); Long_t ExecPlugin(Int_t nargs, ...);
void Print(Option_t *opt = "") const;
ClassDef(TPluginHandler,3) // Handler for plugin libraries ClassDef(TPluginHandler,3) // Handler for plugin libraries
}; };
class TPluginManager : public TObject { class TPluginManager : public TObject {
private: private:
TList *fHandlers; // list of plugin handlers TList *fHandlers; // list of plugin handlers
THashTable *fBasesLoaded; //! table of base classes already checked or loaded THashTable *fBasesLoaded; //! table of base classes already checked or loaded
Bool_t fReadingDirs; //! true if we are running LoadHandlersFromPl uginDirs Bool_t fReadingDirs; //! true if we are running LoadHandlersFromPl uginDirs
 End of changes. 4 change blocks. 
4 lines changed or deleted 10 lines changed or added


 TProof.h   TProof.h 
// @(#)root/proof:$Id: TProof.h 31520 2009-12-03 12:58:41Z brun $ // @(#)root/proof:$Id: TProof.h 33209 2010-04-26 10:27:40Z 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 26 skipping to change at line 26
// // // //
// TProof // // TProof //
// // // //
// This class controls a Parallel ROOT Facility, PROOF, cluster. // // This class controls a Parallel ROOT Facility, PROOF, cluster. //
// It fires the worker servers, it keeps track of how many workers are // // It fires the worker servers, it keeps track of how many workers are //
// running, it keeps track of the workers running status, it broadcasts // // running, it keeps track of the workers running status, it broadcasts //
// messages to all workers, it collects results, etc. // // messages to all workers, it collects results, etc. //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TProof
#include "TProof.h"
#endif
#ifndef ROOT_TProofMgr #ifndef ROOT_TProofMgr
#include "TProofMgr.h" #include "TProofMgr.h"
#endif #endif
#ifndef ROOT_TProofDebug #ifndef ROOT_TProofDebug
#include "TProofDebug.h" #include "TProofDebug.h"
#endif #endif
#ifndef ROOT_TString #ifndef ROOT_TString
#include "TString.h" #include "TString.h"
#endif #endif
#ifndef ROOT_MessageTypes #ifndef ROOT_MessageTypes
#include "MessageTypes.h" #include "MessageTypes.h"
#endif #endif
#ifndef ROOT_TMD5 #ifndef ROOT_TMD5
#include "TMD5.h" #include "TMD5.h"
#endif #endif
#ifndef ROOT_TRegexp
#include "TRegexp.h"
#endif
#ifndef ROOT_TSysEvtHandler #ifndef ROOT_TSysEvtHandler
#include "TSysEvtHandler.h" #include "TSysEvtHandler.h"
#endif #endif
#ifndef ROOT_TThread #ifndef ROOT_TThread
#include "TThread.h" #include "TThread.h"
#endif #endif
#ifndef ROOT_TUrl #ifndef ROOT_TUrl
#include "TUrl.h" #include "TUrl.h"
#endif #endif
skipping to change at line 93 skipping to change at line 93
class TQueryResult; class TQueryResult;
class TSignalHandler; class TSignalHandler;
class TSlave; class TSlave;
class TSemaphore; class TSemaphore;
class TSocket; class TSocket;
class TTree; class TTree;
class TVirtualMutex; class TVirtualMutex;
class TFileCollection; class TFileCollection;
class TMap; class TMap;
class TDataSetManager; class TDataSetManager;
class TMacro;
// protocol changes: // protocol changes:
// 1 -> 2: new arguments for Process() command, option added // 1 -> 2: new arguments for Process() command, option added
// 2 -> 3: package manager enabling protocol changed // 2 -> 3: package manager enabling protocol changed
// 3 -> 4: introduction of multi-level-master support // 3 -> 4: introduction of multi-level-master support
// 4 -> 5: added friends support // 4 -> 5: added friends support
// 5 -> 6: drop TFTP, support for asynchronous queries // 5 -> 6: drop TFTP, support for asynchronous queries
// 6 -> 7: support for multisessions, archieve, retrieve, ... // 6 -> 7: support for multisessions, archieve, retrieve, ...
// 7 -> 8: return number of entries in GetNextPacket // 7 -> 8: return number of entries in GetNextPacket
// 8 -> 9: support for stateless connection via xproofd // 8 -> 9: support for stateless connection via xproofd
skipping to change at line 122 skipping to change at line 123
// 18 -> 19: TProofProgressStatus used in kPROOF_PROGRESS, kPROOF_STOPPROCE SS // 18 -> 19: TProofProgressStatus used in kPROOF_PROGRESS, kPROOF_STOPPROCE SS
// and kPROOF_GETNEXTPACKET messages in Master - worker communica tion // and kPROOF_GETNEXTPACKET messages in Master - worker communica tion
// 19 -> 20: Fix the asynchronous mode (required changes in some messages) // 19 -> 20: Fix the asynchronous mode (required changes in some messages)
// 20 -> 21: Add support for session queuing // 20 -> 21: Add support for session queuing
// 21 -> 22: Add support for switching from sync to async while running ('C trl-Z' functionality) // 21 -> 22: Add support for switching from sync to async while running ('C trl-Z' functionality)
// 22 -> 23: New dataset features (default tree name; classification per fi leserver) // 22 -> 23: New dataset features (default tree name; classification per fi leserver)
// 23 -> 24: Merging optimization // 23 -> 24: Merging optimization
// 24 -> 25: Handling of 'data' dir; group information // 24 -> 25: Handling of 'data' dir; group information
// 25 -> 26: Use new TProofProgressInfo class // 25 -> 26: Use new TProofProgressInfo class
// 26 -> 27: Use new file for updating the session status // 26 -> 27: Use new file for updating the session status
// 27 -> 28: Support for multi-datasets, fix global pack dirs, fix AskStati
stics,
// package download, dataset caching
// PROOF magic constants // PROOF magic constants
const Int_t kPROOF_Protocol = 27; // protocol versi on number const Int_t kPROOF_Protocol = 28; // protocol versi on number
const Int_t kPROOF_Port = 1093; // IANA registere d PROOF port const Int_t kPROOF_Port = 1093; // IANA registere d PROOF port
const char* const kPROOF_ConfFile = "proof.conf"; // default config file const char* const kPROOF_ConfFile = "proof.conf"; // default config file
const char* const kPROOF_ConfDir = "/usr/local/root"; // default c onfig dir const char* const kPROOF_ConfDir = "/usr/local/root"; // default c onfig dir
const char* const kPROOF_WorkDir = ".proof"; // default workin g directory const char* const kPROOF_WorkDir = ".proof"; // default workin g directory
const char* const kPROOF_CacheDir = "cache"; // file cache dir , under WorkDir const char* const kPROOF_CacheDir = "cache"; // file cache dir , under WorkDir
const char* const kPROOF_PackDir = "packages"; // package dir, u nder WorkDir const char* const kPROOF_PackDir = "packages"; // package dir, u nder WorkDir
const char* const kPROOF_PackDownloadDir = "downloaded"; // subdir with do wnloaded PARs, under PackDir
const char* const kPROOF_QueryDir = "queries"; // query dir, und er WorkDir const char* const kPROOF_QueryDir = "queries"; // query dir, und er WorkDir
const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, u nder WorkDir const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, u nder WorkDir
const char* const kPROOF_DataDir = "data"; // dir for produc ed data, under WorkDir const char* const kPROOF_DataDir = "data"; // dir for produc ed data, under WorkDir
const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file
const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // packag e lock file const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // packag e lock file
const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file
const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad
const char* const kPROOF_InputDataFile = "inputdata.root"; // Defaul t input data file name const char* const kPROOF_InputDataFile = "inputdata.root"; // Defaul t input data file name
#ifndef R__WIN32 #ifndef R__WIN32
skipping to change at line 260 skipping to change at line 264
Int_t fMergedObjects; // Total number of objects it must accept from other workers Int_t fMergedObjects; // Total number of objects it must accept from other workers
// (-1 == not set yet) // (-1 == not set yet)
Int_t fWorkersToMerge; // Number of workers that are merged on th is merger Int_t fWorkersToMerge; // Number of workers that are merged on th is merger
// (does not change during time) // (does not change during time)
Int_t fMergedWorkers; // Current number of already merged worker s Int_t fMergedWorkers; // Current number of already merged worker s
// (does change during time as workers are being merged) // (does change during time as workers are being merged)
TList *fWorkers; // List of already assigned workers TList *fWorkers; // List of already assigned workers
Bool_t fIsActive; // Merger state Bool_t fIsActive; // Merger state
public: TMergerInfo(const TMergerInfo&); // Not implemented
TMergerInfo& operator=(const TMergerInfo&); // Not implemented
public:
TMergerInfo(TSlave *t, Int_t port, Int_t forHowManyWorkers) : TMergerInfo(TSlave *t, Int_t port, Int_t forHowManyWorkers) :
fMerger(t), fPort(port), fMergedObjects(0), fWorkersToMerge( forHowManyWorkers), fMerger(t), fPort(port), fMergedObjects(0), fWorkersToMerge( forHowManyWorkers),
fMergedWorkers(0), fWorkers(0), fIsActive(kTRUE) { } fMergedWorkers(0), fWorkers(0), fIsActive(kTRUE) { }
virtual ~TMergerInfo(); virtual ~TMergerInfo();
void AddWorker(TSlave *sl); void AddWorker(TSlave *sl);
TList *GetWorkers() { return fWorkers; } TList *GetWorkers() { return fWorkers; }
TSlave *GetMerger() { return fMerger; } TSlave *GetMerger() { return fMerger; }
Int_t GetPort() { return fPort; } Int_t GetPort() { return fPort; }
skipping to change at line 302 skipping to change at line 308
TString fExp; TString fExp;
Int_t fIdx; Int_t fIdx;
Int_t fNWrks; Int_t fNWrks;
static char fgCr[4]; static char fgCr[4];
public: public:
TProofMergePrg() : fExp(), fIdx(-1), fNWrks(-1) { } TProofMergePrg() : fExp(), fIdx(-1), fNWrks(-1) { }
const char *Export() { fExp.Form("%c (%d workers still sending) ", fg Cr[fIdx], fNWrks); const char *Export() { fExp.Form("%c (%d workers still sending) ", fg Cr[fIdx], fNWrks);
return fExp.Data(); } return fExp.Data(); }
void DecreaseNWrks() { fNWrks--; } void DecreaseNWrks() { fNWrks--; }
void IncreaseNWrks() { fNWrks++; }
void IncreaseIdx() { fIdx++; if (fIdx == 4) fIdx = 0; } void IncreaseIdx() { fIdx++; if (fIdx == 4) fIdx = 0; }
void Reset(Int_t n = -1) { fIdx = -1; SetNWrks(n); } void Reset(Int_t n = -1) { fIdx = -1; SetNWrks(n); }
void SetNWrks(Int_t n) { fNWrks = n; } void SetNWrks(Int_t n) { fNWrks = n; }
}; };
class TProof : public TNamed, public TQObject { class TProof : public TNamed, public TQObject {
friend class TPacketizer; friend class TPacketizer;
friend class TPacketizerDev; friend class TPacketizerDev;
friend class TPacketizerAdaptive; friend class TPacketizerAdaptive;
skipping to change at line 423 skipping to change at line 430
kCheckDataSetName = 2, //Check wheter dataset of this name exists kCheckDataSetName = 2, //Check wheter dataset of this name exists
kGetDataSets = 3, //List datasets saved on the master node kGetDataSets = 3, //List datasets saved on the master node
kRegisterDataSet = 4, //Save a TList object as a dataset kRegisterDataSet = 4, //Save a TList object as a dataset
kGetDataSet = 5, //Get a TFileCollection of TFileInfo objec ts kGetDataSet = 5, //Get a TFileCollection of TFileInfo objec ts
kVerifyDataSet = 6, //Try open all files from a dataset and re port results kVerifyDataSet = 6, //Try open all files from a dataset and re port results
kRemoveDataSet = 7, //Remove a dataset but leave files belongi ng to it kRemoveDataSet = 7, //Remove a dataset but leave files belongi ng to it
kMergeDataSet = 8, //Add new files to an existing dataset kMergeDataSet = 8, //Add new files to an existing dataset
kShowDataSets = 9, //Shows datasets, returns formatted output kShowDataSets = 9, //Shows datasets, returns formatted output
kGetQuota = 10, //Get quota info per group kGetQuota = 10, //Get quota info per group
kShowQuota = 11, //Show quotas kShowQuota = 11, //Show quotas
kSetDefaultTreeName = 12 //Set the default tree name kSetDefaultTreeName = 12, //Set the default tree name
kCache = 13 //Show/clear cache
}; };
enum ESendFileOpt { enum ESendFileOpt {
kAscii = 0x0, kAscii = 0x0,
kBinary = 0x1, kBinary = 0x1,
kForce = 0x2, kForce = 0x2,
kForward = 0x4, kForward = 0x4,
kCpBin = 0x8, kCpBin = 0x8,
kCp = 0x10 kCp = 0x10
}; };
enum EProofWrkListAction { enum EProofWrkListAction {
skipping to change at line 594 skipping to change at line 602
Int_t SendPrint(Option_t *option=""); Int_t SendPrint(Option_t *option="");
Int_t Ping(ESlaves list); Int_t Ping(ESlaves list);
void Interrupt(EUrgent type, ESlaves list = kActive); void Interrupt(EUrgent type, ESlaves list = kActive);
void AskStatistics(); void AskStatistics();
void AskParallel(); void AskParallel();
Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE, Bool_t random = kFALSE); Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE, Bool_t random = kFALSE);
Int_t SetParallelSilent(Int_t nodes, Bool_t random = kFALSE); Int_t SetParallelSilent(Int_t nodes, Bool_t random = kFALSE);
void RecvLogFile(TSocket *s, Int_t size); void RecvLogFile(TSocket *s, Int_t size);
void NotifyLogMsg(const char *msg, const char *sfx = "\n"); void NotifyLogMsg(const char *msg, const char *sfx = "\n");
Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuild All); Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuild All);
Int_t BuildPackageOnClient(const TString &package); Int_t BuildPackageOnClient(const char *package, Int_t opt = 0, TStrin g *path = 0);
Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE); Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE);
Int_t LoadPackageOnClient(const TString &package); Int_t LoadPackageOnClient(const char *package);
Int_t UnloadPackage(const char *package); Int_t UnloadPackage(const char *package);
Int_t UnloadPackageOnClient(const char *package); Int_t UnloadPackageOnClient(const char *package);
Int_t UnloadPackages(); Int_t UnloadPackages();
Int_t UploadPackageOnClient(const TString &package, EUploadPackageOpt opt, TMD5 *md5); Int_t UploadPackageOnClient(const char *package, EUploadPackageOpt op t, TMD5 *md5);
Int_t DisablePackage(const char *package); Int_t DisablePackage(const char *package);
Int_t DisablePackageOnClient(const char *package); Int_t DisablePackageOnClient(const char *package);
Int_t DisablePackages(); Int_t DisablePackages();
void Activate(TList *slaves = 0); void Activate(TList *slaves = 0);
Int_t Broadcast(const TMessage &mess, TList *slaves); Int_t Broadcast(const TMessage &mess, TList *slaves);
Int_t Broadcast(const TMessage &mess, ESlaves list = kActive); Int_t Broadcast(const TMessage &mess, ESlaves list = kActive);
Int_t Broadcast(const char *mess, Int_t kind, TList *slaves); Int_t Broadcast(const char *mess, Int_t kind, TList *slaves);
Int_t Broadcast(const char *mess, Int_t kind = kMESS_STRING, ESlaves list = kActive); Int_t Broadcast(const char *mess, Int_t kind = kMESS_STRING, ESlaves list = kActive);
Int_t Broadcast(Int_t kind, TList *slaves) { return Broadcast(0, kind , slaves); } Int_t Broadcast(Int_t kind, TList *slaves) { return Broadcast(0, kind , slaves); }
skipping to change at line 676 skipping to change at line 684
void AskForOutput(TSlave *sl); void AskForOutput(TSlave *sl);
void FinalizationDone() { fFinalizationRunning = kFALSE; } void FinalizationDone() { fFinalizationRunning = kFALSE; }
void ResetMergePrg(); void ResetMergePrg();
void ParseConfigField(const char *config); void ParseConfigField(const char *config);
Bool_t Prompt(const char *p); Bool_t Prompt(const char *p);
void ClearDataProgress(Int_t r, Int_t t); void ClearDataProgress(Int_t r, Int_t t);
static TList *GetDataSetSrvMaps(const TString &srvmaps);
protected: protected:
TProof(); // For derived classes to use TProof(); // For derived classes to use
Int_t Init(const char *masterurl, const char *conffile, void InitMembers();
const char *confdir, Int_t loglevel, Int_t Init(const char *masterurl, const char *conffile,
const char *alias = 0); const char *confdir, Int_t loglevel,
const char *alias = 0);
virtual Bool_t StartSlaves(Bool_t attach = kFALSE); virtual Bool_t StartSlaves(Bool_t attach = kFALSE);
Int_t AddWorkers(TList *wrks); Int_t AddWorkers(TList *wrks);
Int_t RemoveWorkers(TList *wrks); Int_t RemoveWorkers(TList *wrks);
void SetPlayer(TVirtualProofPlayer *player); void SetPlayer(TVirtualProofPlayer *player);
TVirtualProofPlayer *GetPlayer() const { return fPlayer; } TVirtualProofPlayer *GetPlayer() const { return fPlayer; }
virtual TVirtualProofPlayer *MakePlayer(const char *player = 0, TSocket *s = 0); virtual TVirtualProofPlayer *MakePlayer(const char *player = 0, TSocket *s = 0);
void UpdateDialog(); void UpdateDialog();
skipping to change at line 726 skipping to change at line 737
static Int_t AssertDataSet(TDSet *dset, TList *input, static Int_t AssertDataSet(TDSet *dset, TList *input,
TDataSetManager *mgr, TString &emsg); TDataSetManager *mgr, TString &emsg);
// Input data handling // Input data handling
static Int_t GetInputData(TList *input, const char *cachedir, TString &e msg); static Int_t GetInputData(TList *input, const char *cachedir, TString &e msg);
static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TStri ng &emsg); static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TStri ng &emsg);
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg); static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg);
// Parse CINT commands // Parse CINT commands
static Bool_t GetFileInCmd(const char *cmd, TString &fn); static Bool_t GetFileInCmd(const char *cmd, TString &fn);
// Pipe execution of commands
static void SystemCmd(const char *cmd, Int_t fdout);
public: public:
TProof(const char *masterurl, const char *conffile = kPROOF_ConfFile, TProof(const char *masterurl, const char *conffile = kPROOF_ConfFile,
const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0, const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0,
const char *alias = 0, TProofMgr *mgr = 0); const char *alias = 0, TProofMgr *mgr = 0);
virtual ~TProof(); virtual ~TProof();
void cd(Int_t id = -1); void cd(Int_t id = -1);
Int_t Ping(); Int_t Ping();
void Touch(); void Touch();
skipping to change at line 784 skipping to change at line 798
void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll); void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll);
void Close(Option_t *option=""); void Close(Option_t *option="");
virtual void Print(Option_t *option="") const; virtual void Print(Option_t *option="") const;
//-- cache and package management //-- cache and package management
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, Bool_t redirlog = 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 DownloadPackage(const char *par, const char *dstdir = 0);
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, Bool_t uniqueOnly = kTRUE, Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_t uniqueOnly = kTRUE,
TList *wrks = 0); TList *wrks = 0);
Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE , TList *wrks = 0); Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE , TList *wrks = 0);
Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE , TList *wrks = 0); Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE , TList *wrks = 0);
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);
skipping to change at line 831 skipping to change at line 846
virtual Bool_t ExistsDataSet(const char *dataset); virtual Bool_t ExistsDataSet(const char *dataset);
void ShowDataSet(const char *dataset = "", const char* opt = "M") ; void ShowDataSet(const char *dataset = "", const char* opt = "M") ;
virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = "" ); virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = "" );
virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = "" ); virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = "" );
virtual TFileCollection *GetDataSet(const char *dataset, const char* opt Str = ""); virtual TFileCollection *GetDataSet(const char *dataset, const char* opt Str = "");
TList *FindDataSets(const char *searchString, const char* optStr = ""); TList *FindDataSets(const char *searchString, const char* optStr = "");
virtual Int_t SetDataSetTreeName( const char *dataset, const char *treen ame); virtual Int_t SetDataSetTreeName( const char *dataset, const char *treen ame);
virtual void ShowDataSetCache(const char *dataset = 0);
virtual void ClearDataSetCache(const char *dataset = 0);
void ShowData(); void ShowData();
void ClearData(UInt_t what = kUnregistered, const char *dsname = 0); void ClearData(UInt_t what = kUnregistered, const char *dsname = 0);
const char *GetMaster() const { return fMaster; } const char *GetMaster() const { return fMaster; }
const char *GetConfDir() const { return fConfDir; } const char *GetConfDir() const { return fConfDir; }
const char *GetConfFile() const { return fConfFile; } const char *GetConfFile() const { return fConfFile; }
const char *GetUser() const { return fUrl.GetUser(); } const char *GetUser() const { return fUrl.GetUser(); }
const char *GetGroup() const { return fGroup; } const char *GetGroup() const { return fGroup; }
const char *GetWorkDir() const { return fWorkDir; } const char *GetWorkDir() const { return fWorkDir; }
const char *GetSessionTag() const { return GetName(); } const char *GetSessionTag() const { return GetName(); }
skipping to change at line 859 skipping to change at line 877
Int_t GetSeqNum() const { return fSeqNum; } Int_t GetSeqNum() const { return fSeqNum; }
Int_t GetSessionID() const { return fSessionID; } Int_t GetSessionID() const { return fSessionID; }
TList *GetListOfSlaveInfos(); TList *GetListOfSlaveInfos();
Bool_t UseDynamicStartup() const { return fDynamicStartup; } Bool_t UseDynamicStartup() const { return fDynamicStartup; }
EQueryMode GetQueryMode(Option_t *mode = 0) const; EQueryMode GetQueryMode(Option_t *mode = 0) const;
void SetQueryMode(EQueryMode mode); void SetQueryMode(EQueryMode mode);
void SetRealTimeLog(Bool_t on = kTRUE); void SetRealTimeLog(Bool_t on = kTRUE);
void GetStatistics(Bool_t verbose = kFALSE);
Long64_t GetBytesRead() const { return fBytesRead; } Long64_t GetBytesRead() const { return fBytesRead; }
Float_t GetRealTime() const { return fRealTime; } Float_t GetRealTime() const { return fRealTime; }
Float_t GetCpuTime() const { return fCpuTime; } Float_t GetCpuTime() const { return fCpuTime; }
Bool_t IsLite() const { return (fServType == TProofMgr::kProofLite) ; } Bool_t IsLite() const { return (fServType == TProofMgr::kProofLite) ; }
Bool_t IsProofd() const { return (fServType == TProofMgr::kProofd); } Bool_t IsProofd() const { return (fServType == TProofMgr::kProofd); }
Bool_t IsFolder() const { return kTRUE; } Bool_t IsFolder() const { return kTRUE; }
Bool_t IsMaster() const { return fMasterServ; } Bool_t IsMaster() const { return fMasterServ; }
Bool_t IsValid() const { return fValid; } Bool_t IsValid() const { return fValid; }
Bool_t IsParallel() const { return GetParallel() > 0 ? kTRUE : kFAL SE; } Bool_t IsParallel() const { return GetParallel() > 0 ? kTRUE : kFAL SE; }
skipping to change at line 937 skipping to change at line 956
void ResetProgressDialog(const char *sel, Int_t sz, void ResetProgressDialog(const char *sel, Int_t sz,
Long64_t fst, Long64_t ent); //*SIGNAL* Long64_t fst, Long64_t ent); //*SIGNAL*
void StartupMessage(const char *msg, Bool_t status, Int_t done, void StartupMessage(const char *msg, Bool_t status, Int_t done,
Int_t total); //*SIGNAL* Int_t total); //*SIGNAL*
void DataSetStatus(const char *msg, Bool_t status, void DataSetStatus(const char *msg, Bool_t status,
Int_t done, Int_t total); //*SIGNAL* Int_t done, Int_t total); //*SIGNAL*
void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Boo l_t st); void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Boo l_t st);
void GetLog(Int_t start = -1, Int_t end = -1); void GetLog(Int_t start = -1, Int_t end = -1);
TMacro *GetLastLog();
void PutLog(TQueryResult *qr); void PutLog(TQueryResult *qr);
void ShowLog(Int_t qry = -1); void ShowLog(Int_t qry = -1);
void ShowLog(const char *queryref); void ShowLog(const char *queryref);
Bool_t SendingLogToWindow() const { return fLogToWindowOnly; } Bool_t SendingLogToWindow() const { return fLogToWindowOnly; }
void SendLogToWindow(Bool_t mode) { fLogToWindowOnly = mode; } void SendLogToWindow(Bool_t mode) { fLogToWindowOnly = mode; }
void ResetProgressDialogStatus() { fProgressDialogStarted = kFALS E; } void ResetProgressDialogStatus() { fProgressDialogStarted = kFALS E; }
virtual TTree *GetTreeHeader(TDSet *tdset); virtual TTree *GetTreeHeader(TDSet *tdset);
TList *GetOutputNames(); TList *GetOutputNames();
 End of changes. 22 change blocks. 
14 lines changed or deleted 35 lines changed or added


 TProofLite.h   TProofLite.h 
// @(#)root/proof:$Id: TProofLite.h 31719 2009-12-09 10:31:17Z ganis $ // @(#)root/proof:$Id: TProofLite.h 33209 2010-04-26 10:27:40Z ganis $
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TProofLite #ifndef ROOT_TProofLite
#define ROOT_TProofLite #define ROOT_TProofLite
skipping to change at line 123 skipping to change at line 123
// Dataset handling // Dataset handling
Bool_t RegisterDataSet(const char *dsName, TFileCollection *ds, const char *opt = ""); Bool_t RegisterDataSet(const char *dsName, TFileCollection *ds, const char *opt = "");
Bool_t ExistsDataSet(const char *uri); Bool_t ExistsDataSet(const char *uri);
TMap *GetDataSets(const char *uri = "", const char * = 0); TMap *GetDataSets(const char *uri = "", const char * = 0);
void ShowDataSets(const char *uri = "", const char * = 0); void ShowDataSets(const char *uri = "", const char * = 0);
TFileCollection *GetDataSet(const char *uri, const char * = 0); TFileCollection *GetDataSet(const char *uri, const char * = 0);
Int_t RemoveDataSet(const char *uri, const char * = 0); Int_t RemoveDataSet(const char *uri, const char * = 0);
Int_t VerifyDataSet(const char *uri, const char * = 0); Int_t VerifyDataSet(const char *uri, const char * = 0);
Int_t SetDataSetTreeName( const char *dataset, const char *treename); Int_t SetDataSetTreeName( const char *dataset, const char *treename);
void ShowDataSetCache(const char *dataset = 0);
void ClearDataSetCache(const char *dataset = 0);
// Browsing // Browsing
TTree *GetTreeHeader(TDSet *tdset); TTree *GetTreeHeader(TDSet *tdset);
static Int_t GetNumberOfWorkers(const char *url = 0); static Int_t GetNumberOfWorkers(const char *url = 0);
ClassDef(TProofLite,0) //PROOF control class ClassDef(TProofLite,0) //PROOF control class
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 TProofProgressLog.h   TProofProgressLog.h 
// @(#)root/sessionviewer:$Id: TProofProgressLog.h 30815 2009-10-20 13:49:2 2Z rdm $ // @(#)root/sessionviewer:$Id: TProofProgressLog.h 32203 2010-02-03 18:47:3 4Z 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 72 skipping to change at line 72
TGTextButton *fGrepButton; //grep button TGTextButton *fGrepButton; //grep button
TGTextButton *fUrlButton; //rebuild button TGTextButton *fUrlButton; //rebuild button
TGCheckButton *fAllLines; // display all lines button TGCheckButton *fAllLines; // display all lines button
TGCheckButton *fRawLines; // display raw lines button TGCheckButton *fRawLines; // display raw lines button
TGSplitButton *fAllWorkers; // display all workers button TGSplitButton *fAllWorkers; // display all workers button
TGVerticalFrame *fVworkers; // Vertical frame TGVerticalFrame *fVworkers; // Vertical frame
Bool_t fFullText; // 0 - when grep was called Bool_t fFullText; // 0 - when grep was called
Int_t fTextType; // Type of retrieval Int_t fTextType; // Type of retrieval
void Init(Int_t w = 700, Int_t h = 300); void Init(Int_t w = 700, Int_t h = 600);
public: public:
TProofProgressLog(TProofProgressDialog *d, Int_t w = 700, Int_t h = 300) TProofProgressLog(TProofProgressDialog *d, Int_t w = 700, Int_t h = 600)
; ;
TProofProgressLog(const char *url = 0, Int_t sessionidx = 0, Int_t w = 7 TProofProgressLog(const char *url = 0, Int_t sessionidx = 0, Int_t w = 7
00, Int_t h = 300); 00, Int_t h = 600);
virtual ~TProofProgressLog(); virtual ~TProofProgressLog();
void BuildLogList(Bool_t create = kFALSE); void BuildLogList(Bool_t create = kFALSE);
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 Rebuild(); void Rebuild();
void LoadBuffer(const char *buffer); void LoadBuffer(const char *buffer);
void AddBuffer(const char *buffer); void AddBuffer(const char *buffer);
 End of changes. 3 change blocks. 
6 lines changed or deleted 6 lines changed or added


 TPythia6.h   TPythia6.h 
// @(#)root/pythia6:$Id: TPythia6.h 26120 2008-11-10 11:59:12Z brun $ // @(#)root/pythia6:$Id: TPythia6.h 32513 2010-03-09 21:10:43Z brun $
// Author: Rene Brun 19/10/99 // Author: Rene Brun 19/10/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 319 skipping to change at line 319
void OpenFortranFile(int lun, char* name); void OpenFortranFile(int lun, char* name);
void CloseFortranFile(int lun); void CloseFortranFile(int lun);
int Pychge(int kf); int Pychge(int kf);
int Pycomp(int kf); int Pycomp(int kf);
void Pydiff(); void Pydiff();
void Pyedit(int medit); void Pyedit(int medit);
void Pyevnt(); void Pyevnt();
void Py1ent(Int_t line, Int_t kf, Double_t pe, Double_t thet a, Double_t phi); void Py1ent(Int_t line, Int_t kf, Double_t pe, Double_t thet a, Double_t phi);
void Pyexec(); void Pyexec();
void Pyhepc(int mconv); void Pyhepc(int mconv);
void Pygive(const char *param);
void Pyinit(char* frame, char* beam, char* target, double wi nt); void Pyinit(char* frame, char* beam, char* target, double wi nt);
void Pylist(int flag); void Pylist(int flag);
double Pymass(int kf); double Pymass(int kf);
void Pyname(int kf, char* name); void Pyname(int kf, char* name);
double Pyr(int idummy); double Pyr(int idummy);
void Pyrget(int lun, int move); void Pyrget(int lun, int move);
void Pyrset(int lun, int move); void Pyrset(int lun, int move);
void Pystat(int flag); void Pystat(int flag);
void Pytest(int flag); void Pytest(int flag);
void Pytune(int itune); void Pytune(int itune);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TQRootApplication.h   TQRootApplication.h 
// @(#)root/qtgsi:$Id: TQRootApplication.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/qtgsi:$Id: TQRootApplication.h 32344 2010-02-15 16:15:57Z belle not $
// Author: Denis Bertini, M. AL-Turany 01/11/2000 // Author: Denis Bertini, M. AL-Turany 01/11/2000
/************************************************************************* /*************************************************************************
* 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 52 skipping to change at line 52
#endif #endif
private: private:
TQRootApplication(const TQRootApplication &); TQRootApplication(const TQRootApplication &);
TQRootApplication& operator=(const TQRootApplication &); TQRootApplication& operator=(const TQRootApplication &);
protected: protected:
QTimer *fQTimer; // Qt timer that poll the event loop of ROOT QTimer *fQTimer; // Qt timer that poll the event loop of ROOT
TTimer *fRTimer; // Root timer TTimer *fRTimer; // Root timer
public: public:
static Bool_t fgDebug, fgWarning; // debug and warning flags static Bool_t fgDebug, fgWarning; // debug and warning flags
TQRootApplication(int argc, char **argv,int poll=0); TQRootApplication(int &argc, char **argv,int poll=0);
~TQRootApplication(); ~TQRootApplication();
void SetDebugOn(){ fgDebug=kTRUE; } void SetDebugOn(){ fgDebug=kTRUE; }
void SetWarningOn(){ fgWarning=kTRUE;} void SetWarningOn(){ fgWarning=kTRUE;}
public slots: public slots:
void Execute(); void Execute();
void Quit(); void Quit();
public: public:
ClassDef(TQRootApplication,1) //creates Qt environement interface with the ROOT windowing system ClassDef(TQRootApplication,1) //creates Qt environement interface with the ROOT windowing system
}; };
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TQtClientFilter.h   TQtClientFilter.h 
// @(#)root/qt:$Id: TQtClientFilter.h 23343 2008-04-21 04:44:58Z brun $ // @(#)root/qt:$Id: TQtClientFilter.h 32141 2010-01-28 16:42:30Z bellenot $
// Author: Valeri Fine 21/01/2002 // Author: Valeri Fine 21/01/2002
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* Copyright (C) 2002 by Valeri Fine. * * Copyright (C) 2002 by Valeri Fine. *
* 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
static Bool_t SelectGrab(Event_t &event, UInt_t selectEventMask, QMouseE vent &me); static Bool_t SelectGrab(Event_t &event, UInt_t selectEventMask, QMouseE vent &me);
public: public:
TQtClientFilter():fRootEventQueue(0),fNotifyClient(0),fKeyGrabber(0){;} TQtClientFilter():fRootEventQueue(0),fNotifyClient(0),fKeyGrabber(0){;}
virtual ~TQtClientFilter(); virtual ~TQtClientFilter();
static TQtClientWidget *GetPointerGrabber(); static TQtClientWidget *GetPointerGrabber();
static TQtClientWidget *GetButtonGrabber(); static TQtClientWidget *GetButtonGrabber();
static void SetButtonGrabber(TQtClientWidget *grabber); static void SetButtonGrabber(TQtClientWidget *grabber);
static void GrabPointer(TQtClientWidget *grabber, UInt_t evmask, Window_ t confine, static void GrabPointer(TQtClientWidget *grabber, UInt_t evmask, Window_ t confine,
QCursor *cursor, Bool_t grab = kTRUE, QCursor *cursor, Bool_t grab = kTRUE,
Bool_t owner_events = kTRUE); Bool_t owner_events = kTRUE);
static TQtPointerGrabber *PointerGrabber() { return fgGrabber; } static TQtPointerGrabber *PointerGrabber();
public slots: public slots:
void AppendButtonGrab (TQtClientWidget *); void AppendButtonGrab (TQtClientWidget *);
void RemoveButtonGrab (QObject *); void RemoveButtonGrab (QObject *);
#ifndef Q_MOC_RUN #ifndef Q_MOC_RUN
//MOC_SKIP_BEGIN //MOC_SKIP_BEGIN
ClassDef(TQtClientFilter,0) // Map Qt and ROOT event ClassDef(TQtClientFilter,0) // Map Qt and ROOT event
//MOC_SKIP_END //MOC_SKIP_END
#endif #endif
}; };
skipping to change at line 143 skipping to change at line 143
void DisactivateGrabbing(){ ActivateGrabbing(kFALSE); } void DisactivateGrabbing(){ ActivateGrabbing(kFALSE); }
Bool_t IsGrabSelected(UInt_t selectEventMask) const; Bool_t IsGrabSelected(UInt_t selectEventMask) const;
Bool_t IsGrabbing(TQtClientWidget *grabbed) const { return (grabbed == f PointerGrabber); } Bool_t IsGrabbing(TQtClientWidget *grabbed) const { return (grabbed == f PointerGrabber); }
void SetGrabPointer( TQtClientWidget *grabber, UInt_t evGrabMask, UInt _t evInputMask void SetGrabPointer( TQtClientWidget *grabber, UInt_t evGrabMask, UInt _t evInputMask
, QCursor *cursor, Bool_t grab = kTRUE , QCursor *cursor, Bool_t grab = kTRUE
, Bool_t owner_events = kTRUE, QWidget *confine=0); , Bool_t owner_events = kTRUE, QWidget *confine=0);
bool SelectGrab(Event_t &event, UInt_t selectEventMask,QMouseEvent &mo use); bool SelectGrab(Event_t &event, UInt_t selectEventMask,QMouseEvent &mo use);
}; };
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
inline TQtClientWidget *TQtClientFilter::GetPointerGrabber()
{ return fgPointerGrabber; }
//_________________________________________________________________________
_____
inline TQtClientWidget *TQtClientFilter::GetButtonGrabber()
{ return fgButtonGrabber; }
//_________________________________________________________________________
_____
inline void TQtClientFilter::SetButtonGrabber(TQtClientWidget *grabber)
{ fgButtonGrabber = grabber; }
//_________________________________________________________________________
_____
inline void TQtClientFilter::AppendButtonGrab(TQtClientWidget *widget)
{ fButtonGrabList.append(widget);}
//_________________________________________________________________________
_____
inline void TQtClientFilter::RemoveButtonGrab(QObject *widget)
{
TQtClientWidget *wid = (TQtClientWidget *)widget;
if ((fgButtonGrabber == wid) && fgGrabber) fgGrabber->DisactivateGrabbin
g();
#if (QT_VERSION >= 0x040000)
fButtonGrabList.removeAll(wid);
#else
fButtonGrabList.remove(wid);
#endif
}
//_________________________________________________________________________
_____
inline TQtEventQueue *TQtClientFilter::Queue() { inline TQtEventQueue *TQtClientFilter::Queue() {
TQtEventQueue *save = fRootEventQueue; TQtEventQueue *save = fRootEventQueue;
// fprintf(stderr," Queue %d \n", save ? save->count():-1); // fprintf(stderr," Queue %d \n", save ? save->count():-1);
return save; return save;
} }
#endif #endif
 End of changes. 3 change blocks. 
36 lines changed or deleted 2 lines changed or added


 TQtTimer.h   TQtTimer.h 
// @(#)root/qt:$Id: TQtTimer.h 28205 2009-04-14 19:38:00Z brun $ // @(#)root/qt:$Id: TQtTimer.h 32141 2010-01-28 16:42:30Z bellenot $
// Author: Valery Fine 09/08/2004 // Author: Valery Fine 09/08/2004
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* Copyright (C) 2002 by Valeri Fine. * * Copyright (C) 2002 by Valeri Fine. *
* 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 51 skipping to change at line 51
protected slots: protected slots:
virtual void AwakeRootEvent(); virtual void AwakeRootEvent();
public: public:
virtual ~TQtTimer(){} virtual ~TQtTimer(){}
static TQtTimer *Create(QObject *parent=0); static TQtTimer *Create(QObject *parent=0);
static TQtTimer *QtTimer(); static TQtTimer *QtTimer();
ClassDef(TQtTimer,0) // QTimer to awake the ROOT event loop from Qt event loop ClassDef(TQtTimer,0) // QTimer to awake the ROOT event loop from Qt event loop
}; };
inline TQtTimer *TQtTimer::QtTimer(){ return fgQTimer; }
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 1 lines changed or added


 TQtWidget.h   TQtWidget.h 
// @(#)root/qt:$Id: TQtWidget.h 30386 2009-09-23 19:06:28Z brun $ // @(#)root/qt:$Id: TQtWidget.h 32417 2010-02-27 03:42:53Z brun $
// Author: Valeri Fine 21/01/2002 // Author: Valeri Fine 21/01/2002
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* Copyright (C) 2003 by Valeri Fine. * * Copyright (C) 2003 by Valeri Fine. *
* 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 244 skipping to change at line 244
public slots: public slots:
virtual void cd(); virtual void cd();
virtual void cd(int subpadnumber); virtual void cd(int subpadnumber);
void Disconnect(); void Disconnect();
void Refresh(); void Refresh();
virtual bool Save(const QString &fileName) const; virtual bool Save(const QString &fileName) const;
virtual bool Save(const char *fileName) const; virtual bool Save(const char *fileName) const;
virtual bool Save(const QString &fileName,const char *format,int quality =60) const; virtual bool Save(const QString &fileName,const char *format,int quality =60) const;
virtual bool Save(const char *fileName,const char *format,int quality =60) const; virtual bool Save(const char *fileName,const char *format,int quality =60) const;
#ifndef __CINT__
protected slots: protected slots:
void RefreshCB(); void RefreshCB();
#ifndef __CINT__
signals: signals:
// emit the Qt signal when the double buffer of the TCamvas has been fil led up // emit the Qt signal when the double buffer of the TCamvas has been fil led up
void CanvasPainted(); // Signal the TCanvas has been painted onto the s creen void CanvasPainted(); // Signal the TCanvas has been painted onto the s creen
void Saved(bool ok); // Signal the TCanvas has been saved into the fil e void Saved(bool ok); // Signal the TCanvas has been saved into the fil e
void RootEventProcessed(TObject *selected, unsigned int event, TCanvas * c); void RootEventProcessed(TObject *selected, unsigned int event, TCanvas * c);
#endif #endif
#ifndef Q_MOC_RUN #ifndef Q_MOC_RUN
ClassDef(TQtWidget,0) // QWidget to back ROOT TCanvas (Can be used with Qt designer) ClassDef(TQtWidget,0) // QWidget to back ROOT TCanvas (Can be used with Qt designer)
#endif #endif
 End of changes. 3 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TROOT.h   TROOT.h 
// @(#)root/base:$Id: TROOT.h 31136 2009-11-12 21:25:38Z pcanal $ // @(#)root/base:$Id: TROOT.h 32970 2010-04-13 16:36:38Z rdm $
// Author: Rene Brun 08/12/94 // Author: Rene Brun 08/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 57 skipping to change at line 57
class TPluginManager; class TPluginManager;
class TProcessUUID; class TProcessUUID;
class TClassGenerator; class TClassGenerator;
class TVirtualMutex; class TVirtualMutex;
R__EXTERN TVirtualMutex *gROOTMutex; R__EXTERN TVirtualMutex *gROOTMutex;
class TROOT : public TDirectory { class TROOT : public TDirectory {
friend class TCint; friend class TCint;
friend class TCling;
private: private:
Int_t fLineIsProcessing; //To synchronize multi-threads Int_t fLineIsProcessing; //To synchronize multi-threads
static Int_t fgDirLevel; //Indentation level for ls() static Int_t fgDirLevel; //Indentation level for ls()
static Bool_t fgRootInit; //Singleton initialization flag static Bool_t fgRootInit; //Singleton initialization flag
static Bool_t fgMemCheck; //Turn on memory leak checker static Bool_t fgMemCheck; //Turn on memory leak checker
TROOT(const TROOT&); //Not implemented TROOT(const TROOT&); //Not implemented
TROOT& operator=(const TROOT&); //Not implemented TROOT& operator=(const TROOT&); //Not implemented
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TRandom.h   TRandom.h 
// @(#)root/mathcore:$Id: TRandom.h 27771 2009-03-15 18:09:18Z brun $ // @(#)root/mathcore:$Id: TRandom.h 32526 2010-03-10 14:56:13Z moneta $
// Author: Rene Brun 15/12/95 // Author: Rene Brun 15/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 48 skipping to change at line 48
virtual Double_t Exp(Double_t tau); virtual Double_t Exp(Double_t tau);
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1); virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1);
virtual UInt_t GetSeed() const {return fSeed;} virtual UInt_t GetSeed() const {return fSeed;}
virtual UInt_t Integer(UInt_t imax); virtual UInt_t Integer(UInt_t imax);
virtual Double_t Landau(Double_t mean=0, Double_t sigma=1); virtual Double_t Landau(Double_t mean=0, Double_t sigma=1);
virtual Int_t Poisson(Double_t mean); virtual Int_t Poisson(Double_t mean);
virtual Double_t PoissonD(Double_t mean); virtual Double_t PoissonD(Double_t mean);
virtual void Rannor(Float_t &a, Float_t &b); virtual void Rannor(Float_t &a, Float_t &b);
virtual void Rannor(Double_t &a, Double_t &b); virtual void Rannor(Double_t &a, Double_t &b);
virtual void ReadRandom(const char *filename); virtual void ReadRandom(const char *filename);
virtual void SetSeed(UInt_t seed=65539); virtual void SetSeed(UInt_t seed=0);
virtual Double_t Rndm(Int_t i=0); virtual Double_t Rndm(Int_t i=0);
virtual void RndmArray(Int_t n, Float_t *array); virtual void RndmArray(Int_t n, Float_t *array);
virtual void RndmArray(Int_t n, Double_t *array); virtual void RndmArray(Int_t n, Double_t *array);
virtual void Sphere(Double_t &x, Double_t &y, Double_t &z, Double_t r); virtual void Sphere(Double_t &x, Double_t &y, Double_t &z, Double_t r);
virtual Double_t Uniform(Double_t x1=1); virtual Double_t Uniform(Double_t x1=1);
virtual Double_t Uniform(Double_t x1, Double_t x2); virtual Double_t Uniform(Double_t x1, Double_t x2);
virtual void WriteRandom(const char *filename); virtual void WriteRandom(const char *filename);
ClassDef(TRandom,1) //Simple Random number generator (periodicity = 10* *9) ClassDef(TRandom,1) //Simple Random number generator (periodicity = 10* *9)
}; };
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TRefArray.h   TRefArray.h 
// @(#)root/cont:$Id: TRefArray.h 23530 2008-04-24 16:22:51Z rdm $ // @(#)root/cont:$Id: TRefArray.h 32781 2010-03-26 13:06:14Z pcanal $
// Author: Rene Brun 02/10/2001 // Author: Rene Brun 02/10/2001
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2001, 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_TSeqCollection #ifndef ROOT_TSeqCollection
#include "TSeqCollection.h" #include "TSeqCollection.h"
#endif #endif
#ifndef ROOT_TProcessID #ifndef ROOT_TProcessID
#include "TProcessID.h" #include "TProcessID.h"
#endif #endif
#include <iterator> #include <iterator>
#if (__GNUC__ >= 3) && !defined(__INTEL_COMPILER)
// Prevent -Weffc++ from complaining about the inheritance
// TRefArrayIter from std::iterator.
#pragma GCC system_header
#endif
class TSystem; class TSystem;
class TRefArrayIter; class TRefArrayIter;
class TRefArray : public TSeqCollection { class TRefArray : public TSeqCollection {
friend class TRefArrayIter; friend class TRefArrayIter;
protected: protected:
TProcessID *fPID; //Pointer to Process Unique Identifier TProcessID *fPID; //Pointer to Process Unique Identifier
UInt_t *fUIDs; //[fSize] To store uids of referenced object s UInt_t *fUIDs; //[fSize] To store uids of referenced object s
 End of changes. 2 change blocks. 
1 lines changed or deleted 7 lines changed or added


 TRootContextMenu.h   TRootContextMenu.h 
// @(#)root/gui:$Id: TRootContextMenu.h 28021 2009-04-01 11:10:27Z bellenot $ // @(#)root/gui:$Id: TRootContextMenu.h 32061 2010-01-20 07:51:15Z bellenot $
// Author: Fons Rademakers 12/02/98 // Author: Fons Rademakers 12/02/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 57 skipping to change at line 57
virtual void DisplayPopup(Int_t x, Int_t y); virtual void DisplayPopup(Int_t x, Int_t y);
virtual void Dialog(TObject *object, TMethod *method); virtual void Dialog(TObject *object, TMethod *method);
virtual void Dialog(TObject *object, TFunction *function); virtual void Dialog(TObject *object, TFunction *function);
virtual void DrawEntry(TGMenuEntry *entry); virtual void DrawEntry(TGMenuEntry *entry);
TRootDialog *GetDialog() const { return fDialog; }; TRootDialog *GetDialog() const { return fDialog; };
virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleButton(Event_t *event);
virtual Bool_t HandleCrossing(Event_t *event); virtual Bool_t HandleCrossing(Event_t *event);
virtual Bool_t HandleMotion(Event_t *event); virtual Bool_t HandleMotion(Event_t *event);
virtual void OnlineHelp(); virtual void OnlineHelp();
virtual void RecursiveRemove(TObject *obj);
Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
protected: protected:
TGPopupMenu * FindHierarchy(const char *commentstring, TString &last_com ponent); TGPopupMenu * FindHierarchy(const char *commentstring, TString &last_com ponent);
void AddEntrySorted(TGPopupMenu *current, const char *s, Int_t id, void *ud = 0, void AddEntrySorted(TGPopupMenu *current, const char *s, Int_t id, void *ud = 0,
const TGPicture *p = 0, Bool_t sorted = kTRUE); const TGPicture *p = 0, Bool_t sorted = kTRUE);
ClassDef(TRootContextMenu,0) //ROOT native GUI context sensitive popup menu ClassDef(TRootContextMenu,0) //ROOT native GUI context sensitive popup menu
}; };
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TSQLStructure.h   TSQLStructure.h 
// @(#)root/sql:$Id: TSQLStructure.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/sql:$Id: TSQLStructure.h 32337 2010-02-12 16:09:35Z 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 324 skipping to change at line 324
extern const char* CT_Value; extern const char* CT_Value;
extern const char* cfg_Version; extern const char* cfg_Version;
extern const char* cfg_UseSufixes; extern const char* cfg_UseSufixes;
extern const char* cfg_ArrayLimit; extern const char* cfg_ArrayLimit;
extern const char* cfg_TablesType; extern const char* cfg_TablesType;
extern const char* cfg_UseTransactions; extern const char* cfg_UseTransactions;
extern const char* cfg_UseIndexes; extern const char* cfg_UseIndexes;
extern const char* cfg_LockingMode; extern const char* cfg_LockingMode;
extern const char* cfg_ModifyCounter; extern const char* cfg_ModifyCounter;
}; }
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TSchemaHelper.h   TSchemaHelper.h 
// @(#)root/core:$Id: TSchemaHelper.h 30815 2009-10-20 13:49:22Z rdm $ // @(#)root/core:$Id: TSchemaHelper.h 32737 2010-03-24 17:16:51Z pcanal $
// author: Lukasz Janyst <ljanyst@cern.ch> // author: Lukasz Janyst <ljanyst@cern.ch>
#ifndef ROOT_TSchemaHelper #ifndef ROOT_TSchemaHelper
#define ROOT_TSchemaHelper #define ROOT_TSchemaHelper
#include <string> #include <string>
#ifndef ROOT_Rtypes #ifndef ROOT_Rtypes
#include "Rtypes.h" #include "Rtypes.h"
#endif #endif
namespace ROOT namespace ROOT
{ {
struct TSchemaHelper struct TSchemaHelper
{ {
TSchemaHelper(): fTarget(), fSourceClass(), TSchemaHelper(): fTarget(), fSourceClass(),
fSource(), fCode(), fVersion(), fChecksum(), fSource(), fCode(), fVersion(), fChecksum(),
fInclude(), fEmbed(kTRUE), fFunctionPtr( 0 ) {} fInclude(), fEmbed(kTRUE), fFunctionPtr( 0 ),
fAttributes() {}
std::string fTarget; std::string fTarget;
std::string fSourceClass; std::string fSourceClass;
std::string fSource; std::string fSource;
std::string fCode; std::string fCode;
std::string fVersion; std::string fVersion;
std::string fChecksum; std::string fChecksum;
std::string fInclude; std::string fInclude;
bool fEmbed; bool fEmbed;
void* fFunctionPtr; void* fFunctionPtr;
std::string fAttributes;
TSchemaHelper(const TSchemaHelper &tsh) : TSchemaHelper(const TSchemaHelper &tsh) :
fTarget(tsh.fTarget), fSourceClass(tsh.fSourceClass), fTarget(tsh.fTarget), fSourceClass(tsh.fSourceClass),
fSource(tsh.fSource), fCode(tsh.fCode), fVersion(tsh.fVersion), fChe fSource(tsh.fSource), fCode(tsh.fCode), fVersion(tsh.fVersion),fChec
cksum(tsh.fChecksum), ksum(tsh.fChecksum),
fInclude(tsh.fInclude), fEmbed(tsh.fEmbed), fFunctionPtr(tsh.fFuncti fInclude(tsh.fInclude), fEmbed(tsh.fEmbed), fFunctionPtr(tsh.fFuncti
onPtr) {} onPtr),
fAttributes(tsh.fAttributes) {}
TSchemaHelper& operator=(const TSchemaHelper &) {return *this;} // No t implemented TSchemaHelper& operator=(const TSchemaHelper &) {return *this;} // No t implemented
}; };
} }
#endif // ROOT_TSchemaHelper #endif // ROOT_TSchemaHelper
 End of changes. 4 change blocks. 
6 lines changed or deleted 9 lines changed or added


 TSchemaRule.h   TSchemaRule.h 
// @(#)root/core:$Id: TSchemaRule.h 27938 2009-03-26 09:53:23Z pcanal $ // @(#)root/core:$Id: TSchemaRule.h 32644 2010-03-17 13:58:28Z pcanal $
// author: Lukasz Janyst <ljanyst@cern.ch> // author: Lukasz Janyst <ljanyst@cern.ch>
#ifndef ROOT_TSchemaRule #ifndef ROOT_TSchemaRule
#define ROOT_TSchemaRule #define ROOT_TSchemaRule
class TBuffer; class TBuffer;
class TVirtualObject; class TVirtualObject;
class TObjArray; class TObjArray;
#include "TObject.h" #include "TObject.h"
skipping to change at line 39 skipping to change at line 39
} RuleType_t; } RuleType_t;
typedef void (*ReadFuncPtr_t)( char*, TVirtualObject* ); typedef void (*ReadFuncPtr_t)( char*, TVirtualObject* );
typedef void (*ReadRawFuncPtr_t)( char*, TBuffer&); typedef void (*ReadRawFuncPtr_t)( char*, TBuffer&);
TSchemaRule(); TSchemaRule();
virtual ~TSchemaRule(); virtual ~TSchemaRule();
TSchemaRule( const TSchemaRule& rhs ); TSchemaRule( const TSchemaRule& rhs );
TSchemaRule& operator = ( const TSchemaRule& rhs ); TSchemaRule& operator = ( const TSchemaRule& rhs );
Bool_t operator == ( const TSchemaRule& rhs );
void Clear(Option_t * /*option*/ ="");
Bool_t SetFromRule( const char *rule );
const char *GetVersion( ) const;
Bool_t SetVersion( const TString& version ); Bool_t SetVersion( const TString& version );
Bool_t TestVersion( Int_t version ) const; Bool_t TestVersion( Int_t version ) const;
Bool_t SetChecksum( const TString& checksum ); Bool_t SetChecksum( const TString& checksum );
Bool_t TestChecksum( UInt_t checksum ) const; Bool_t TestChecksum( UInt_t checksum ) const;
void SetSourceClass( const TString& classname ); void SetSourceClass( const TString& classname );
TString GetSourceClass() const; const char *GetSourceClass() const;
void SetTargetClass( const TString& classname );
const char *GetTargetClass() const;
void SetTarget( const TString& target ); void SetTarget( const TString& target );
const TObjArray* GetTarget() const; const TObjArray* GetTarget() const;
const char *GetTargetString() const;
void SetSource( const TString& source ); void SetSource( const TString& source );
const TObjArray* GetSource() const; const TObjArray* GetSource() const;
void SetEmbed( Bool_t embed ); void SetEmbed( Bool_t embed );
Bool_t GetEmbed() const; Bool_t GetEmbed() const;
Bool_t IsAliasRule() const; Bool_t IsAliasRule() const;
Bool_t IsRenameRule() const; Bool_t IsRenameRule() const;
Bool_t IsValid() const; Bool_t IsValid() const;
void SetCode( const TString& code ); void SetCode( const TString& code );
TString GetCode() const; const char *GetCode() const;
void SetAttributes( const TString& attributes );
const char *GetAttributes() const;
Bool_t HasTarget( const TString& target ) const; Bool_t HasTarget( const TString& target ) const;
Bool_t HasSource( const TString& source ) const; Bool_t HasSource( const TString& source ) const;
void SetReadFunctionPointer( ReadFuncPtr_t ptr ); void SetReadFunctionPointer( ReadFuncPtr_t ptr );
ReadFuncPtr_t GetReadFunctionPointer() const; ReadFuncPtr_t GetReadFunctionPointer() const;
void SetReadRawFunctionPointer( ReadRawFuncPtr_t ptr ) ; void SetReadRawFunctionPointer( ReadRawFuncPtr_t ptr ) ;
ReadRawFuncPtr_t GetReadRawFunctionPointer() const; ReadRawFuncPtr_t GetReadRawFunctionPointer() const;
void SetInclude( const TString& include ); void SetInclude( const TString& include );
const TObjArray* GetInclude() const; const TObjArray* GetInclude() const;
void SetRuleType( RuleType_t type ); void SetRuleType( RuleType_t type );
RuleType_t GetRuleType() const; RuleType_t GetRuleType() const;
Bool_t Conflicts( const TSchemaRule* rule ) const; Bool_t Conflicts( const TSchemaRule* rule ) const;
void AsString( TString &out, const char *options = "" ) const;
void ls(Option_t *option="") const; void ls(Option_t *option="") const;
// Bool_t GenerateFor( const TStreamerInfo *info );
ClassDef( TSchemaRule, 1 ); ClassDef( TSchemaRule, 1 );
private: private:
Bool_t ProcessVersion( const TString& version ) const; Bool_t ProcessVersion( const TString& version ) const;
Bool_t ProcessChecksum( const TString& checksum ) const; Bool_t ProcessChecksum( const TString& checksum ) const;
static void ProcessList( TObjArray* array, const TString& list ); static void ProcessList( TObjArray* array, const TString& list );
static void ProcessDeclaration( TObjArray* array, const TString& l ist ); static void ProcessDeclaration( TObjArray* array, const TString& l ist );
TString fVersion; // Source version s tring TString fVersion; // Source version s tring
mutable std::vector<std::pair<Int_t, Int_t> >* fVersionVect; // ! Source version vector (for searching purposes) mutable std::vector<std::pair<Int_t, Int_t> >* fVersionVect; // ! Source version vector (for searching purposes)
TString fChecksum; // Source checksum string TString fChecksum; // Source checksum string
mutable std::vector<UInt_t>* fChecksumVect; //! Source checksum vector (for searching purposes) mutable std::vector<UInt_t>* fChecksumVect; //! Source checksum vector (for searching purposes)
TString fSourceClass; // Source clss TString fSourceClass; // Source class
TString fTargetClass; // Target class, th
is is the owner of this rule object.
TString fTarget; // Target data mamb er string TString fTarget; // Target data mamb er string
mutable TObjArray* fTargetVect; //! Target data memb er vector (for searching purposes) mutable TObjArray* fTargetVect; //! Target data memb er vector (for searching purposes)
TString fSource; // Source data memb er string TString fSource; // Source data memb er string
mutable TObjArray* fSourceVect; //! Source data memb er vector (for searching purposes) mutable TObjArray* fSourceVect; //! Source data memb er vector (for searching purposes)
TString fInclude; // Includes string TString fInclude; // Includes string
mutable TObjArray* fIncludeVect; //! Includes vector mutable TObjArray* fIncludeVect; //! Includes vector
TString fCode; // User specified c ode snippet TString fCode; // User specified c ode snippet
Bool_t fEmbed; // Value determinin g if the rule should be embedded Bool_t fEmbed; // Value determinin g if the rule should be embedded
ReadFuncPtr_t fReadFuncPtr; //! Conversion funct ion pointer for read rule ReadFuncPtr_t fReadFuncPtr; //! Conversion funct ion pointer for read rule
ReadRawFuncPtr_t fReadRawFuncPtr; //! Conversion funct ion pointer for readraw rule ReadRawFuncPtr_t fReadRawFuncPtr; //! Conversion funct ion pointer for readraw rule
RuleType_t fRuleType; // Type of the rule RuleType_t fRuleType; // Type of the rule
TString fAttributes; // Attributes to be applied to the member (like Owner/NotOwner)
}; };
} // End of namespace ROOT } // End of namespace ROOT
#endif // ROOT_TSchemaRule #endif // ROOT_TSchemaRule
 End of changes. 11 change blocks. 
5 lines changed or deleted 19 lines changed or added


 TSchemaRuleSet.h   TSchemaRuleSet.h 
// @(#)root/core:$Id: TSchemaRuleSet.h 29272 2009-06-30 19:24:06Z pcanal $ // @(#)root/core:$Id: TSchemaRuleSet.h 32644 2010-03-17 13:58:28Z pcanal $
// author: Lukasz Janyst <ljanyst@cern.ch> // author: Lukasz Janyst <ljanyst@cern.ch>
#ifndef ROOT_TSchemaRuleSet #ifndef ROOT_TSchemaRuleSet
#define ROOT_TSchemaRuleSet #define ROOT_TSchemaRuleSet
class TClass; class TClass;
#include "TObject.h" #include "TObject.h"
#include "TObjArray.h" #include "TObjArray.h"
#include "Rtypes.h" #include "Rtypes.h"
skipping to change at line 25 skipping to change at line 25
namespace ROOT { namespace ROOT {
class TSchemaRule; class TSchemaRule;
class TSchemaMatch: public TObjArray class TSchemaMatch: public TObjArray
{ {
public: public:
virtual ~TSchemaMatch() {}; virtual ~TSchemaMatch() {};
const TSchemaRule* GetRuleWithSource( const TString& name ) const; const TSchemaRule* GetRuleWithSource( const TString& name ) const;
const TSchemaRule* GetRuleWithTarget( const TString& name ) const; const TSchemaRule* GetRuleWithTarget( const TString& name ) const;
Bool_t HasRuleWithSource( const TString& name ) const; Bool_t HasRuleWithSource( const TString& name, Bool_t
Bool_t HasRuleWithTarget( const TString& name ) const; needingAlloc ) const;
Bool_t HasRuleWithTarget( const TString& name, Bool_t
willset ) const;
ClassDef(TSchemaMatch,0); ClassDef(TSchemaMatch,0);
}; };
class TSchemaRuleSet: public TObject class TSchemaRuleSet: public TObject
{ {
public: public:
enum EConsistencyCheck {
kNoCheck = 0,
kCheckAll = 1,
kCheckConflict = 2
};
TSchemaRuleSet(); TSchemaRuleSet();
virtual ~TSchemaRuleSet(); virtual ~TSchemaRuleSet();
Bool_t AddRule( TSchemaRule* rule, Bool_t checkConsis Bool_t AddRule( TSchemaRule* rule, EConsistencyCheck
tency = kTRUE ); checkConsistency = kCheckAll );
Bool_t AddRules( TSchemaRuleSet* rules, Bool_t checkC Bool_t AddRules( TSchemaRuleSet* rules, EConsistencyC
onsistency = kTRUE ); heck checkConsistency = kCheckAll );
Bool_t HasRuleWithSourceClass( const TString &source) const; Bool_t HasRuleWithSourceClass( const TString &source) const;
const TObjArray* FindRules( const TString &source ) const; const TObjArray* FindRules( const TString &source ) const;
const TSchemaMatch* FindRules( const TString &source, Int_t versio n ) const; const TSchemaMatch* FindRules( const TString &source, Int_t versio n ) const;
const TSchemaMatch* FindRules( const TString &source, UInt_t check sum ) const; const TSchemaMatch* FindRules( const TString &source, UInt_t check sum ) const;
const TSchemaMatch* FindRules( const TString &source, Int_t versio n, UInt_t checksum ) const; const TSchemaMatch* FindRules( const TString &source, Int_t versio n, UInt_t checksum ) const;
TClass* GetClass(); TClass* GetClass();
UInt_t GetClassCheckSum() const; UInt_t GetClassCheckSum() const;
TString GetClassName() const; TString GetClassName() const;
Int_t GetClassVersion() const; Int_t GetClassVersion() const;
const TObjArray* GetRules() const; const TObjArray* GetRules() const;
const TObjArray* GetPersistentRules() const; const TObjArray* GetPersistentRules() const;
void RemoveRule( TSchemaRule* rule ); void RemoveRule( TSchemaRule* rule );
void RemoveRules( TObjArray* rules ); void RemoveRules( TObjArray* rules );
void SetClass( TClass* cls ); void SetClass( TClass* cls );
void ls(Option_t *option="") const; void ls(Option_t *option="") const;
void AsString(TString &out) const;
ClassDef( TSchemaRuleSet, 1 ) ClassDef( TSchemaRuleSet, 1 )
private: private:
TObjArray* fPersistentRules; // Array of the rules that will be embeded in the file TObjArray* fPersistentRules; // Array of the rules that will be embeded in the file
TObjArray* fRemainingRules; //! Array of non-persisten rules - just for cleanup purposes - owns the elements TObjArray* fRemainingRules; //! Array of non-persisten rules - just for cleanup purposes - owns the elements
TObjArray* fAllRules; //! Array of all rules TObjArray* fAllRules; //! Array of all rules
TClassRef fClass; //! Targe t class pointer (for consistency checking) TClassRef fClass; //! Targe t class pointer (for consistency checking)
TString fClassName; // Targe t class name TString fClassName; // Targe t class name
Int_t fVersion; // Targe t class version Int_t fVersion; // Targe t class version
 End of changes. 5 change blocks. 
7 lines changed or deleted 16 lines changed or added


 TStreamerElement.h   TStreamerElement.h 
// @(#)root/meta:$Id: TStreamerElement.h 31565 2009-12-04 18:44:27Z pcanal $ // @(#)root/meta:$Id: TStreamerElement.h 32586 2010-03-12 14:00:16Z 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
virtual void ls(Option_t *option="") const; virtual void ls(Option_t *option="") const;
virtual void SetArrayDim(Int_t dim); virtual void SetArrayDim(Int_t dim);
virtual void SetMaxIndex(Int_t dim, Int_t max); virtual void SetMaxIndex(Int_t dim, Int_t max);
virtual void SetOffset(Int_t offset) {fOffset=offset;} virtual void SetOffset(Int_t offset) {fOffset=offset;}
virtual void SetTObjectOffset(Int_t tobjoffset) {fTObjectOffset=tobj offset;} virtual void SetTObjectOffset(Int_t tobjoffset) {fTObjectOffset=tobj offset;}
virtual void SetStreamer(TMemberStreamer *streamer); virtual void SetStreamer(TMemberStreamer *streamer);
virtual void SetSize(Int_t dsize) {fSize = dsize;} virtual void SetSize(Int_t dsize) {fSize = dsize;}
virtual void SetNewType(Int_t dtype) {fNewType = dtype;} virtual void SetNewType(Int_t dtype) {fNewType = dtype;}
virtual void SetNewClass( TClass* cl ) { fNewClass= cl; } virtual void SetNewClass( TClass* cl ) { fNewClass= cl; }
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; fClass Object = (TClass*)-1; }
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: private:
TStreamerBase(const TStreamerBase &); // Not implemented TStreamerBase(const TStreamerBase &); // Not implemented
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TStreamerInfo.h   TStreamerInfo.h 
// @(#)root/io:$Id: TStreamerInfo.h 30905 2009-10-28 16:51:47Z pcanal $ // @(#)root/io:$Id: TStreamerInfo.h 33173 2010-04-24 21:35:39Z 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 99 skipping to change at line 99
Int_t fNumber; //!Unique identifier Int_t fNumber; //!Unique identifier
Int_t fNdata; //!number of optmized types Int_t fNdata; //!number of optmized types
Int_t fSize; //!size of the persistent class Int_t fSize; //!size of the persistent class
Int_t *fType; //![fNdata] Int_t *fType; //![fNdata]
Int_t *fNewType; //![fNdata] Int_t *fNewType; //![fNdata]
Int_t *fOffset; //![fNdata] Int_t *fOffset; //![fNdata]
Int_t *fLength; //![fNdata] Int_t *fLength; //![fNdata]
ULong_t *fElem; //![fNdata] ULong_t *fElem; //![fNdata]
ULong_t *fMethod; //![fNdata] ULong_t *fMethod; //![fNdata]
TCompInfo *fComp; //![fNdata] additional info TCompInfo *fComp; //![fNdata] additional info
Bool_t fOptimized; //! true if has been optimized
TClass *fClass; //!pointer to class TClass *fClass; //!pointer to class
TObjArray *fElements; //Array of TStreamerElements TObjArray *fElements; //Array of TStreamerElements
Version_t fOldVersion; //! Version of the TStreamerInfo o bject read from the file Version_t fOldVersion; //! Version of the TStreamerInfo o bject read from the file
Bool_t fIsBuilt; //! true if the TStreamerInfo has Int_t fNVirtualInfoLoc; //! Number of virtual info locatio
been 'built' n to update.
ULong_t *fVirtualInfoLoc; //![fNVirtualInfoLoc] Location of
the pointer to the TStreamerInfo inside the object (when emulated)
ULong_t fLiveCount; //! Number of outstanding pointer
to this StreamerInfo.
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, const TList *extrainfos);
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);
void DestructorImpl(void* p, Bool_t dtorOnly);
private: private:
TStreamerInfo(const TStreamerInfo&); // TStreamerInfo are cop iable. Not Implemented. TStreamerInfo(const TStreamerInfo&); // TStreamerInfo are cop iable. Not Implemented.
TStreamerInfo& operator=(const TStreamerInfo&); // TStreamerInfo are cop 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),
kIsCompiled = BIT(16)
}; };
enum EReadWrite { enum EReadWrite {
kBase = 0, kOffsetL = 20, kOffsetP = 40, kCounter = 6, k CharStar = 7, kBase = 0, kOffsetL = 20, kOffsetP = 40, kCounter = 6, k CharStar = 7,
kChar = 1, kShort = 2, kInt = 3, kLong = 4, k Float = 5, kChar = 1, kShort = 2, kInt = 3, kLong = 4, k Float = 5,
kDouble = 8, kDouble32= 9, kDouble = 8, kDouble32= 9,
kUChar = 11, kUShort = 12, kUInt = 13, kULong = 14, k Bits = 15, kUChar = 11, kUShort = 12, kUInt = 13, kULong = 14, k Bits = 15,
kLong64 = 16, kULong64 = 17, kBool = 18, kFloat16 = 19, kLong64 = 16, kULong64 = 17, kBool = 18, kFloat16 = 19,
kObject = 61, kAny = 62, kObjectp = 63, kObjectP = 64, k TString = 65, kObject = 61, kAny = 62, kObjectp = 63, kObjectP = 64, k TString = 65,
kTObject = 66, kTNamed = 67, kAnyp = 68, kAnyP = 69, k AnyPnoVT = 70, kTObject = 66, kTNamed = 67, kAnyp = 68, kAnyP = 69, k AnyPnoVT = 70,
skipping to change at line 180 skipping to change at line 183
void BuildCheck(); void BuildCheck();
void BuildEmulated(TFile *file); void BuildEmulated(TFile *file);
void BuildOld(); void BuildOld();
virtual Bool_t BuildFor( const TClass *cl ); virtual Bool_t BuildFor( const TClass *cl );
void CallShowMembers(void* obj, TMemberInspector &insp, c har *parent) const; void CallShowMembers(void* obj, TMemberInspector &insp, c har *parent) const;
void Clear(Option_t *); void Clear(Option_t *);
Bool_t CompareContent(TClass *cl,TVirtualStreamerInfo *info , Bool_t warn, Bool_t complete); Bool_t CompareContent(TClass *cl,TVirtualStreamerInfo *info , Bool_t warn, Bool_t complete);
void Compile(); void Compile();
void ComputeSize(); void ComputeSize();
void ForceWriteInfo(TFile *file, Bool_t force=kFALSE); void ForceWriteInfo(TFile *file, Bool_t force=kFALSE);
Int_t GenerateHeaderFile(const char *dirname, const TList Int_t GenerateHeaderFile(const char *dirname, const TList
*subClasses = 0); *subClasses = 0, const TList *extrainfos = 0);
TClass *GetActualClass(const void *obj) const;
TClass *GetClass() const {return fClass;} TClass *GetClass() const {return fClass;}
UInt_t GetCheckSum() const {return fCheckSum;} UInt_t GetCheckSum() const {return fCheckSum;}
UInt_t GetCheckSum(UInt_t code) const; UInt_t GetCheckSum(UInt_t code) const;
Int_t GetClassVersion() const {return fClassVersion;} Int_t GetClassVersion() const {return fClassVersion;}
Int_t GetDataMemberOffset(TDataMember *dm, TMemberStreamer *&streamer) const; Int_t GetDataMemberOffset(TDataMember *dm, TMemberStreamer *&streamer) const;
TObjArray *GetElements() const {return fElements;} TObjArray *GetElements() const {return fElements;}
ULong_t *GetElems() const {return fElem;} ULong_t *GetElems() const {return fElem;}
Int_t GetNdata() const {return fNdata;} Int_t GetNdata() const {return fNdata;}
Int_t GetNumber() const {return fNumber;} Int_t GetNumber() const {return fNumber;}
Int_t *GetLengths() const {return fLength;} Int_t *GetLengths() const {return fLength;}
skipping to change at line 206 skipping to change at line 210
Int_t GetOnFileClassVersion() const {return fOnFileClassVe rsion;} Int_t GetOnFileClassVersion() const {return fOnFileClassVe rsion;}
Int_t GetSize() const; Int_t GetSize() const;
Int_t GetSizeElements() const; Int_t GetSizeElements() const;
TStreamerElement *GetStreamerElement(const char*datamember, Int_t& off set) const; TStreamerElement *GetStreamerElement(const char*datamember, Int_t& off set) const;
TStreamerElement *GetStreamerElementReal(Int_t i, Int_t j) const; TStreamerElement *GetStreamerElementReal(Int_t i, Int_t j) const;
Int_t *GetTypes() const {return fType;} Int_t *GetTypes() const {return fType;}
Double_t GetValue(char *pointer, Int_t i, Int_t j, Int_t len) const; Double_t GetValue(char *pointer, Int_t i, Int_t j, Int_t len) const;
Double_t GetValueClones(TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const; Double_t GetValueClones(TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const;
Double_t GetValueSTL(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const; Double_t GetValueSTL(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const;
Double_t GetValueSTLP(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const; Double_t GetValueSTLP(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const;
Bool_t IsBuilt() const { return fIsBuilt; }
Bool_t IsOptimized() const {return fOptimized;}
Int_t IsRecovered() const {return TestBit(kRecovered);}
void ls(Option_t *option="") const; void ls(Option_t *option="") const;
TVirtualStreamerInfo *NewInfo(TClass *cl) {return new TStreamerInfo(cl); } TVirtualStreamerInfo *NewInfo(TClass *cl) {return new TStreamerInfo(cl); }
void *New(void *obj = 0); void *New(void *obj = 0);
void *NewArray(Long_t nElements, void* ary = 0); void *NewArray(Long_t nElements, void* ary = 0);
void Destructor(void* p, Bool_t dtorOnly = kFALSE); void Destructor(void* p, Bool_t dtorOnly = kFALSE);
void DeleteArray(void* p, Bool_t dtorOnly = kFALSE); void DeleteArray(void* p, Bool_t dtorOnly = kFALSE);
void PrintValue(const char *name, char *pointer, Int_t i, Int_t len, Int_t lenmax=1000) const; void PrintValue(const char *name, char *pointer, Int_t i, Int_t len, Int_t lenmax=1000) const;
void PrintValueClones(const char *name, TClonesArray *clo nes, Int_t i, Int_t eoffset, Int_t lenmax=1000) const; void PrintValueClones(const char *name, TClonesArray *clo nes, Int_t i, Int_t eoffset, Int_t lenmax=1000) const;
void PrintValueSTL(const char *name, TVirtualCollectionPr oxy *cont, Int_t i, Int_t eoffset, Int_t lenmax=1000) const; void PrintValueSTL(const char *name, TVirtualCollectionPr oxy *cont, Int_t i, Int_t eoffset, Int_t lenmax=1000) const;
skipping to change at line 280 skipping to change at line 281
Int_t WriteBufferAux (TBuffer &b, char ** const &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode); Int_t WriteBufferAux (TBuffer &b, char ** const &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode);
Int_t WriteBufferAux (TBuffer &b, const TVirtualColle ctionProxy &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode); Int_t WriteBufferAux (TBuffer &b, const TVirtualColle ctionProxy &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode);
Int_t WriteBufferAux (TBuffer &b, const TPointerColle ctionAdapter &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode); Int_t WriteBufferAux (TBuffer &b, const TPointerColle ctionAdapter &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode);
Int_t WriteBufferAux (TBuffer &b, const TVirtualArray &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode); Int_t WriteBufferAux (TBuffer &b, const TVirtualArray &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode);
#else #else
template <class T> template <class T>
Int_t WriteBufferAux (TBuffer &b, const T &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode); Int_t WriteBufferAux (TBuffer &b, const T &arr, Int_t first,Int_t narr,Int_t eoffset,Int_t mode);
#endif #endif
//WARNING this class version must be the same as TVirtualStreamerInfo //WARNING this class version must be the same as TVirtualStreamerInfo
ClassDef(TStreamerInfo,8) //Streamer information for one class version ClassDef(TStreamerInfo,9) //Streamer information for one class version
}; };
#endif #endif
 End of changes. 9 change blocks. 
12 lines changed or deleted 15 lines changed or added


 TString.h   TString.h 
// @(#)root/base:$Id: TString.h 30974 2009-11-04 23:42:44Z rdm $ // @(#)root/base:$Id: TString.h 32426 2010-03-01 17:16:05Z rdm $
// Author: Fons Rademakers 04/08/95 // Author: Fons Rademakers 04/08/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 468 skipping to change at line 468
inline TString &TString::operator+=(UShort_t i) inline TString &TString::operator+=(UShort_t i)
{ return operator+=((ULong_t) i); } { return operator+=((ULong_t) i); }
inline TString &TString::operator+=(Int_t i) inline TString &TString::operator+=(Int_t i)
{ return operator+=((Long_t) i); } { return operator+=((Long_t) i); }
inline TString &TString::operator+=(UInt_t i) inline TString &TString::operator+=(UInt_t i)
{ return operator+=((ULong_t) i); } { return operator+=((ULong_t) i); }
inline TString &TString::operator+=(Double_t f) inline TString &TString::operator+=(Double_t f)
{ char s[32]; sprintf(s, "%9.9g", f); return operator+=(s); } { char s[32]; sprintf(s, "%.17g", f); return operator+=(s); }
inline TString &TString::operator+=(Float_t f) inline TString &TString::operator+=(Float_t f)
{ return operator+=((Double_t) f); } { return operator+=((Double_t) f); }
inline TString &TString::operator+=(Long64_t l) inline TString &TString::operator+=(Long64_t l)
{ char s[32]; sprintf(s, "%lld", l); return operator+=(s); } { char s[32]; sprintf(s, "%lld", l); return operator+=(s); }
inline TString &TString::operator+=(ULong64_t ul) inline TString &TString::operator+=(ULong64_t ul)
{ char s[32]; sprintf(s, "%llu", ul); return operator+=(s); } { char s[32]; sprintf(s, "%llu", ul); return operator+=(s); }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TSystem.h   TSystem.h 
// @(#)root/base:$Id: TSystem.h 27497 2009-02-18 16:16:06Z rdm $ // @(#)root/base:$Id: TSystem.h 32406 2010-02-25 12:50:14Z pcanal $
// 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 262 skipping to change at line 262
TProcessEventTimer(Long_t delay); TProcessEventTimer(Long_t delay);
Bool_t Notify() { return kTRUE; } Bool_t Notify() { return kTRUE; }
Bool_t ProcessEvents(); Bool_t ProcessEvents();
ClassDef(TProcessEventTimer,0) // Process pending events at fixed time intervals ClassDef(TProcessEventTimer,0) // Process pending events at fixed time intervals
}; };
class TSystem : public TNamed { class TSystem : public TNamed {
public: public:
enum EAclicMode { kDefault, kDebug, kOpt }; enum EAclicMode { kDefault, kDebug, kOpt };
enum EAclicProperties {
kFlatBuildDir = BIT(0) // If set and a BuildDir is selected
, then do not created subdirectories
};
protected: protected:
TFdSet *fReadmask; //!Files that should be checked for read events TFdSet *fReadmask; //!Files that should be checked for read events
TFdSet *fWritemask; //!Files that should be checked for write events TFdSet *fWritemask; //!Files that should be checked for write events
TFdSet *fReadready; //!Files with reads waiting TFdSet *fReadready; //!Files with reads waiting
TFdSet *fWriteready; //!Files with writes waiting TFdSet *fWriteready; //!Files with writes waiting
TFdSet *fSignals; //!Signals that were trapped TFdSet *fSignals; //!Signals that were trapped
Int_t fNfd; //Number of fd's in masks Int_t fNfd; //Number of fd's in masks
Int_t fMaxrfd; //Largest fd in read mask Int_t fMaxrfd; //Largest fd in read mask
Int_t fMaxwfd; //Largest fd in write mask Int_t fMaxwfd; //Largest fd in write mask
skipping to change at line 307 skipping to change at line 310
TString fFlagsDebug; //Flags for debug compilation TString fFlagsDebug; //Flags for debug compilation
TString fFlagsOpt; //Flags for optimized compilation TString fFlagsOpt; //Flags for optimized compilation
TString fListPaths; //List of all include (fIncludePath + interpreter include path). Cache used by GetIncludePath TString fListPaths; //List of all include (fIncludePath + interpreter include path). Cache used by GetIncludePath
TString fIncludePath; //Used to expand $IncludePath in the directives given to SetMakeSharedLib and SetMakeExe TString fIncludePath; //Used to expand $IncludePath in the directives given to SetMakeSharedLib and SetMakeExe
TString fLinkedLibs; //Used to expand $LinkedLibs in the directives given to SetMakeSharedLib and SetMakeExe TString fLinkedLibs; //Used to expand $LinkedLibs in the directives given to SetMakeSharedLib and SetMakeExe
TString fSoExt; //Extension of shared library (.so, .sl, .a, .dll, etc.) TString fSoExt; //Extension of shared library (.so, .sl, .a, .dll, etc.)
TString fObjExt; //Extension of object files (.o, .ob j, etc.) TString fObjExt; //Extension of object files (.o, .ob j, etc.)
EAclicMode fAclicMode; //Whether the compilation should be done debug or opt EAclicMode fAclicMode; //Whether the compilation should be done debug or opt
TString fMakeSharedLib; //Directive used to build a shared l ibrary TString fMakeSharedLib; //Directive used to build a shared l ibrary
TString fMakeExe; //Directive used to build an executa ble TString fMakeExe; //Directive used to build an executa ble
TString fLinkdefSuffix; //Default suffix for linkdef files t TString fLinkdefSuffix; //Default suffix for linkdef files t
o be used by ACLiC o be used by ACLiC (see EACLiCProperties)
Int_t fAclicProperties; //Various boolean flag for change AC
LiC's behavior.
TSeqCollection *fCompiled; //List of shared libs from compiled macros to be deleted TSeqCollection *fCompiled; //List of shared libs from compiled macros to be deleted
TSeqCollection *fHelpers; //List of helper classes for alterna tive file/directory access TSeqCollection *fHelpers; //List of helper classes for alterna tive file/directory access
TSystem *FindHelper(const char *path, void *dirptr = 0); TSystem *FindHelper(const char *path, void *dirptr = 0);
virtual Bool_t ConsistentWith(const char *path, void *dirptr = 0 ); virtual Bool_t ConsistentWith(const char *path, void *dirptr = 0 );
virtual const char *ExpandFileName(const char *fname); virtual const char *ExpandFileName(const char *fname);
virtual void SigAlarmInterruptsSyscalls(Bool_t) { } virtual void SigAlarmInterruptsSyscalls(Bool_t) { }
virtual const char *GetLinkedLibraries(); virtual const char *GetLinkedLibraries();
virtual void DoBeep(Int_t /*freq*/=-1, Int_t /*duration*/=-1) const { printf("\a"); fflush(stdout); } virtual void DoBeep(Int_t /*freq*/=-1, Int_t /*duration*/=-1) const { printf("\a"); fflush(stdout); }
skipping to change at line 502 skipping to change at line 506
//---- System, CPU and Memory info //---- System, CPU and Memory info
virtual int GetSysInfo(SysInfo_t *info) const; virtual int GetSysInfo(SysInfo_t *info) const;
virtual int GetCpuInfo(CpuInfo_t *info, Int_t sampleTime = 1 000) const; virtual int GetCpuInfo(CpuInfo_t *info, Int_t sampleTime = 1 000) const;
virtual int GetMemInfo(MemInfo_t *info) const; virtual int GetMemInfo(MemInfo_t *info) const;
virtual int GetProcInfo(ProcInfo_t *info) const; virtual int GetProcInfo(ProcInfo_t *info) const;
//---- ACLiC (Automatic Compiler of Shared Library for CINT) //---- ACLiC (Automatic Compiler of Shared Library for CINT)
virtual void AddIncludePath(const char *includePath); virtual void AddIncludePath(const char *includePath);
virtual void AddLinkedLibs(const char *linkedLib); virtual void AddLinkedLibs(const char *linkedLib);
virtual int CompileMacro(const char *filename, Option_t *opt ="", const char* library_name = "", const char* build_dir = "", UInt_t dirm ode = 0); virtual int CompileMacro(const char *filename, Option_t *opt ="", const char* library_name = "", const char* build_dir = "", UInt_t dirm ode = 0);
virtual Int_t GetAclicProperties() const;
virtual const char *GetBuildArch() const; virtual const char *GetBuildArch() const;
virtual const char *GetBuildCompiler() const; virtual const char *GetBuildCompiler() const;
virtual const char *GetBuildCompilerVersion() const; virtual const char *GetBuildCompilerVersion() const;
virtual const char *GetBuildNode() const; virtual const char *GetBuildNode() const;
virtual const char *GetBuildDir() const; virtual const char *GetBuildDir() const;
virtual const char *GetFlagsDebug() const; virtual const char *GetFlagsDebug() const;
virtual const char *GetFlagsOpt() const; virtual const char *GetFlagsOpt() const;
virtual const char *GetIncludePath(); virtual const char *GetIncludePath();
virtual const char *GetLinkedLibs() const; virtual const char *GetLinkedLibs() const;
virtual const char *GetLinkdefSuffix() const; virtual const char *GetLinkdefSuffix() const;
virtual EAclicMode GetAclicMode() const; virtual EAclicMode GetAclicMode() const;
virtual const char *GetMakeExe() const; virtual const char *GetMakeExe() const;
virtual const char *GetMakeSharedLib() const; virtual const char *GetMakeSharedLib() const;
virtual const char *GetSoExt() const; virtual const char *GetSoExt() const;
virtual const char *GetObjExt() const; virtual const char *GetObjExt() const;
virtual void SetBuildDir(const char*); virtual void SetBuildDir(const char* build_dir, Bool_t isflat = kFALSE);
virtual void SetFlagsDebug(const char *); virtual void SetFlagsDebug(const char *);
virtual void SetFlagsOpt(const char *); virtual void SetFlagsOpt(const char *);
virtual void SetIncludePath(const char *includePath); virtual void SetIncludePath(const char *includePath);
virtual void SetMakeExe(const char *directives); virtual void SetMakeExe(const char *directives);
virtual void SetAclicMode(EAclicMode mode); virtual void SetAclicMode(EAclicMode mode);
virtual void SetMakeSharedLib(const char *directives); virtual void SetMakeSharedLib(const char *directives);
virtual void SetLinkedLibs(const char *linkedLibs); virtual void SetLinkedLibs(const char *linkedLibs);
virtual void SetLinkdefSuffix(const char *suffix); virtual void SetLinkdefSuffix(const char *suffix);
virtual void SetSoExt(const char *soExt); virtual void SetSoExt(const char *soExt);
virtual void SetObjExt(const char *objExt); virtual void SetObjExt(const char *objExt);
 End of changes. 5 change blocks. 
4 lines changed or deleted 11 lines changed or added


 TTF.h   TTF.h 
// @(#)root/graf:$Id: TTF.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/graf:$Id: TTF.h 32449 2010-03-04 10:30:03Z couet $
// Author: Olivier Couet 01/10/02 // Author: Olivier Couet 01/10/02
// Author: Fons Rademakers 21/11/98 // Author: Fons Rademakers 21/11/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 67 skipping to change at line 67
friend class TGX11TTF; friend class TGX11TTF;
friend class TGWin32; friend class TGWin32;
private: private:
enum { kTTMaxFonts = 32, kMaxGlyphs = 1024 }; enum { kTTMaxFonts = 32, kMaxGlyphs = 1024 };
static Int_t fgAscent; // string ascent, used to co mpute Y alignment static Int_t fgAscent; // string ascent, used to co mpute Y alignment
static FT_BBox fgCBox; // string control box static FT_BBox fgCBox; // string control box
static FT_CharMap fgCharMap[kTTMaxFonts]; // font character map static FT_CharMap fgCharMap[kTTMaxFonts]; // font character map
static Int_t fgCurFontIdx; // current font index static Int_t fgCurFontIdx; // current font index
static Int_t fgSymbItaFontIdx; // Symbol italic font index
static Int_t fgFontCount; // number of fonts loaded static Int_t fgFontCount; // number of fonts loaded
static char *fgFontName[kTTMaxFonts]; // font name static char *fgFontName[kTTMaxFonts]; // font name
static FT_Face fgFace[kTTMaxFonts]; // font face static FT_Face fgFace[kTTMaxFonts]; // font face
static TTGlyph fgGlyphs[kMaxGlyphs]; // glyphs static TTGlyph fgGlyphs[kMaxGlyphs]; // glyphs
static Bool_t fgHinting; // use hinting (true by defa ult) static Bool_t fgHinting; // use hinting (true by defa ult)
static Bool_t fgInit; // true if the Init has been called static Bool_t fgInit; // true if the Init has been called
static Bool_t fgKerning; // use kerning (true by defa ult) static Bool_t fgKerning; // use kerning (true by defa ult)
static FT_Library fgLibrary; // FreeType font library static FT_Library fgLibrary; // FreeType font library
static Int_t fgNumGlyphs; // number of glyphs in the s tring static Int_t fgNumGlyphs; // number of glyphs in the s tring
static FT_Matrix *fgRotMatrix; // rotation matrix static FT_Matrix *fgRotMatrix; // rotation matrix
skipping to change at line 106 skipping to change at line 107
static Bool_t GetHinting(); static Bool_t GetHinting();
static Bool_t GetKerning(); static Bool_t GetKerning();
static Int_t GetNumGlyphs(); static Int_t GetNumGlyphs();
static FT_Matrix *GetRotMatrix(); static FT_Matrix *GetRotMatrix();
static Bool_t GetSmoothing(); static Bool_t GetSmoothing();
static Int_t GetWidth(); static Int_t GetWidth();
static void SetHinting(Bool_t state); static void SetHinting(Bool_t state);
static void SetKerning(Bool_t state); static void SetKerning(Bool_t state);
static void SetSmoothing(Bool_t state); static void SetSmoothing(Bool_t state);
static void GetTextExtent(UInt_t &w, UInt_t &h, char *text); static void GetTextExtent(UInt_t &w, UInt_t &h, char *text);
static void GetTextAdvance(UInt_t &a, char *text);
static void SetTextFont(Font_t fontnumber); static void SetTextFont(Font_t fontnumber);
static Int_t SetTextFont(const char *fontname); static Int_t SetTextFont(const char *fontname, Int_t italic=0);
static void SetTextSize(Float_t textsize); static void SetTextSize(Float_t textsize);
static Bool_t IsInitialized(); static Bool_t IsInitialized();
static void Version(Int_t &major, Int_t &minor, Int_t &patch); static void Version(Int_t &major, Int_t &minor, Int_t &patch);
ClassDef(TTF,0) //Interface to TTF font handling ClassDef(TTF,0) //Interface to TTF font handling
}; };
#endif #endif
 End of changes. 4 change blocks. 
2 lines changed or deleted 4 lines changed or added


 TText.h   TText.h 
// @(#)root/graf:$Id: TText.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/graf:$Id: TText.h 33120 2010-04-21 14:29:04Z couet $
// Author: Nicolas Brun 12/12/94 // Author: Nicolas 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 57 skipping to change at line 57
virtual TText *DrawText(Double_t x, Double_t y, const char *text); virtual TText *DrawText(Double_t x, Double_t y, const char *text);
virtual TText *DrawTextNDC(Double_t x, Double_t y, const char *text); virtual TText *DrawTextNDC(Double_t x, Double_t y, const char *text);
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 void GetControlBox(Int_t x, Int_t y, Double_t theta, virtual void GetControlBox(Int_t x, Int_t y, Double_t theta,
Int_t cBoxX[4], Int_t cBoxY[4]); Int_t cBoxX[4], Int_t cBoxY[4]);
Double_t GetX() const { return fX; } Double_t GetX() const { return fX; }
virtual void GetBoundingBox(UInt_t &w, UInt_t &h, Bool_t angle = kFA LSE); virtual void GetBoundingBox(UInt_t &w, UInt_t &h, Bool_t angle = kFA LSE);
virtual void GetTextAscentDescent(UInt_t &a, UInt_t &d, const char * text) const; virtual void GetTextAscentDescent(UInt_t &a, UInt_t &d, const char * text) const;
virtual void GetTextExtent(UInt_t &w, UInt_t &h, const char *text) c onst; virtual void GetTextExtent(UInt_t &w, UInt_t &h, const char *text) c onst;
virtual void GetTextAdvance(UInt_t &a, const char *text, const Bool_ t kern=kTRUE) const;
Double_t GetY() const { return fY; } Double_t GetY() const { return fY; }
virtual void ls(Option_t *option="") const; virtual void ls(Option_t *option="") const;
virtual void Paint(Option_t *option=""); virtual void Paint(Option_t *option="");
virtual void PaintControlBox(Int_t x, Int_t y, Double_t theta); virtual void PaintControlBox(Int_t x, Int_t y, Double_t theta);
virtual void PaintText(Double_t x, Double_t y, const char *text); virtual void PaintText(Double_t x, Double_t y, const char *text);
virtual void PaintTextNDC(Double_t u, Double_t v, const char *text); virtual void PaintTextNDC(Double_t u, Double_t v, const char *text);
virtual void Print(Option_t *option="") const; virtual void Print(Option_t *option="") const;
virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void SetNDC(Bool_t isNDC=kTRUE); virtual void SetNDC(Bool_t isNDC=kTRUE);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TThread.h   TThread.h 
// @(#)root/thread:$Id: TThread.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/thread:$Id: TThread.h 32890 2010-04-07 08:51:48Z rdm $
// Author: Fons Rademakers 02/07/97 // Author: Fons Rademakers 02/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 126 skipping to change at line 126
static void AfterCancel(TThread *th); static void AfterCancel(TThread *th);
TThread(const TThread&); // not implemented TThread(const TThread&); // not implemented
TThread& operator=(const TThread&); // not implemented TThread& operator=(const TThread&); // not implemented
public: public:
TThread(VoidRtnFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority ); TThread(VoidRtnFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority );
TThread(VoidFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority); TThread(VoidFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority);
TThread(const char *thname, VoidRtnFunc_t fn, void *arg = 0, EPriority p ri = kNormalPriority); TThread(const char *thname, VoidRtnFunc_t fn, void *arg = 0, EPriority p ri = kNormalPriority);
TThread(const char *thname, VoidFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority); TThread(const char *thname, VoidFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority);
TThread(Int_t id = 0); TThread(Long_t id = 0);
virtual ~TThread(); virtual ~TThread();
Int_t Kill(); Int_t Kill();
Int_t Run(void *arg = 0); Int_t Run(void *arg = 0);
void SetPriority(EPriority pri); void SetPriority(EPriority pri);
void Delete(Option_t *option="") { TObject::Delete(option); } void Delete(Option_t *option="") { TObject::Delete(option); }
EPriority GetPriority() const { return fPriority; } EPriority GetPriority() const { return fPriority; }
EState GetState() const { return fState; } EState GetState() const { return fState; }
Long_t GetId() const { return fId; } Long_t GetId() const { return fId; }
static void Ps(); static void Ps();
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TTimeStamp.h   TTimeStamp.h 
// @(#)root/base:$Id: TTimeStamp.h 29770 2009-08-12 16:40:27Z rdm $ // @(#)root/base:$Id: TTimeStamp.h 32404 2010-02-25 12:06:10Z rdm $
// Author: R. Hatcher 30/9/2001 // Author: R. Hatcher 30/9/2001
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 120 skipping to change at line 120
Int_t fNanoSec; // nanoseconds Int_t fNanoSec; // nanoseconds
void NormalizeNanoSec(); void NormalizeNanoSec();
public: public:
// empty ctor (builds current time with nsec field incremented from stat ic) // empty ctor (builds current time with nsec field incremented from stat ic)
TTimeStamp(); TTimeStamp();
// construction from timespec struct // construction from timespec struct
TTimeStamp(const timespec_t &ts) : TTimeStamp(const timespec_t &ts) :
fSec(ts.tv_sec), fNanoSec(ts.tv_nsec) { NormalizeNanoSec(); } fSec(Int_t(ts.tv_sec)), fNanoSec(ts.tv_nsec) { NormalizeNanoSec(); }
// construction from time_t and separate nsec // construction from time_t and separate nsec
TTimeStamp(time_t t, Int_t nsec) : TTimeStamp(time_t t, Int_t nsec) :
fSec(t), fNanoSec(nsec) { NormalizeNanoSec(); } fSec(Int_t(t)), fNanoSec(nsec) { NormalizeNanoSec(); }
// construction from bits and pieces // construction from bits and pieces
TTimeStamp(UInt_t year, UInt_t month, TTimeStamp(UInt_t year, UInt_t month,
UInt_t day, UInt_t hour, UInt_t day, UInt_t hour,
UInt_t min, UInt_t sec, UInt_t min, UInt_t sec,
UInt_t nsec = 0, Bool_t isUTC = kTRUE, Int_t secOffset = 0); UInt_t nsec = 0, Bool_t isUTC = kTRUE, Int_t secOffset = 0);
// compatibility with TDatime // compatibility with TDatime
TTimeStamp(UInt_t date, UInt_t time, UInt_t nsec, TTimeStamp(UInt_t date, UInt_t time, UInt_t nsec,
Bool_t isUTC = kTRUE, Int_t secOffset = 0); Bool_t isUTC = kTRUE, Int_t secOffset = 0);
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TTree.h   TTree.h 
// @(#)root/tree:$Id: TTree.h 31561 2009-12-04 16:31:47Z brun $ // @(#)root/tree:$Id: TTree.h 32894 2010-04-07 15:00:21Z pcanal $
// Author: Rene Brun 12/01/96 // Author: Rene Brun 12/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 248 skipping to change at line 248
template <class T> TBranch *Branch(const char* name, T* obj, Int_t bufsi ze = 32000, Int_t splitlevel = 99) template <class T> TBranch *Branch(const char* name, T* obj, Int_t bufsi ze = 32000, Int_t splitlevel = 99)
{ {
// See BranchImp for details // See BranchImp for details
return BranchImpRef(name, TBuffer::GetClass(typeid(T)), TDataType::Ge tType(typeid(T)), obj, bufsize, splitlevel); return BranchImpRef(name, TBuffer::GetClass(typeid(T)), TDataType::Ge tType(typeid(T)), obj, bufsize, splitlevel);
} }
virtual TBranch *Bronch(const char* name, const char* classname, void* addobj, Int_t bufsize = 32000, Int_t splitlevel = 99); virtual TBranch *Bronch(const char* name, const char* classname, void* addobj, Int_t bufsize = 32000, Int_t splitlevel = 99);
virtual TBranch *BranchOld(const char* name, const char* classnam e, void* addobj, Int_t bufsize = 32000, Int_t splitlevel = 1); virtual TBranch *BranchOld(const char* name, const char* classnam e, void* addobj, Int_t bufsize = 32000, Int_t splitlevel = 1);
virtual TBranch *BranchRef(); virtual TBranch *BranchRef();
virtual void Browse(TBrowser*); virtual void Browse(TBrowser*);
virtual Int_t BuildIndex(const char* majorname, const char* mi norname = "0"); virtual Int_t BuildIndex(const char* majorname, const char* mi norname = "0");
TStreamerInfo *BuildStreamerInfo(TClass* cl, void* pointer = 0) ; TStreamerInfo *BuildStreamerInfo(TClass* cl, void* pointer = 0, Bool_t canOptimize = kTRUE);
virtual TFile *ChangeFile(TFile* file); virtual TFile *ChangeFile(TFile* file);
virtual TTree *CloneTree(Long64_t nentries = -1, Option_t* opti on = ""); virtual TTree *CloneTree(Long64_t nentries = -1, Option_t* opti on = "");
virtual void CopyAddresses(TTree*,Bool_t undo = kFALSE); virtual void CopyAddresses(TTree*,Bool_t undo = kFALSE);
virtual Long64_t CopyEntries(TTree* tree, Long64_t nentries = -1) ; virtual Long64_t CopyEntries(TTree* tree, Long64_t nentries = -1, Option_t *option = "");
virtual TTree *CopyTree(const char* selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual TTree *CopyTree(const char* selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0);
virtual TBasket *CreateBasket(TBranch*); virtual TBasket *CreateBasket(TBranch*);
virtual void DirectoryAutoAdd(TDirectory *); virtual void DirectoryAutoAdd(TDirectory *);
Int_t Debug() const { return fDebug; } Int_t Debug() const { return fDebug; }
virtual void Delete(Option_t* option = ""); // *MENU* virtual void Delete(Option_t* option = ""); // *MENU*
virtual void Draw(Option_t* opt) { Draw(opt, "", "", 10000000 00, 0); } virtual void Draw(Option_t* opt) { Draw(opt, "", "", 10000000 00, 0); }
virtual Long64_t Draw(const char* varexp, const TCut& selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual Long64_t Draw(const char* varexp, const TCut& selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0);
virtual Long64_t Draw(const char* varexp, const char* selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); // *MENU* virtual Long64_t Draw(const char* varexp, const char* selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); // *MENU*
virtual void DropBaskets(); virtual void DropBaskets();
virtual void DropBuffers(Int_t nbytes); virtual void DropBuffers(Int_t nbytes);
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TTreeTableInterface.h   TTreeTableInterface.h 
skipping to change at line 24 skipping to change at line 24
#ifndef ROOT_TVirtualTableInterface #ifndef ROOT_TVirtualTableInterface
#include "TVirtualTableInterface.h" #include "TVirtualTableInterface.h"
#endif #endif
class TTree; class TTree;
class TObjArray; class TObjArray;
class TTreeFormula; class TTreeFormula;
class TTreeFormulaManager; class TTreeFormulaManager;
class TSelectorDraw; class TSelectorDraw;
class TEntryList; class TEntryList;
class TList;
class TTreeTableInterface : public TVirtualTableInterface { class TTreeTableInterface : public TVirtualTableInterface {
private: private:
TTree *fTree; // Data in a TTree TTree *fTree; // Data in a TTree
TList *fFormulas; // Array of TTreeFormulas to display v alues TList *fFormulas; // Array of TTreeFormulas to display v alues
Long64_t fEntry; // Present entry number in fTree. Long64_t fEntry; // Present entry number in fTree.
Long64_t fNEntries; // Number of entries in the tree. Long64_t fNEntries; // Number of entries in the tree.
Long64_t fFirstEntry; // First entry. Long64_t fFirstEntry; // First entry.
TTreeFormulaManager *fManager; // Coordinator for the formulas. TTreeFormulaManager *fManager; // Coordinator for the formulas.
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 TUnuran.h   TUnuran.h 
// @(#)root/unuran:$Id: TUnuran.h 21604 2008-01-09 09:19:57Z moneta $ // @(#)root/unuran:$Id: TUnuran.h 33181 2010-04-25 10:15:08Z moneta $
// Author: L. Moneta Tue Sep 26 16:25:09 2006 // Author: L. Moneta Tue Sep 26 16:25:09 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 TUnuran // Header file for class TUnuran
skipping to change at line 190 skipping to change at line 190
*/ */
bool SampleMulti(double * x); bool SampleMulti(double * x);
/** /**
Sample discrete distributions Sample discrete distributions
User is responsible for having previously correctly initialized with TUnuran::Init User is responsible for having previously correctly initialized with TUnuran::Init
*/ */
int SampleDiscr(); int SampleDiscr();
/** /**
set the random engine.
Must be called before init to have effect
*/
void SetRandom(TRandom * r) {
fRng = r;
}
/**
return instance of the random engine used
*/
TRandom * GetRandom() {
return fRng;
}
/**
set the seed for the random number generator set the seed for the random number generator
*/ */
void SetSeed(unsigned int seed); void SetSeed(unsigned int seed);
/** /**
set log level set log level
*/ */
bool SetLogLevel(unsigned int iflag = 1); bool SetLogLevel(unsigned int iflag = 1);
/** /**
 End of changes. 2 change blocks. 
1 lines changed or deleted 16 lines changed or added


 TUnuranContDist.h   TUnuranContDist.h 
// @(#)root/unuran:$Id: TUnuranContDist.h 30749 2009-10-15 16:33:04Z brun $ // @(#)root/unuran:$Id: TUnuranContDist.h 33181 2010-04-25 10:15:08Z moneta $
// Authors: L. Moneta, J. Leydold Wed Feb 28 2007 // Authors: L. Moneta, J. Leydold Wed Feb 28 2007
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class TUnuranContDist // Header file for class TUnuranContDist
skipping to change at line 60 skipping to change at line 60
Constructor from a TF1 objects specifying the pdf and optionally from another function Constructor from a TF1 objects specifying the pdf and optionally from another function
representing the derivative of the pdf. The flag isLogPdf can be used to pass instead of the pdf representing the derivative of the pdf. The flag isLogPdf can be used to pass instead of the pdf
(and its derivative) the log (and the derivative of the log) of the p df. (and its derivative) the log (and the derivative of the log) of the p df.
By default the distribution has not domain set (it is defined between [-inf,+inf], no mode, no pdf area and no By default the distribution has not domain set (it is defined between [-inf,+inf], no mode, no pdf area and no
cdf explicity defined. UnuRan, if needed, can compute some of this qu antities, but the user if he knows them can cdf explicity defined. UnuRan, if needed, can compute some of this qu antities, but the user if he knows them can
set them in order to speed up the algorithm. For example in case of t he Cdf, if the user has not set it, a numerical set them in order to speed up the algorithm. For example in case of t he Cdf, if the user has not set it, a numerical
integration algorithm is used to estimate the Cdf from the Pdf. integration algorithm is used to estimate the Cdf from the Pdf.
In case an algorithm requires only the Cdf (no Pdf), an empty distrib ution can be constructed and then the user must In case an algorithm requires only the Cdf (no Pdf), an empty distrib ution can be constructed and then the user must
set afterwards the Cdf. set afterwards the Cdf.
*/ */
TUnuranContDist (TF1 * pdf = 0, TF1 * deriv = 0, bool isLogPdf = false ) ; explicit TUnuranContDist (TF1 * pdf = 0, TF1 * deriv = 0, bool isLogPdf = false );
/** /**
Constructor as before but from a generic function object interface fo r one-dim functions Constructor as before but from a generic function object interface fo r one-dim functions
*/ */
TUnuranContDist (const ROOT::Math::IGenFunction & pdf, const ROOT::Math: :IGenFunction * dpdf = 0, bool isLogPdf = false); explicit TUnuranContDist (const ROOT::Math::IGenFunction & pdf, const RO OT::Math::IGenFunction * dpdf = 0, bool isLogPdf = false, bool copyFunc = f alse);
/** /**
Destructor Destructor
*/ */
virtual ~TUnuranContDist (); virtual ~TUnuranContDist ();
/** /**
Copy constructor Copy constructor
*/ */
TUnuranContDist(const TUnuranContDist &); TUnuranContDist(const TUnuranContDist &);
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TUnuranMultiContDist.h   TUnuranMultiContDist.h 
// @(#)root/unuran:$Id: TUnuranMultiContDist.h 30749 2009-10-15 16:33:04Z b run $ // @(#)root/unuran:$Id: TUnuranMultiContDist.h 33181 2010-04-25 10:15:08Z m oneta $
// Authors: L. Moneta, J. Leydold Wed Feb 28 2007 // Authors: L. Moneta, J. Leydold Wed Feb 28 2007
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class TUnuranMultiContDist // Header file for class TUnuranMultiContDist
skipping to change at line 107 skipping to change at line 107
*/ */
void SetDomain(const double *xmin, const double *xmax) { void SetDomain(const double *xmin, const double *xmax) {
if (xmin == 0 || xmax == 0) return; if (xmin == 0 || xmax == 0) return;
fXmin = std::vector<double>(xmin,xmin+NDim()); fXmin = std::vector<double>(xmin,xmin+NDim());
fXmax = std::vector<double>(xmax,xmax+NDim()); fXmax = std::vector<double>(xmax,xmax+NDim());
} }
/** /**
set the mode of the distribution (coordinates of the distribution max imum values) set the mode of the distribution (coordinates of the distribution max imum values)
*/ */
void SetMode(double * x) { void SetMode(const double * x) {
fMode = std::vector<double>(x,x+NDim()); fMode = std::vector<double>(x,x+NDim());
} }
/** /**
get the distribution lower domain values. Return a null pointer if do main is not defined get the distribution lower domain values. Return a null pointer if do main is not defined
*/ */
const double * GetLowerDomain() const { const double * GetLowerDomain() const {
if (fXmin.size() == 0 || ( fXmin.size() != fXmax.size() ) ) return 0; if (fXmin.size() == 0 || ( fXmin.size() != fXmax.size() ) ) return 0;
return &fXmin[0]; return &fXmin[0];
} }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TUrl.h   TUrl.h 
// @(#)root/base:$Id: TUrl.h 31537 2009-12-03 16:45:40Z rdm $ // @(#)root/base:$Id: TUrl.h 33098 2010-04-19 22:54:51Z rdm $
// Author: Fons Rademakers 17/01/97 // Author: Fons Rademakers 17/01/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 42 skipping to change at line 42
#ifndef ROOT_TMap #ifndef ROOT_TMap
#include "TMap.h" #include "TMap.h"
#endif #endif
class THashList; class THashList;
class TMap; class TMap;
class TUrl : public TObject { class TUrl : public TObject {
private: private:
TString fUrl; // full URL mutable TString fUrl; // full URL
TString fProtocol; // protocol: http, ftp, news, root, proof, ... TString fProtocol; // protocol: http, ftp, news, root, proof, ...
TString fUser; // user name TString fUser; // user name
TString fPasswd; // password TString fPasswd; // password
TString fHost; // remote host TString fHost; // remote host
TString fFile; // remote object TString fFile; // remote object
TString fAnchor; // anchor in object (after #) TString fAnchor; // anchor in object (after #)
TString fOptions; // options/search (after ?) TString fOptions; // options/search (after ?)
mutable TString fFileOA; //!file with option and anchor mutable TString fFileOA; //!file with option and anchor
mutable TString fHostFQ; //!fully qualified host name mutable TString fHostFQ; //!fully qualified host name
Int_t fPort; // port through which to contact remote server Int_t fPort; // port through which to contact remote server
mutable TMap *fOptionsMap; //!map containing options key/value pairs mutable TMap *fOptionsMap; //!map containing options key/value pairs
static TObjArray *fgSpecialProtocols; // list of special protocols static TObjArray *fgSpecialProtocols; // list of special protocols
static THashList *fgHostFQDNs; // list of resolved host FQDNs static THashList *fgHostFQDNs; // list of resolved host FQDNs
void FindFile(char *u, Bool_t stripDoubleSlash = kTRUE); void FindFile(char *u, Bool_t stripDoubleSlash = kTRUE);
enum EStatusBits { kUrlWithDefaultPort = BIT(14), kUrlHasDefaultPort = B
IT(15) };
public: public:
TUrl() : fUrl(), fProtocol(), fUser(), fPasswd(), fHost(), fFile(), TUrl() : fUrl(), fProtocol(), fUser(), fPasswd(), fHost(), fFile(),
fAnchor(), fOptions(), fFileOA(), fHostFQ(), fPort(-1), fOption sMap(0) { } fAnchor(), fOptions(), fFileOA(), fHostFQ(), fPort(-1), fOption sMap(0) { }
TUrl(const char *url, Bool_t defaultIsFile = kFALSE); TUrl(const char *url, Bool_t defaultIsFile = kFALSE);
TUrl(const TUrl &url); TUrl(const TUrl &url);
TUrl &operator=(const TUrl &rhs); TUrl &operator=(const TUrl &rhs);
virtual ~TUrl(); virtual ~TUrl();
const char *GetUrl(Bool_t withDeflt = kFALSE); const char *GetUrl(Bool_t withDeflt = kFALSE) const;
const char *GetProtocol() const { return fProtocol; } const char *GetProtocol() const { return fProtocol; }
const char *GetUser() const { return fUser; } const char *GetUser() const { return fUser; }
const char *GetPasswd() const { return fPasswd; } const char *GetPasswd() const { return fPasswd; }
const char *GetHost() const { return fHost; } const char *GetHost() const { return fHost; }
const char *GetHostFQDN() const; const char *GetHostFQDN() const;
const char *GetFile() const { return fFile; } const char *GetFile() const { return fFile; }
const char *GetAnchor() const { return fAnchor; } const char *GetAnchor() const { return fAnchor; }
const char *GetOptions() const { return fOptions; } const char *GetOptions() const { return fOptions; }
const char *GetValueFromOptions(const char *key) const; const char *GetValueFromOptions(const char *key) const;
Int_t GetIntValueFromOptions(const char *key) const; Int_t GetIntValueFromOptions(const char *key) const;
 End of changes. 4 change blocks. 
3 lines changed or deleted 6 lines changed or added


 TVirtualFFT.h   TVirtualFFT.h 
// @(#)root/base:$Id: TVirtualFFT.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TVirtualFFT.h 32181 2010-02-02 10:03:01Z brun $
// Author: Anna Kreshuk 10/04/2006 // Author: Anna Kreshuk 10/04/2006
#ifndef ROOT_TVirtualFFT #ifndef ROOT_TVirtualFFT
#define ROOT_TVirtualFFT #define ROOT_TVirtualFFT
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// //
// TVirtualFFT // TVirtualFFT
// //
// TVirtualFFT is an interface class for Fast Fourier Transforms. // TVirtualFFT is an interface class for Fast Fourier Transforms.
skipping to change at line 31 skipping to change at line 31
// FFT: // FFT:
// - "C2CFORWARD" - a complex input/output discrete Fourier transform (DFT) // - "C2CFORWARD" - a complex input/output discrete Fourier transform (DFT)
// in one or more dimensions, -1 in the exponent // in one or more dimensions, -1 in the exponent
// - "C2CBACKWARD"- a complex input/output discrete Fourier transform (DFT) // - "C2CBACKWARD"- a complex input/output discrete Fourier transform (DFT)
// in one or more dimensions, +1 in the exponent // in one or more dimensions, +1 in the exponent
// - "R2C" - a real-input/complex-output discrete Fourier transform (DFT) // - "R2C" - a real-input/complex-output discrete Fourier transform (DFT)
// in one or more dimensions, // in one or more dimensions,
// - "C2R" - inverse transforms to "R2C", taking complex input // - "C2R" - inverse transforms to "R2C", taking complex input
// (storing the non-redundant half of a logically Hermitia n array) // (storing the non-redundant half of a logically Hermitia n array)
// to real output // to real output
// - "R2HC" - a real-input DFT with output in // - "R2HC" - a real-input DFT with output in "halfcomplex" format,
// i.e. real and imaginary parts for a transform of size n stored as // i.e. real and imaginary parts for a transform of size n stored as
// r0, r1, r2, ..., rn/2, i(n+1)/2-1, ..., i2, i1 // r0, r1, r2, ..., rn/2, i(n+1)/2-1, ..., i2, i1
// - "HC2R" - computes the reverse of FFTW_R2HC, above // - "HC2R" - computes the reverse of FFTW_R2HC, above
// - "DHT" - computes a discrete Hartley transform // - "DHT" - computes a discrete Hartley transform
// //
// Sine/cosine transforms: // Sine/cosine transforms:
// Different types of transforms are specified by parameter kind of the Sin eCosine() static // Different types of transforms are specified by parameter kind of the Sin eCosine() static
// function. 4 different kinds of sine and cosine transforms are available // function. 4 different kinds of sine and cosine transforms are available
// DCT-I (REDFT00 in FFTW3 notation)- kind=0 // DCT-I (REDFT00 in FFTW3 notation)- kind=0
// DCT-II (REDFT10 in FFTW3 notation)- kind=1 // DCT-II (REDFT10 in FFTW3 notation)- kind=1
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TVirtualGeoTrack.h   TVirtualGeoTrack.h 
// @(#)root/geom:$Id: TVirtualGeoTrack.h 21425 2007-12-17 15:59:27Z brun $ // @(#)root/geom:$Id: TVirtualGeoTrack.h 33212 2010-04-26 12:19:20Z agheata $
// Author: Andrei Gheata 2003/04/10 // Author: Andrei Gheata 2003/04/10
/************************************************************************* /*************************************************************************
* 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
TVirtualGeoTrack& operator=(const TVirtualGeoTrack&); TVirtualGeoTrack& operator=(const TVirtualGeoTrack&);
public: public:
TVirtualGeoTrack(); TVirtualGeoTrack();
TVirtualGeoTrack(Int_t id, Int_t pdgcode, TVirtualGeoTrack *parent=0, TO bject *particle=0); TVirtualGeoTrack(Int_t id, Int_t pdgcode, TVirtualGeoTrack *parent=0, TO bject *particle=0);
virtual ~TVirtualGeoTrack(); virtual ~TVirtualGeoTrack();
virtual TVirtualGeoTrack *AddDaughter(Int_t id, Int_t pdgcode, TObject * particle=0) = 0; virtual TVirtualGeoTrack *AddDaughter(Int_t id, Int_t pdgcode, TObject * particle=0) = 0;
virtual Int_t AddDaughter(TVirtualGeoTrack *other) = 0; virtual Int_t AddDaughter(TVirtualGeoTrack *other) = 0;
virtual void AddPoint(Double_t x, Double_t y, Double_t z, Double_ t t) = 0; virtual void AddPoint(Double_t x, Double_t y, Double_t z, Double_ t t) = 0;
virtual TVirtualGeoTrack *FindTrackWithId(Int_t id) const;
Int_t GetId() const {return fId;} Int_t GetId() const {return fId;}
virtual Int_t GetDaughterId(Int_t index) const {return GetDaughter (index)->GetId();} virtual Int_t GetDaughterId(Int_t index) const {return GetDaughter (index)->GetId();}
TVirtualGeoTrack *GetDaughter(Int_t index) const {return (TVirtualGeoT rack*)fTracks->At(index);} TVirtualGeoTrack *GetDaughter(Int_t index) const {return (TVirtualGeoT rack*)fTracks->At(index);}
TVirtualGeoTrack *GetMother() const {return fParent;} TVirtualGeoTrack *GetMother() const {return fParent;}
TObject *GetMotherParticle() const {return (fParent)?fParent- >GetParticle():0;} TObject *GetMotherParticle() const {return (fParent)?fParent- >GetParticle():0;}
virtual const char *GetName() const; virtual const char *GetName() const;
Int_t GetNdaughters() const {return (fTracks)?fTracks->Get EntriesFast():0;} Int_t GetNdaughters() const {return (fTracks)?fTracks->Get EntriesFast():0;}
virtual Int_t GetNpoints() const = 0; virtual Int_t GetNpoints() const = 0;
Int_t GetParentId() const {return (fParent)?fParent->Get Id():-1;} Int_t GetParentId() const {return (fParent)?fParent->Get Id():-1;}
TObject *GetParticle() const {return fParticle;} TObject *GetParticle() const {return fParticle;}
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TVirtualPacketizer.h   TVirtualPacketizer.h 
// @(#)root/proofplayer:$Id: TVirtualPacketizer.h 30899 2009-10-28 12:22:17 Z ganis $ // @(#)root/proofplayer:$Id: TVirtualPacketizer.h 32204 2010-02-03 19:17:40 Z ganis $
// Author: Maarten Ballintijn 9/7/2002 // Author: Maarten Ballintijn 9/7/2002
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
skipping to change at line 52 skipping to change at line 52
#ifndef ROOT_TProofProgressStatus #ifndef ROOT_TProofProgressStatus
#include "TProofProgressStatus.h" #include "TProofProgressStatus.h"
#endif #endif
class TDSet; class TDSet;
class TDSetElement; class TDSetElement;
class TSlave; class TSlave;
class TMessage; class TMessage;
class TNtupleD; class TNtupleD;
class TProofProgressInfo; class TProofProgressInfo;
class TMap;
class TVirtualPacketizer : public TObject { class TVirtualPacketizer : public TObject {
friend class TPacketizer;
friend class TPacketizerAdaptive;
friend class TPacketizerProgressive;
friend class TPacketizerUnit;
public: // public because of Sun CC bug public: // public because of Sun CC bug
class TVirtualSlaveStat; class TVirtualSlaveStat;
private: protected:
enum EUseEstOpt { // Option for usage of estimated values enum EUseEstOpt { // Option for usage of estimated values
kEstOff = 0, kEstOff = 0,
kEstCurrent = 1, kEstCurrent = 1,
kEstAverage = 2 kEstAverage = 2
}; };
TMap *fSlaveStats; // slave status, keyed by correspondig TSlave
TProofProgressStatus *fProgressStatus; // pointer to status in the playe r. TProofProgressStatus *fProgressStatus; // pointer to status in the playe r.
TTimer *fProgress; // progress updates timer TTimer *fProgress; // progress updates timer
Long64_t fTotalEntries; // total number of entries to be distributed; Long64_t fTotalEntries; // total number of entries to be distributed;
// not used in the progressive packetizer // not used in the progressive packetizer
TList *fFailedPackets;// a list of packets that failed while processi ng TList *fFailedPackets;// a list of packets that failed while processi ng
// Members for progress info // Members for progress info
Long_t fStartTime; // time offset Long_t fStartTime; // time offset
Float_t fInitTime; // time before processing Float_t fInitTime; // time before processing
Float_t fProcTime; // time since start of processing Float_t fProcTime; // time since start of processing
Float_t fTimeUpdt; // time between updates Float_t fTimeUpdt; // time between updates
TNtupleD *fCircProg; // Keeps circular info for "instantenous" TNtupleD *fCircProg; // Keeps circular info for "instantenous"
// rate calculations // rate calculations
Long_t fCircN; // Circularity Long_t fCircN; // Circularity
EUseEstOpt fUseEstOpt; // Control usage of estimated values for the pr ogress info EUseEstOpt fUseEstOpt; // Control usage of estimated values for the pr ogress info
TVirtualPacketizer(const TVirtualPacketizer &); // no implementation, w
ill generate
void operator=(const TVirtualPacketizer &); // error on accidental
usage
virtual Bool_t HandleTimer(TTimer *timer);
TDSetElement *CreateNewPacket(TDSetElement* base, Long64_t first, Long6
4_t num);
protected:
Bool_t fValid; // Constructed properly? Bool_t fValid; // Constructed properly?
Bool_t fStop; // Termination of Process() requested? Bool_t fStop; // Termination of Process() requested?
TString fDataSet; // Name of the dataset being processed (for d
ataset-driven runs)
TVirtualPacketizer(TList *input, TProofProgressStatus *st = 0); TVirtualPacketizer(TList *input, TProofProgressStatus *st = 0);
Long64_t GetEntries(Bool_t tree, TDSetElement *e); // Num of entries or TVirtualPacketizer(const TVirtualPacketizer &); // no implementation, w
objects ill generate
void operator=(const TVirtualPacketizer &); // error on accidental
usage
TDSetElement *CreateNewPacket(TDSetElement* base, Long64_t first, Long6
4_t num);
Long64_t GetEntries(Bool_t tree, TDSetElement *e); // Num of entri
es or objects
virtual Bool_t HandleTimer(TTimer *timer);
public: public:
enum EStatusBits { kIsInitializing = BIT(16), kIsDone = BIT(17) }; enum EStatusBits { kIsInitializing = BIT(16), kIsDone = BIT(17) };
virtual ~TVirtualPacketizer(); virtual ~TVirtualPacketizer();
Bool_t IsValid() const { return fValid; } Bool_t IsValid() const { return fValid; }
Long64_t GetEntriesProcessed() const { return (fProgressS tatus? fProgressStatus->GetEntries() : 0); } Long64_t GetEntriesProcessed() const { return (fProgressS tatus? fProgressStatus->GetEntries() : 0); }
virtual Int_t GetEstEntriesProcessed(Float_t, Long64_t &ent, L ong64_t &bytes, Long64_t &calls) virtual Int_t GetEstEntriesProcessed(Float_t, Long64_t &ent, L ong64_t &bytes, Long64_t &calls)
{ ent = GetEntriesProcessed(); bytes = GetBytesR ead(); calls = GetReadCalls(); return 0; } { ent = GetEntriesProcessed(); bytes = GetBytesR ead(); calls = GetReadCalls(); return 0; }
virtual Float_t GetCurrentRate(Bool_t &all) { all = kTRUE; retur n (fProgressStatus? fProgressStatus->GetCurrentRate() : 0.); } virtual Float_t GetCurrentRate(Bool_t &all) { all = kTRUE; retur n (fProgressStatus? fProgressStatus->GetCurrentRate() : 0.); }
skipping to change at line 128 skipping to change at line 125
Long64_t GetBytesRead() const { return (fProgressStatus? fProgressS tatus->GetBytesRead() : 0); } Long64_t GetBytesRead() const { return (fProgressStatus? fProgressS tatus->GetBytesRead() : 0); }
Long64_t GetReadCalls() const { return (fProgressStatus? fProgressS tatus->GetReadCalls() : 0); } Long64_t GetReadCalls() const { return (fProgressStatus? fProgressS tatus->GetReadCalls() : 0); }
Double_t GetCumProcTime() const { return fProgressStatus->GetProcTi me(); } Double_t GetCumProcTime() const { return fProgressStatus->GetProcTi me(); }
Float_t GetInitTime() const { return fInitTime; } Float_t GetInitTime() const { return fInitTime; }
Float_t GetProcTime() const { return fProcTime; } Float_t GetProcTime() const { return fProcTime; }
virtual void MarkBad(TSlave * /*s*/, TProofProgressStatus * /*status*/, TList ** /*missingFiles*/) { return; } virtual void MarkBad(TSlave * /*s*/, TProofProgressStatus * /*status*/, TList ** /*missingFiles*/) { return; }
virtual Int_t AddProcessed(TSlave * /*sl*/, TProofProgressStatus * /*st* /, virtual Int_t AddProcessed(TSlave * /*sl*/, TProofProgressStatus * /*st* /,
Double_t /*lat*/, TList ** /*missingFiles*/) { return 0 ; } Double_t /*lat*/, TList ** /*missingFiles*/) { return 0 ; }
TProofProgressStatus *GetStatus() { return fProgressStatus; } TProofProgressStatus *GetStatus() { return fProgressStatus; }
void SetProgressStatus(TProofProgressStatus *st) { fProgressSta tus = st; } void SetProgressStatus(TProofProgressStatus *st) { fProgressSta tus = st; }
void SetTotalEntries(Long64_t ent) { fTotalEntries = ent; }
TMap *GetSlaveStats() const { return fSlaveStats; }
virtual Int_t GetActiveWorkers() { return -1; } virtual Int_t GetActiveWorkers() { return -1; }
ClassDef(TVirtualPacketizer,0) //Generate work packets for parallel pro cessing ClassDef(TVirtualPacketizer,0) //Generate work packets for parallel pro cessing
}; };
//------------------------------------------------------------------------- ----- //------------------------------------------------------------------------- -----
class TVirtualPacketizer::TVirtualSlaveStat : public TObject { class TVirtualPacketizer::TVirtualSlaveStat : public TObject {
 End of changes. 9 change blocks. 
20 lines changed or deleted 21 lines changed or added


 TVirtualPadPainter.h   TVirtualPadPainter.h 
skipping to change at line 90 skipping to change at line 90
virtual void DrawPolyLine(Int_t n, const Double_t *x, const Double_t *y) = 0; virtual void DrawPolyLine(Int_t n, const Double_t *x, const Double_t *y) = 0;
virtual void DrawPolyLine(Int_t n, const Float_t *x, const Float_t * y) = 0; virtual void DrawPolyLine(Int_t n, const Float_t *x, const Float_t * y) = 0;
virtual void DrawPolyLineNDC(Int_t n, const Double_t *u, const Doubl e_t *v) = 0; virtual void DrawPolyLineNDC(Int_t n, const Double_t *u, const Doubl e_t *v) = 0;
virtual void DrawPolyMarker(Int_t n, const Double_t *x, const Double _t *y) = 0; virtual void DrawPolyMarker(Int_t n, const Double_t *x, const Double _t *y) = 0;
virtual void DrawPolyMarker(Int_t n, const Float_t *x, const Float_t *y) = 0; virtual void DrawPolyMarker(Int_t n, const Float_t *x, const Float_t *y) = 0;
virtual void DrawText(Double_t x, Double_t y, const char *text, ETex tMode mode) = 0; virtual void DrawText(Double_t x, Double_t y, const char *text, ETex tMode mode) = 0;
virtual void DrawTextNDC(Double_t u, Double_t v, const char *text, E TextMode mode) = 0; virtual void DrawTextNDC(Double_t u, Double_t v, const char *text, E TextMode mode) = 0;
//gif, jpg, png, bmp output.
virtual void SaveImage(TVirtualPad *pad, const char *fileName, Int_t
type) const = 0;
static TVirtualPadPainter *PadPainter(Option_t *opt = ""); static TVirtualPadPainter *PadPainter(Option_t *opt = "");
ClassDef(TVirtualPadPainter, 0)//Painter interface for pad. ClassDef(TVirtualPadPainter, 0)//Painter interface for pad.
}; };
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 4 lines changed or added


 TVirtualStreamerInfo.h   TVirtualStreamerInfo.h 
// @(#)root/meta:$Id: TVirtualStreamerInfo.h 30905 2009-10-28 16:51:47Z pca nal $ // @(#)root/meta:$Id: TVirtualStreamerInfo.h 32586 2010-03-12 14:00:16Z pca nal $
// Author: Rene Brun 05/02/2007 // Author: Rene Brun 05/02/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 39 skipping to change at line 39
class TObjArray; class TObjArray;
class TStreamerElement; class TStreamerElement;
class TStreamerBasicType; class TStreamerBasicType;
class TVirtualCollectionProxy; class TVirtualCollectionProxy;
class TClassStreamer; class TClassStreamer;
namespace ROOT { class TCollectionProxyInfo; } namespace ROOT { class TCollectionProxyInfo; }
class TVirtualStreamerInfo : public TNamed { class TVirtualStreamerInfo : public TNamed {
protected: protected:
Bool_t fOptimized; //! true if the Streamer has been
optimized
Bool_t fIsBuilt; //! true if the StreamerInfo has b
een 'built'
protected:
static Bool_t fgCanDelete; //True if ReadBuffer can delete ob ject static Bool_t fgCanDelete; //True if ReadBuffer can delete ob ject
static Bool_t fgOptimize; //True if optimization on static Bool_t fgOptimize; //True if optimization on
static Bool_t fgStreamMemberWise; //True if the collections are to b e stream "member-wise" (when possible). static Bool_t fgStreamMemberWise; //True if the collections are to b e stream "member-wise" (when possible).
static TVirtualStreamerInfo *fgInfoFactory; static TVirtualStreamerInfo *fgInfoFactory;
TVirtualStreamerInfo(const TVirtualStreamerInfo& info); TVirtualStreamerInfo(const TVirtualStreamerInfo& info);
TVirtualStreamerInfo& operator=(const TVirtualStreamerInfo&); TVirtualStreamerInfo& operator=(const TVirtualStreamerInfo&);
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),
kIsCompiled = BIT(16)
}; };
enum EReadWrite { enum EReadWrite {
kBase = 0, kOffsetL = 20, kOffsetP = 40, kCounter = 6, k CharStar = 7, kBase = 0, kOffsetL = 20, kOffsetP = 40, kCounter = 6, k CharStar = 7,
kChar = 1, kShort = 2, kInt = 3, kLong = 4, k Float = 5, kChar = 1, kShort = 2, kInt = 3, kLong = 4, k Float = 5,
kDouble = 8, kDouble32= 9, kDouble = 8, kDouble32= 9,
kUChar = 11, kUShort = 12, kUInt = 13, kULong = 14, k Bits = 15, kUChar = 11, kUShort = 12, kUInt = 13, kULong = 14, k Bits = 15,
kLong64 = 16, kULong64 = 17, kBool = 18, kFloat16 = 19, kLong64 = 16, kULong64 = 17, kBool = 18, kFloat16 = 19,
kObject = 61, kAny = 62, kObjectp = 63, kObjectP = 64, k TString = 65, kObject = 61, kAny = 62, kObjectp = 63, kObjectP = 64, k TString = 65,
kTObject = 66, kTNamed = 67, kAnyp = 68, kAnyP = 69, k AnyPnoVT = 70, kTObject = 66, kTNamed = 67, kAnyp = 68, kAnyP = 69, k AnyPnoVT = 70,
skipping to change at line 108 skipping to change at line 113
virtual void Build() = 0; virtual void Build() = 0;
virtual void BuildCheck() = 0; virtual void BuildCheck() = 0;
virtual void BuildEmulated(TFile *file) = 0; virtual void BuildEmulated(TFile *file) = 0;
virtual void BuildOld() = 0; virtual void BuildOld() = 0;
virtual Bool_t BuildFor( const TClass *cl ) = 0; virtual Bool_t BuildFor( const TClass *cl ) = 0;
virtual void CallShowMembers(void* obj, TMemberInspector &insp, c har *parent) const = 0; virtual void CallShowMembers(void* obj, TMemberInspector &insp, c har *parent) const = 0;
virtual void Clear(Option_t *) = 0; virtual void Clear(Option_t *) = 0;
virtual Bool_t CompareContent(TClass *cl,TVirtualStreamerInfo *info , Bool_t warn, Bool_t complete) = 0; virtual Bool_t CompareContent(TClass *cl,TVirtualStreamerInfo *info , Bool_t warn, Bool_t complete) = 0;
virtual void Compile() = 0; virtual void Compile() = 0;
virtual void ForceWriteInfo(TFile *file, Bool_t force=kFALSE) = 0 ; virtual void ForceWriteInfo(TFile *file, Bool_t force=kFALSE) = 0 ;
virtual Int_t GenerateHeaderFile(const char *dirname, const TList virtual Int_t GenerateHeaderFile(const char *dirname, const TList
*subClasses = 0) = 0; *subClasses = 0, const TList *extrainfos = 0) = 0;
virtual TClass *GetActualClass(const void *obj) const = 0;
virtual TClass *GetClass() const = 0; virtual TClass *GetClass() const = 0;
virtual UInt_t GetCheckSum() const = 0; virtual UInt_t GetCheckSum() const = 0;
virtual Int_t GetClassVersion() const = 0; virtual Int_t GetClassVersion() const = 0;
virtual ULong_t *GetElems() const = 0; virtual ULong_t *GetElems() const = 0;
virtual TObjArray *GetElements() const = 0; virtual TObjArray *GetElements() const = 0;
virtual Int_t GetOffset(const char *) const = 0; virtual Int_t GetOffset(const char *) const = 0;
virtual Int_t *GetOffsets() const = 0; virtual Int_t *GetOffsets() const = 0;
virtual Version_t GetOldVersion() const = 0; virtual Version_t GetOldVersion() const = 0;
virtual Int_t GetOnFileClassVersion() const = 0; virtual Int_t GetOnFileClassVersion() const = 0;
virtual Int_t GetNumber() const = 0; virtual Int_t GetNumber() const = 0;
virtual Int_t GetSize() const = 0; virtual Int_t GetSize() const = 0;
virtual TStreamerElement *GetStreamerElement(const char*datamember, In t_t& offset) const = 0; virtual TStreamerElement *GetStreamerElement(const char*datamember, In t_t& offset) const = 0;
virtual Bool_t IsBuilt() const = 0; Bool_t IsBuilt() const { return fIsBuilt; }
virtual Bool_t IsOptimized() const = 0; Bool_t IsCompiled() const { return TestBit(kIsCompiled); }
virtual Int_t IsRecovered() const {return TestBit(kRecovered);} Bool_t IsOptimized() const { return fOptimized; }
Int_t IsRecovered() const { return TestBit(kRecovered); }
virtual void ls(Option_t *option="") const = 0; virtual void ls(Option_t *option="") const = 0;
virtual TVirtualStreamerInfo *NewInfo(TClass *cl) = 0; virtual TVirtualStreamerInfo *NewInfo(TClass *cl) = 0;
virtual void *New(void *obj = 0) = 0; virtual void *New(void *obj = 0) = 0;
virtual void *NewArray(Long_t nElements, void* ary = 0) = 0; virtual void *NewArray(Long_t nElements, void* ary = 0) = 0;
virtual void Destructor(void* p, Bool_t dtorOnly = kFALSE) = 0; virtual void Destructor(void* p, Bool_t dtorOnly = kFALSE) = 0;
virtual void DeleteArray(void* p, Bool_t dtorOnly = kFALSE) = 0; virtual void DeleteArray(void* p, Bool_t dtorOnly = kFALSE) = 0;
virtual void SetCheckSum(UInt_t checksum) = 0; virtual void SetCheckSum(UInt_t checksum) = 0;
virtual void SetClass(TClass *cl) = 0; virtual void SetClass(TClass *cl) = 0;
virtual void SetClassVersion(Int_t vers) = 0; virtual void SetClassVersion(Int_t vers) = 0;
 End of changes. 5 change blocks. 
7 lines changed or deleted 16 lines changed or added


 TVirtualX.h   TVirtualX.h 
// @(#)root/base:$Id: TVirtualX.h 31347 2009-11-20 18:03:00Z brun $ // @(#)root/base:$Id: TVirtualX.h 32427 2010-03-01 18:25:58Z rdm $
// Author: Fons Rademakers 3/12/95 // Author: Fons Rademakers 3/12/95
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 158 skipping to change at line 158
virtual void SetTextColor(Color_t cindex); virtual void SetTextColor(Color_t cindex);
virtual Int_t SetTextFont(char *fontname, ETextSetMode mode); virtual Int_t SetTextFont(char *fontname, ETextSetMode mode);
virtual void SetTextFont(Font_t fontnumber); virtual void SetTextFont(Font_t fontnumber);
virtual void SetTextMagnitude(Float_t mgn); virtual void SetTextMagnitude(Float_t mgn);
virtual void SetTextSize(Float_t textsize); virtual void SetTextSize(Float_t textsize);
virtual void UpdateWindow(Int_t mode); virtual void UpdateWindow(Int_t mode);
virtual void Warp(Int_t ix, Int_t iy, Window_t id = 0); virtual void Warp(Int_t ix, Int_t iy, Window_t id = 0);
virtual Int_t WriteGIF(char *name); virtual Int_t WriteGIF(char *name);
virtual void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxnam e); virtual void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxnam e);
virtual Window_t GetCurrentWindow() const; virtual Window_t GetCurrentWindow() const;
virtual Int_t SupportsExtension(const char *ext) const;
//---- Methods used for GUI ----- //---- Methods used for GUI -----
virtual void GetWindowAttributes(Window_t id, WindowAttributes_t &attr); virtual void GetWindowAttributes(Window_t id, WindowAttributes_t &attr);
virtual void MapWindow(Window_t id); virtual void MapWindow(Window_t id);
virtual void MapSubwindows(Window_t id); virtual void MapSubwindows(Window_t id);
virtual void MapRaised(Window_t id); virtual void MapRaised(Window_t id);
virtual void UnmapWindow(Window_t id); virtual void UnmapWindow(Window_t id);
virtual void DestroyWindow(Window_t id); virtual void DestroyWindow(Window_t id);
virtual void DestroySubwindows(Window_t id); virtual void DestroySubwindows(Window_t id);
virtual void RaiseWindow(Window_t id); virtual void RaiseWindow(Window_t id);
skipping to change at line 328 skipping to change at line 329
virtual void ConvertSelection(Window_t, Atom_t&, Atom_t&, Atom_t &, Time_t&); virtual void ConvertSelection(Window_t, Atom_t&, Atom_t&, Atom_t &, Time_t&);
virtual Bool_t SetSelectionOwner(Window_t, Atom_t&); virtual Bool_t SetSelectionOwner(Window_t, Atom_t&);
virtual void ChangeProperties(Window_t id, Atom_t property, Atom _t type, virtual void ChangeProperties(Window_t id, Atom_t property, Atom _t type,
Int_t format, UChar_t *data, Int_t len); Int_t format, UChar_t *data, Int_t len);
virtual void SetDNDAware(Window_t, Atom_t *); virtual void SetDNDAware(Window_t, Atom_t *);
virtual void SetTypeList(Window_t win, Atom_t prop, Atom_t *type list); virtual void SetTypeList(Window_t win, Atom_t prop, Atom_t *type list);
virtual Window_t FindRWindow(Window_t win, Window_t dragwin, Window_ t input, int x, int y, int maxd); virtual Window_t FindRWindow(Window_t win, Window_t dragwin, Window_ t input, int x, int y, int maxd);
virtual Bool_t IsDNDAware(Window_t win, Atom_t *typelist); virtual Bool_t IsDNDAware(Window_t win, Atom_t *typelist);
virtual Bool_t IsCmdThread() const { return kTRUE; } virtual Bool_t IsCmdThread() const { return kTRUE; }
static TVirtualX *&Instance(); static TVirtualX *&Instance();
ClassDef(TVirtualX,0) //ABC defining a generic interface to graphics sy stem ClassDef(TVirtualX,0) //ABC defining a generic interface to graphics sy stem
}; };
#ifndef __CINT__ #ifndef __CINT__
#define gVirtualX (TVirtualX::Instance()) #define gVirtualX (TVirtualX::Instance())
R__EXTERN TVirtualX *(*gPtr2VirtualX)(); R__EXTERN TVirtualX *(*gPtr2VirtualX)();
#endif #endif
R__EXTERN TVirtualX *gGXBatch; R__EXTERN TVirtualX *gGXBatch;
 End of changes. 3 change blocks. 
1 lines changed or deleted 3 lines changed or added


 TXMLEngine.h   TXMLEngine.h 
// @(#)root/xml:$Id: TXMLEngine.h 31815 2009-12-10 16:27:22Z brun $ // @(#)root/xml:$Id: TXMLEngine.h 32188 2010-02-02 17:41:23Z 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 43 skipping to change at line 43
XMLNodePointer_t AllocateNode(const char *name, XMLNodePointer_t parent ); XMLNodePointer_t AllocateNode(const char *name, XMLNodePointer_t parent );
XMLAttrPointer_t AllocateAttr(const char *name, const char *value, XMLN odePointer_t xmlnode); XMLAttrPointer_t AllocateAttr(const char *name, const char *value, XMLN odePointer_t xmlnode);
XMLAttrPointer_t AllocateAttr(Ssiz_t namelen, Ssiz_t valuelen, XMLNodeP ointer_t xmlnode); XMLAttrPointer_t AllocateAttr(Ssiz_t namelen, Ssiz_t valuelen, XMLNodeP ointer_t xmlnode);
XMLNsPointer_t FindNs(XMLNodePointer_t xmlnode, const char* nsname); XMLNsPointer_t FindNs(XMLNodePointer_t xmlnode, const char* nsname);
void TruncateNsExtension(XMLNodePointer_t xmlnode); void TruncateNsExtension(XMLNodePointer_t xmlnode);
void UnpackSpecialCharacters(char* target, const char* sour ce, int srclen); void UnpackSpecialCharacters(char* target, const char* sour ce, int srclen);
void OutputValue(char* value, TXMLOutputStream* out); void OutputValue(char* value, TXMLOutputStream* out);
void SaveNode(XMLNodePointer_t xmlnode, TXMLOutputStream* o ut, Int_t layout, Int_t level); void SaveNode(XMLNodePointer_t xmlnode, TXMLOutputStream* o ut, Int_t layout, Int_t level);
XMLNodePointer_t ReadNode(XMLNodePointer_t xmlparent, TXMLInputStream* inp, Int_t& resvalue); XMLNodePointer_t ReadNode(XMLNodePointer_t xmlparent, TXMLInputStream* inp, Int_t& resvalue);
void DisplayError(Int_t error, Int_t linenumber); void DisplayError(Int_t error, Int_t linenumber);
XMLDocPointer_t ParseStream(TXMLInputStream* input);
Bool_t fSkipComments; //! if true, do not create comments nodes in document during parsing Bool_t fSkipComments; //! if true, do not create comments nodes in document during parsing
public: public:
TXMLEngine(); TXMLEngine();
virtual ~TXMLEngine(); virtual ~TXMLEngine();
void SetSkipComments(bool on = kTRUE) { fSkipComments = on; } void SetSkipComments(bool on = kTRUE) { fSkipComments = on; }
Bool_t GetSkipComments() const { return fSkipComments; } Bool_t GetSkipComments() const { return fSkipComments; }
skipping to change at line 110 skipping to change at line 111
Bool_t IsEmptyNode(XMLNodePointer_t xmlnode); Bool_t IsEmptyNode(XMLNodePointer_t xmlnode);
void SkipEmpty(XMLNodePointer_t &xmlnode); void SkipEmpty(XMLNodePointer_t &xmlnode);
void CleanNode(XMLNodePointer_t xmlnode); void CleanNode(XMLNodePointer_t xmlnode);
XMLDocPointer_t NewDoc(const char* version = "1.0"); XMLDocPointer_t NewDoc(const char* version = "1.0");
void AssignDtd(XMLDocPointer_t xmldoc, const char* dtdname, const char* rootname); void AssignDtd(XMLDocPointer_t xmldoc, const char* dtdname, const char* rootname);
void FreeDoc(XMLDocPointer_t xmldoc); void FreeDoc(XMLDocPointer_t xmldoc);
void SaveDoc(XMLDocPointer_t xmldoc, const char* filename, Int_t layout = 1); void SaveDoc(XMLDocPointer_t xmldoc, const char* filename, Int_t layout = 1);
void DocSetRootElement(XMLDocPointer_t xmldoc, XMLNodePoint er_t xmlnode); void DocSetRootElement(XMLDocPointer_t xmldoc, XMLNodePoint er_t xmlnode);
XMLNodePointer_t DocGetRootElement(XMLDocPointer_t xmldoc); XMLNodePointer_t DocGetRootElement(XMLDocPointer_t xmldoc);
XMLDocPointer_t ParseFile(const char* filename); XMLDocPointer_t ParseFile(const char* filename);
XMLDocPointer_t ParseString(const char* xmlstring);
Bool_t ValidateVersion(XMLDocPointer_t doc, const char* versi on = 0); Bool_t ValidateVersion(XMLDocPointer_t doc, const char* versi on = 0);
Bool_t ValidateDocument(XMLDocPointer_t, Bool_t = kFALSE) { r eturn kFALSE; } // obsolete Bool_t ValidateDocument(XMLDocPointer_t, Bool_t = kFALSE) { r eturn kFALSE; } // obsolete
void SaveSingleNode(XMLNodePointer_t xmlnode, TString* res, Int_t layout = 1); void SaveSingleNode(XMLNodePointer_t xmlnode, TString* res, Int_t layout = 1);
XMLNodePointer_t ReadSingleNode(const char* src); XMLNodePointer_t ReadSingleNode(const char* src);
ClassDef(TXMLEngine,1); // ROOT XML I/O parser, user by TXMLFile to re ad/write xml files ClassDef(TXMLEngine,1); // ROOT XML I/O parser, user by TXMLFile to re ad/write xml files
}; };
#endif #endif
 End of changes. 3 change blocks. 
1 lines changed or deleted 3 lines changed or added


 ToyMCSampler.h   ToyMCSampler.h 
// @(#)root/roostats:$Id: ToyMCSampler.h 31276 2009-11-18 15:06:42Z moneta $ // @(#)root/roostats:$Id: ToyMCSampler.h 33206 2010-04-26 09:59:06Z moneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
// Additions and modifications by Mario Pelliccioni // Additions and modifications by Mario Pelliccioni
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TypeBase.h   TypeBase.h 
// @(#)root/reflex:$Id: TypeBase.h 29288 2009-07-01 13:03:35Z axel $ // @(#)root/reflex:$Id: TypeBase.h 32228 2010-02-05 16:13:09Z 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-2010, 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.
#ifndef Reflex_TypeBase #ifndef Reflex_TypeBase
#define Reflex_TypeBase #define Reflex_TypeBase
skipping to change at line 262 skipping to change at line 262
/** /**
* SimpleName returns the name of the type as a reference. It provides a * SimpleName returns the name of the type as a reference. It provides a
* simplified but faster generation of a type name. Attention currently it * simplified but faster generation of a type name. Attention currently it
* is not guaranteed that Name() and SimpleName() return the same charac ter * is not guaranteed that Name() and SimpleName() return the same charac ter
* layout of a name (ie. spacing, commas, etc. ) * layout of a name (ie. spacing, commas, etc. )
* @param pos will indicate where in the returned reference the requeste d name starts * @param pos will indicate where in the returned reference the requeste d name starts
* @param mod The only 'mod' support is SCOPED * @param mod The only 'mod' support is SCOPED
* @return name of type * @return name of type
*/ */
virtual const std::string& SimpleName(size_t& pos, virtual const char* SimpleName(size_t& pos,
unsigned int mod = 0) const; unsigned int mod = 0) const;
/** /**
* FunctionParameterAt returns the nth FunctionParameterAt * FunctionParameterAt returns the nth FunctionParameterAt
* @param nth nth FunctionParameterAt * @param nth nth FunctionParameterAt
* @return pointer to nth FunctionParameterAt At * @return pointer to nth FunctionParameterAt At
*/ */
virtual Type FunctionParameterAt(size_t nth) const; virtual Type FunctionParameterAt(size_t nth) const;
/** /**
* FunctionParameterSize will return the number of parameters of this fu nction * FunctionParameterSize will return the number of parameters of this fu nction
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 lines changed or added


 TypeBuilder.h   TypeBuilder.h 
// @(#)root/reflex:$Id: TypeBuilder.h 30749 2009-10-15 16:33:04Z brun $ // @(#)root/reflex:$Id: TypeBuilder.h 32228 2010-02-05 16:13:09Z 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-2010, 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.
#ifndef Reflex_TypeBuilder #ifndef Reflex_TypeBuilder
#define Reflex_TypeBuilder #define Reflex_TypeBuilder
skipping to change at line 28 skipping to change at line 28
#include <vector> #include <vector>
#if defined(__ICC) #if defined(__ICC)
# define OffsetOf(c1, mem) (long (&((volatile const char &)((c1*) 0)->mem)) ) # define OffsetOf(c1, mem) (long (&((volatile const char &)((c1*) 0)->mem)) )
#else #else
# define OffsetOf(c1, mem) ((size_t) (&reinterpret_cast<const volatile char &>(((c1*) 64)->mem)) - 64) # define OffsetOf(c1, mem) ((size_t) (&reinterpret_cast<const volatile char &>(((c1*) 64)->mem)) - 64)
#endif #endif
namespace Reflex { namespace Reflex {
template<typename FUNC>
void* FuncToVoidPtr(FUNC f) {
union Cnv_t {
Cnv_t(FUNC ff): fFunc(ff) {}
FUNC fFunc;
void* fPtr;
} u(f);
return u.fPtr;
}
template <typename FUNC>
FUNC VoidPtrToFunc(void* p) {
union Cnv_t {
Cnv_t(void* pp): fPtr(pp) {}
FUNC fFunc;
void* fPtr;
} u(p);
return u.fFunc;
}
class RFLX_API Literal {
public:
Literal(const char*);
~Literal();
operator const char*() const { return fPtr; }
private:
const char* fPtr;
};
RFLX_API Type TypeBuilder(const char* n, RFLX_API Type TypeBuilder(const char* n,
unsigned int modifiers = 0); unsigned int modifiers = 0);
RFLX_API Type ConstBuilder(const Type& t); RFLX_API Type ConstBuilder(const Type& t);
RFLX_API Type VolatileBuilder(const Type& t); RFLX_API Type VolatileBuilder(const Type& t);
RFLX_API Type PointerBuilder(const Type& t, RFLX_API Type PointerBuilder(const Type& t,
const std::type_info& ti = typeid(UnknownType) ); const std::type_info& ti = typeid(UnknownType) );
 End of changes. 3 change blocks. 
2 lines changed or deleted 30 lines changed or added


 TypeName.h   TypeName.h 
// @(#)root/reflex:$Id: TypeName.h 29288 2009-07-01 13:03:35Z axel $ // @(#)root/reflex:$Id: TypeName.h 32228 2010-02-05 16:13:09Z 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-2010, 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.
#ifndef Reflex_TypeName #ifndef Reflex_TypeName
#define Reflex_TypeName #define Reflex_TypeName
// Include files // Include files
#include "Reflex/Kernel.h" #include "Reflex/Kernel.h"
#include <string> #include "LiteralString.h"
#include <typeinfo> #include <typeinfo>
namespace Reflex { namespace Reflex {
// forward declarations // forward declarations
class TypeBase;
class Type; class Type;
class TypeBase;
/** /**
* class TypeName TypeName.h Reflex/TypeName.h * class TypeName TypeName.h Reflex/TypeName.h
* @author Stefan Roiser * @author Stefan Roiser
* @date 06/11/2004 * @date 06/11/2004
* @ingroup Ref * @ingroup Ref
*/ */
class RFLX_API TypeName { class RFLX_API TypeName {
friend class Type; friend class Type;
friend class TypeBase; friend class TypeBase;
skipping to change at line 77 skipping to change at line 77
* Hide this type from any lookup by appending the string " @HIDDEN@" to its name. * Hide this type from any lookup by appending the string " @HIDDEN@" to its name.
*/ */
void HideName(); void HideName();
/** /**
* Un-Hide this type from any lookup by removing the string " @HIDDEN@" to its name. * Un-Hide this type from any lookup by removing the string " @HIDDEN@" to its name.
*/ */
void UnhideName(); void UnhideName();
/** /**
* Name will return the string representation of the At (unique) * Name returns a char* pointer to the unqualified At Name
* @return At Name as a string
*/
const std::string& Name() const;
/**
* Name_c_str returns a char* pointer to the unqualified At Name
* @ return c string to unqualified At Name * @ return c string to unqualified At Name
*/ */
const char* Name_c_str() const; const char* Name() const;
const LiteralString& LiteralName() const { return fName; }
/** /**
* At returns the At object of this TypeName * At returns the At object of this TypeName
* @return corresponding Type to this TypeName * @return corresponding Type to this TypeName
*/ */
Type ThisType() const; Type ThisType() const;
/** /**
* Unload reflection information for this type.
*/
void Unload();
/**
* At will return a pointer to the nth Type in the system * At will return a pointer to the nth Type in the system
* @param nth number of At to return * @param nth number of At to return
* @return pointer to nth Type in the system * @return pointer to nth Type in the system
*/ */
static Type TypeAt(size_t nth); static Type TypeAt(size_t nth);
/** /**
* Size will return the number of currently defined types in * Size will return the number of currently defined types in
* the system * the system
* @return number of currently defined types * @return number of currently defined types
skipping to change at line 122 skipping to change at line 123
private: private:
/** destructor */ /** destructor */
~TypeName(); ~TypeName();
/** Set the type_info in the hash_map to this */ /** Set the type_info in the hash_map to this */
void SetTypeId(const std::type_info& ti) const; void SetTypeId(const std::type_info& ti) const;
private: private:
/** the Name of the At */ /** the Name of the At */
std::string fName; LiteralString fName;
/** /**
* pointer to a TypebeBase if the At is implemented * pointer to a TypebeBase if the At is implemented
* @label type base * @label type base
* @link aggregation * @link aggregation
* @supplierCardinality 1 * @supplierCardinality 1
* @clientCardinality 1 * @clientCardinality 1
*/ */
mutable mutable
TypeBase * fTypeBase; TypeBase * fTypeBase;
skipping to change at line 148 skipping to change at line 149
* @supplierCardinality 1 * @supplierCardinality 1
* @clientCardinality 1 * @clientCardinality 1
*/ */
Type* fThisType; Type* fThisType;
}; // class TypeName }; // class TypeName
} // namespace Reflex } // namespace Reflex
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
inline const std::string&
Reflex::TypeName::Name() const {
//-------------------------------------------------------------------------
------
return fName;
}
//-------------------------------------------------------------------------
------
inline const char* inline const char*
Reflex::TypeName::Name_c_str() const { Reflex::TypeName::Name() const {
//------------------------------------------------------------------------- ------ //------------------------------------------------------------------------- ------
return fName.c_str(); return fName.c_str();
} }
#endif // Reflex_TypeName #endif // Reflex_TypeName
 End of changes. 11 change blocks. 
23 lines changed or deleted 15 lines changed or added


 UnBinData.h   UnBinData.h 
// @(#)root/mathcore:$Id: UnBinData.h 28946 2009-06-11 15:39:14Z moneta $ // @(#)root/mathcore:$Id: UnBinData.h 33180 2010-04-25 10:14:07Z moneta $
// Author: L. Moneta Wed Aug 30 11:15:23 2006 // Author: L. Moneta Wed Aug 30 11:15:23 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 UnBinData // Header file for class UnBinData
skipping to change at line 175 skipping to change at line 175
/** /**
destructor, delete pointer to internal data or external data wrapper destructor, delete pointer to internal data or external data wrapper
*/ */
virtual ~UnBinData() { virtual ~UnBinData() {
if (fDataVector) delete fDataVector; if (fDataVector) delete fDataVector;
if (fDataWrapper) delete fDataWrapper; if (fDataWrapper) delete fDataWrapper;
} }
/** /**
preallocate a data set given size and dimension preallocate a data set given size and dimension
if a vector already exists with correct fimension (point size) extend if a vector already exists with correct dimension (point size) extend
the existing one the existing one
keep the previous one to a total size of maxpoints (equivalent to a Resize)
*/ */
void Initialize(unsigned int maxpoints, unsigned int dim = 1); void Initialize(unsigned int maxpoints, unsigned int dim = 1);
/** /**
return fit point size (for unbin data is equivalent to coordinate dim ension) return fit point size (for unbin data is equivalent to coordinate dim ension)
*/ */
unsigned int PointSize() const { unsigned int PointSize() const {
return fDim; return fDim;
} }
 End of changes. 2 change blocks. 
4 lines changed or deleted 4 lines changed or added


 VirtualIntegrator.h   VirtualIntegrator.h 
skipping to change at line 103 skipping to change at line 103
class VirtualIntegratorOneDim : public VirtualIntegrator { class VirtualIntegratorOneDim : public VirtualIntegrator {
public: public:
/// destructor: no operation /// destructor: no operation
virtual ~VirtualIntegratorOneDim() {} virtual ~VirtualIntegratorOneDim() {}
/// evaluate integral /// evaluate integral
virtual double Integral(double a, double b) = 0; virtual double Integral(double a, double b) = 0;
/// set integration function (flag control if function must be copied in /// set integration function
side) virtual void SetFunction(const IGenFunction &) = 0;
virtual void SetFunction(const IGenFunction &, bool copy = false) = 0;
/// evaluate un-defined integral (between -inf, + inf) /// evaluate un-defined integral (between -inf, + inf)
virtual double Integral() = 0; virtual double Integral() = 0;
/// evaluate integral over the (a, +inf) /// evaluate integral over the (a, +inf)
virtual double IntegralUp(double a) = 0; virtual double IntegralUp(double a) = 0;
/// evaluate integral over the (-inf, b) /// evaluate integral over the (-inf, b)
virtual double IntegralLow(double b) = 0; virtual double IntegralLow(double b) = 0;
 End of changes. 1 change blocks. 
3 lines changed or deleted 2 lines changed or added


 WrappedFunction.h   WrappedFunction.h 
// @(#)root/mathcore:$Id: WrappedFunction.h 26866 2008-12-12 10:50:07Z mone ta $ // @(#)root/mathcore:$Id: WrappedFunction.h 33180 2010-04-25 10:14: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 32 skipping to change at line 32
* * * *
**********************************************************************/ **********************************************************************/
#ifndef ROOT_Math_WrappedFunction #ifndef ROOT_Math_WrappedFunction
#define ROOT_Math_WrappedFunction #define ROOT_Math_WrappedFunction
#ifndef ROOT_Math_IFunction #ifndef ROOT_Math_IFunction
#include "IFunction.h" #include "IFunction.h"
#endif #endif
#include <iostream>
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
struct NullTypeFunc1D {}; struct NullTypeFunc1D {};
typedef double( * FreeFunctionPtr ) (double ); typedef double( * FreeFunctionPtr ) (double );
typedef double( * FreeMultiFunctionPtr ) (const double *); typedef double( * FreeMultiFunctionPtr ) (const double *);
/** /**
Template class to wrap any C++ callable object which takes one argument Template class to wrap any C++ callable object which takes one argument
i.e. implementing operator() (double x) in a One-dimensional function in terface. i.e. implementing operator() (double x) in a One-dimensional function in terface.
It provides a ROOT::Math::IGenFunction-like signature It provides a ROOT::Math::IGenFunction-like signature
Note: If you want to wrap just the reference (to avoid copying) you need
to use
Func& or const Func & as template parameter. The former should be used
when the
operator() is not a const method of Func
@ingroup GenFunc @ingroup GenFunc
*/ */
template< typename Func = FreeFunctionPtr > template< typename Func = FreeFunctionPtr >
class WrappedFunction : public IGenFunction { class WrappedFunction : public IGenFunction {
public: public:
/** /**
construct from the pointer to the object and the member function construct from the pointer to the object and the member function
skipping to change at line 132 skipping to change at line 134
FuncObj * fObj; FuncObj * fObj;
MemFuncPtr fMemFunc; MemFuncPtr fMemFunc;
}; // WrappedMemFunction }; // WrappedMemFunction
/** /**
Template class to wrap any C++ callable object Template class to wrap any C++ callable object
implementing operator() (const double * x) in a multi-dimensional functi on interface. implementing operator() (const double * x) in a multi-dimensional functi on interface.
It provides a ROOT::Math::IGenMultiFunction-like signature It provides a ROOT::Math::IGenMultiFunction-like signature
Note: If you want to wrap just the reference (to avoid copying) you need
to use
Func& or const Func & as template parameter. The former should be used w
hen the
operator() is not a const method of Func
@ingroup GenFunc @ingroup GenFunc
*/ */
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
 End of changes. 4 change blocks. 
3 lines changed or deleted 13 lines changed or added


 WrappedMultiTF1.h   WrappedMultiTF1.h 
// @(#)root/mathmore:$Id: WrappedMultiTF1.h 31207 2009-11-16 16:52:00Z mone ta $ // @(#)root/mathmore:$Id: WrappedMultiTF1.h 32265 2010-02-08 10:10:44Z mone ta $
// 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 125 skipping to change at line 125
/// evaluate function passing coordinates x and vector of parameters /// evaluate function passing coordinates x and vector of parameters
double DoEvalPar (const double * x, const double * p ) const { double DoEvalPar (const double * x, const double * p ) const {
if (fFunc->GetMethodCall() ) fFunc->InitArgs(x,p); // needed for in terpreted functions if (fFunc->GetMethodCall() ) fFunc->InitArgs(x,p); // needed for in terpreted functions
return fFunc->EvalPar(x,p); return fFunc->EvalPar(x,p);
} }
/// evaluate the partial derivative with respect to the parameter /// evaluate the partial derivative with respect to the parameter
double DoParameterDerivative(const double * x, const double * p, unsigne d int ipar) const; double DoParameterDerivative(const double * x, const double * p, unsigne d int ipar) const;
bool fLinear; // flag for linear functions bool fLinear; // flag for linear functions
bool fPolynomial; // flag for polynomial functions
TF1 * fFunc; // pointer to ROOT function TF1 * fFunc; // pointer to ROOT function
unsigned int fDim; // cached value of dimension unsigned int fDim; // cached value of dimension
std::vector<double> fParams; // cached vector with parameter values std::vector<double> fParams; // cached vector with parameter values
static double fgEps; // epsilon used in derivative calculation h ~ eps |p| static double fgEps; // epsilon used in derivative calculation h ~ eps |p|
}; };
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
 End of changes. 2 change blocks. 
2 lines changed or deleted 1 lines changed or added


 cintdictversion.h   cintdictversion.h 
skipping to change at line 18 skipping to change at line 18
************************************************************************ ************************************************************************
* Copyright(c) 1995~2008 Masaharu Goto (cint@pcroot.cern.ch) * Copyright(c) 1995~2008 Masaharu Goto (cint@pcroot.cern.ch)
* *
* For the licensing terms see the file COPYING * For the licensing terms see the file COPYING
* *
************************************************************************/ ************************************************************************/
#ifndef INCLUDE_CINTDICTVERSION #ifndef INCLUDE_CINTDICTVERSION
#define INCLUDE_CINTDICTVERSION #define INCLUDE_CINTDICTVERSION
#define G__CINTDICTVERSION 20090608 #define G__CINTDICTVERSION 20100330
#endif /* INCLUDE_CINTDICTVERSION */ #endif /* INCLUDE_CINTDICTVERSION */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 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 lxbuild147.cern.ch 2.6.18-164.6.1.el5 #1 SMP Wed Nov 4 09:08:07 CET 2009 i686 i686 i386 GNU/Linux" #define BUILD_NODE "Linux lxbuild147.cern.ch 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 13:19:07 CET 2010 i686 i686 i386 GNU/Linux"
#define COMPILER "/afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686-slc5-gcc34-opt/b in/g++" #define COMPILER "/afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686-slc5-gcc34-opt/b in/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


 configcint.h   configcint.h 
skipping to change at line 12 skipping to change at line 12
#define G__CFG_ARCH "linux" #define G__CFG_ARCH "linux"
#define G__CFG_IMPLIBEXT ".a" #define G__CFG_IMPLIBEXT ".a"
#define G__CFG_LDOUT "-o " #define G__CFG_LDOUT "-o "
#define G__CFG_LIBL "-l@imp@" #define G__CFG_LIBL "-l@imp@"
#define G__CFG_LIBEXT ".a" #define G__CFG_LIBEXT ".a"
#define G__CFG_MANGLEPATHS "echo " #define G__CFG_MANGLEPATHS "echo "
#define G__CFG_PLATFORMO "" #define G__CFG_PLATFORMO ""
#define G__CFG_AR "ar qcs" #define G__CFG_AR "ar qcs"
#define G__CFG_COREVERSION "cint" #define G__CFG_COREVERSION "cint"
#define G__CFG_CC "gcc" #define G__CFG_CC "gcc"
#define G__CFG_CFLAGS "-pipe -m32 -Wall -W -fPIC -Iinclude -DG__REGEXP -DG __UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__STD_EXCEPT ION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY -Icint/cint/inc -Icint/c int/src -Icint/cint/src/dict" #define G__CFG_CFLAGS "-pipe -m32 -Wall -W -fPIC -Iinclude -DG__REGEXP -DG __UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__STD_EXCEPT ION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY -Icint/cint/inc -Icint/c int/src -Icint/cint/src/dict -pthread"
#define G__CFG_CMACROS "-DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -D G__ROOT -DG__REDIRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY" #define G__CFG_CMACROS "-DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -D G__ROOT -DG__REDIRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY"
#define G__CFG_COMP "-c " #define G__CFG_COMP "-c "
#define G__CFG_CPP "g++ -E -C" #define G__CFG_CPP "g++ -E -C"
#define G__CFG_COUT "-o " #define G__CFG_COUT "-o "
#define G__CFG_COUTEXE "-o " #define G__CFG_COUTEXE "-o "
#define G__CFG_INCP "-I" #define G__CFG_INCP "-I"
#define G__CFG_CXX "g++" #define G__CFG_CXX "g++"
#define G__CFG_CXXFLAGS "-pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Ii nclude -DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__RED IRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY - Icint/cint/inc -Icint/cint/src -Icint/cint/src/dict" #define G__CFG_CXXFLAGS "-pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Ii nclude -DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__RED IRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY - Icint/cint/inc -Icint/cint/src -Icint/cint/src/dict -pthread"
#define G__CFG_CXXMACROS "-DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEIN FO -DG__CINTBODY" #define G__CFG_CXXMACROS "-DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEIN FO -DG__CINTBODY"
#define G__CFG_LD "g++" #define G__CFG_LD "g++"
#define G__CFG_LDFLAGS "-m32 -O2 " #define G__CFG_LDFLAGS "-m32 -O2 "
#define G__CFG_LIBP "-L" #define G__CFG_LIBP "-L"
#define G__CFG_SOFLAGS "-shared -Wl,-soname," #define G__CFG_SOFLAGS "-shared -Wl,-soname,"
#define G__CFG_SOOUT G__CFG_LDOUT #define G__CFG_SOOUT G__CFG_LDOUT
#define G__CFG_OBJEXT ".o" #define G__CFG_OBJEXT ".o"
#define G__CFG_EXEEXT "" #define G__CFG_EXEEXT ""
#define G__CFG_SOEXT ".so" #define G__CFG_SOEXT ".so"
#define G__CFG_DEBUG "" #define G__CFG_DEBUG ""
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 tableDescriptor.h   tableDescriptor.h 
/* @(#)root/table:$Id: tableDescriptor.h 21414 2007-12-17 14:15:59Z brun $ */ /* @(#)root/table:$Id: tableDescriptor.h 31945 2009-12-21 19:03:21Z rdm $ * /
/************************************************************************* /*************************************************************************
* 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. *
*************************************************************************/ *************************************************************************/
/* tableDescriptor.h */ /* tableDescriptor.h */
#ifndef TABLEDESCRIPTOR_H #ifndef TABLEDESCRIPTOR_H
skipping to change at line 71 skipping to change at line 71
char *fColumnName; /* The name of this data-member */ char *fColumnName; /* The name of this data-member */
unsigned int *fIndexArray; /* The array of the sizes for each dimension s fIndexArray[fDimensions] */ unsigned int *fIndexArray; /* The array of the sizes for each dimension s fIndexArray[fDimensions] */
#else #else
char fColumnName[32]; /* The name of this data-member: see dst ype.h for dsl compatible mode */ char fColumnName[32]; /* The name of this data-member: see dst ype.h for dsl compatible mode */
unsigned int fIndexArray[3]; /* The array of the sizes for each dimen sions fIndexArray[fDimensions]*/ unsigned int fIndexArray[3]; /* The array of the sizes for each dimen sions fIndexArray[fDimensions]*/
#endif #endif
unsigned int fOffset; /* The first byte in the row of this column */ unsigned int fOffset; /* The first byte in the row of this column */
unsigned int fSize; /* The full size of the selected column in b ytes */ unsigned int fSize; /* The full size of the selected column in b ytes */
unsigned int fTypeSize; /* The type size of the selected column in b ytes */ unsigned int fTypeSize; /* The type size of the selected column in b ytes */
unsigned int fDimensions; /* The number of the dimensions for array */ unsigned int fDimensions; /* The number of the dimensions for array */
Int_t fType; /* The data type of the selected column */ int fType; /* The data type of the selected column */
} TABLEDESCRIPTOR_ST; } TABLEDESCRIPTOR_ST;
// $Log: tableDescriptor.h,v $ // $Log: tableDescriptor.h,v $
// Revision 1.2 2003/01/27 20:41:36 brun // Revision 1.2 2003/01/27 20:41:36 brun
// New version of the Table package by Valeri Fine. // New version of the Table package by Valeri Fine.
// New classes TIndexTable TResponseIterator TResponseTable TTableMap // New classes TIndexTable TResponseIterator TResponseTable TTableMap
// //
// Revision 1.1.1.1 2002/05/28 12:32:02 fisyak // Revision 1.1.1.1 2002/05/28 12:32:02 fisyak
// //
// //
// Revision 1.1 2002/05/27 16:26:59 rdm // Revision 1.1 2002/05/27 16:26:59 rdm
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 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/