BernsteinCorrection.h | BernsteinCorrection.h | |||
---|---|---|---|---|
// @(#)root/roostats:$Id: BernsteinCorrection.h 39391 2011-05-26 09:51:59Z moneta $ | // @(#)root/roostats:$Id: BernsteinCorrection.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Kyle Cranmer | // Author: Kyle Cranmer | |||
/************************************************************************* | /************************************************************************* | |||
* 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_BernsteinCorrection | #ifndef ROOSTATS_BernsteinCorrection | |||
skipping to change at line 41 | skipping to change at line 41 | |||
void CreateQSamplingDist(RooWorkspace* wks, | void CreateQSamplingDist(RooWorkspace* wks, | |||
const char* nominalName, | const char* nominalName, | |||
const char* varName, | const char* varName, | |||
const char* dataName, | const char* dataName, | |||
TH1F*, TH1F*, | TH1F*, TH1F*, | |||
Int_t degree, | Int_t degree, | |||
Int_t nToys=500); | Int_t nToys=500); | |||
private: | private: | |||
Double_t fMaxCorrection; // maximum correction factor at any point | Double_t fMaxCorrection; // maximum correction factor at any point | |||
Double_t fTolerance; // probability to add an unecessary term | Double_t fTolerance; // probability to add an unnecessary term | |||
protected: | protected: | |||
ClassDef(BernsteinCorrection,1) // A utility to add polynomial corrrect ion terms to a model to improve the description of data. | ClassDef(BernsteinCorrection,1) // A utility to add polynomial corrrect ion terms to a model to improve the description of data. | |||
}; | }; | |||
} | } | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
BitReproducible.h | BitReproducible.h | |||
---|---|---|---|---|
// @(#)root/mathcore:$Id: BitReproducible.h 22516 2008-03-07 15:14:26Z mone ta $ | // @(#)root/mathcore:$Id: BitReproducible.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Authors: W. Brown, M. Fischler, L. Moneta 2005 | // Authors: W. Brown, M. Fischler, L. Moneta 2005 | |||
/********************************************************************** | /********************************************************************** | |||
* * | * * | |||
* Copyright (c) 2005 , LCG / FNAL ROOT MathLib Team * | * Copyright (c) 2005 , LCG / FNAL ROOT MathLib Team * | |||
* * | * * | |||
* * | * * | |||
**********************************************************************/ | **********************************************************************/ | |||
// Header file for class LorentzVector | // Header file for class LorentzVector | |||
// | // | |||
// Created by: fischler at Mon Jun 25 2005 | // Created by: fischler at Mon Jun 25 2005 | |||
// | // | |||
// Last update: $Id: BitReproducible.h 22516 2008-03-07 15:14:26Z moneta $ | // Last update: $Id: BitReproducible.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// | // | |||
#ifndef ROOT_Math_GenVector_BitReproducible | #ifndef ROOT_Math_GenVector_BitReproducible | |||
#define ROOT_Math_GenVector_BitReproducible 1 | #define ROOT_Math_GenVector_BitReproducible 1 | |||
#if defined(__alpha) | #if defined(__alpha) | |||
#ifndef __USE_STD_IOSTREAM | #ifndef __USE_STD_IOSTREAM | |||
#define __USE_STD_IOSTREAM | #define __USE_STD_IOSTREAM | |||
#endif | #endif | |||
#endif | #endif | |||
skipping to change at line 51 | skipping to change at line 51 | |||
const char* what() const throw() { return fMsg.c_str(); } | const char* what() const throw() { return fMsg.c_str(); } | |||
private: | private: | |||
std::string fMsg; | std::string fMsg; | |||
}; // DoubConvException | }; // DoubConvException | |||
class BitReproducible { | class BitReproducible { | |||
public: | public: | |||
// dto2longs(d, i1, i2) returns (in i1 and i2) two unsigned ints | // dto2longs(d, i1, i2) returns (in i1 and i2) two unsigned ints | |||
// representation of its double input. This is byte-ordering | // representation of its double input. This is byte-ordering | |||
// independant, and depends for complete portability ONLY on adherance | // independent, and depends for complete portability ONLY on adherance | |||
// to the IEEE 754 standard for 64-bit floating point representation. | // to the IEEE 754 standard for 64-bit floating point representation. | |||
// The first unsigned int contains the high-order bits in IEEE; thus | // The first unsigned int contains the high-order bits in IEEE; thus | |||
// 1.0 will always be 0x3FF00000, 00000000 | // 1.0 will always be 0x3FF00000, 00000000 | |||
static void Dto2longs(double d, unsigned int & i1, unsigned int & i2); | static void Dto2longs(double d, unsigned int & i1, unsigned int & i2); | |||
// longs2double (i1,i2) returns a double containing the value represented by | // longs2double (i1,i2) returns a double containing the value represented by | |||
// its input, which must be a 2 unsigned ints. | // its input, which must be a 2 unsigned ints. | |||
// The input is taken to be the representation according to | // The input is taken to be the representation according to | |||
// the IEEE 754 standard for a 64-bit floating point number, whose value | // the IEEE 754 standard for a 64-bit floating point number, whose value | |||
// is returned as a double. The byte-ordering of the double result is, | // is returned as a double. The byte-ordering of the double result is, | |||
// of course, tailored to the proper byte-ordering for the system. | // of course, tailored to the proper byte-ordering for the system. | |||
static double Longs2double (unsigned int i1, unsigned int i2); | static double Longs2double (unsigned int i1, unsigned int i2); | |||
// dtox(d) returns a 16-character string containing the (zero-filled) hex | // dtox(d) returns a 16-character string containing the (zero-filled) hex | |||
// representation of its double input. This is byte-ordering | // representation of its double input. This is byte-ordering | |||
// independant, and depends for complete portability ONLY on adherance | // independent, and depends for complete portability ONLY on adherance | |||
// to the IEEE 754 standard for 64-bit floating point representation. | // to the IEEE 754 standard for 64-bit floating point representation. | |||
static std::string D2x(double d); | static std::string D2x(double d); | |||
static void Output ( std::ostream & os, double d ) { | static void Output ( std::ostream & os, double d ) { | |||
unsigned int i1, i2; | unsigned int i1, i2; | |||
Dto2longs(d, i1, i2); | Dto2longs(d, i1, i2); | |||
os << " " << i1 << " " << i2; | os << " " << i1 << " " << i2; | |||
} | } | |||
static void Input ( std::istream & is, double & d ) { | static void Input ( std::istream & is, double & d ) { | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
ChebyshevPol.h | ChebyshevPol.h | |||
---|---|---|---|---|
// @(#)root/mathcore:$Id: ChebyshevPol.h 48567 2013-02-14 08:59:17Z moneta $ | // @(#)root/mathcore:$Id: ChebyshevPol.h 48704 2013-02-26 09:49:38Z rdm $ | |||
// Author: L. Moneta, 11/2012 | // Author: L. Moneta, 11/2012 | |||
/********************************************************************** | /************************************************************************* | |||
* * | * Copyright (C) 1995-2012, Rene Brun and Fons Rademakers. * | |||
* Copyright (c) 2012 ROOT Foundation, CERN/PH-SFT * | * All rights reserved. * | |||
* * | * * | |||
* * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
**********************************************************************/ | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | ||||
/** | ||||
Header file declaring functions for the evaluation of the Chebyshev pol | ////////////////////////////////////////////////////////////////////////// | |||
ynomials | // // | |||
and the ChebyshevPol class which can be used for creating a TF1 | // Header file declaring functions for the evaluation of the Chebyshev // | |||
*/ | // polynomials and the ChebyshevPol class which can be used for // | |||
// creating a TF1. // | ||||
// // | ||||
////////////////////////////////////////////////////////////////////////// | ||||
#ifndef ROOT_Math_ChebyshevPol | #ifndef ROOT_Math_ChebyshevPol | |||
#define ROOT_Math_ChebyshevPol | #define ROOT_Math_ChebyshevPol | |||
#if !defined(__CINT__) | ||||
#include <sys/types.h> | ||||
#endif | ||||
#include <cstring> | #include <cstring> | |||
namespace ROOT { | namespace ROOT { | |||
namespace Math { | namespace Math { | |||
/// template recursive functions for defining evaluation of Chebishev polynomials | /// template recursive functions for defining evaluation of Chebyshev polynomials | |||
/// T_n(x) and the series S(x) = Sum_i c_i* T_i(x) | /// T_n(x) and the series S(x) = Sum_i c_i* T_i(x) | |||
namespace Chebyshev { | namespace Chebyshev { | |||
template<int N> double T(double x) { | template<int N> double T(double x) { | |||
return (2.0 * x * T<N-1>(x)) - T<N-2>(x); | return (2.0 * x * T<N-1>(x)) - T<N-2>(x); | |||
} | } | |||
template<> double T<0> (double ) { return 1;} | template<> double T<0> (double ); | |||
template<> double T<1> (double x); | ||||
template<> double T<1> (double x) { return x;} | template<> double T<2> (double x); | |||
template<> double T<3> (double x); | ||||
template<> double T<2> (double x) { return 2.0*x*x -1;} | ||||
template<> double T<3> (double x) { return 4.0*x*x*x -3.0*x;} | ||||
template<int N> double Eval(double x, const double * c) { | template<int N> double Eval(double x, const double * c) { | |||
return c[N]*T<N>(x) + Eval<N-1>(x,c); | return c[N]*T<N>(x) + Eval<N-1>(x,c); | |||
} | } | |||
template<> double Eval<0> (double , const double *c) { return c[0] | template<> double Eval<0> (double , const double *c); | |||
;} | template<> double Eval<1> (double x, const double *c); | |||
template<> double Eval<1> (double x, const double *c) { return c[1 | template<> double Eval<2> (double x, const double *c); | |||
]*x + c[0];} | template<> double Eval<3> (double x, const double *c); | |||
template<> double Eval<2> (double x, const double *c) { return c[2 | ||||
]*Chebyshev::T<2>(x) + c[1]*x + c[0];} | ||||
template<> double Eval<3> (double x, const double *c) { return c[3 | ||||
]*Chebyshev::T<3>(x) + Eval<2>(x,c); } | ||||
} // end namespace Chebyshev | } // end namespace Chebyshev | |||
// implementation of Chebyshev polynomials using all coefficients | // implementation of Chebyshev polynomials using all coefficients | |||
// needed for creating TF1 functions | // needed for creating TF1 functions | |||
double Chebyshev0(double , double c0) { | inline double Chebyshev0(double , double c0) { | |||
return c0; | return c0; | |||
} | } | |||
double Chebyshev1(double x, double c0, double c1) { | inline double Chebyshev1(double x, double c0, double c1) { | |||
return c0 + c1*x; | return c0 + c1*x; | |||
} | } | |||
double Chebyshev2(double x, double c0, double c1, double c2) { | inline double Chebyshev2(double x, double c0, double c1, double c2) { | |||
return c0 + c1*x + c2*(2.0*x*x - 1.0); | return c0 + c1*x + c2*(2.0*x*x - 1.0); | |||
} | } | |||
double Chebyshev3(double x, double c0, double c1, double c2, double c 3) { | inline double Chebyshev3(double x, double c0, double c1, double c2, d ouble c3) { | |||
return c3*Chebyshev::T<3>(x) + Chebyshev2(x,c0,c1,c2); | return c3*Chebyshev::T<3>(x) + Chebyshev2(x,c0,c1,c2); | |||
} | } | |||
double Chebyshev4(double x, double c0, double c1, double c2, double c 3, double c4) { | inline double Chebyshev4(double x, double c0, double c1, double c2, d ouble c3, double c4) { | |||
return c4*Chebyshev::T<4>(x) + Chebyshev3(x,c0,c1,c2,c3); | return c4*Chebyshev::T<4>(x) + Chebyshev3(x,c0,c1,c2,c3); | |||
} | } | |||
double Chebyshev5(double x, double c0, double c1, double c2, double c 3, double c4, double c5) { | inline double Chebyshev5(double x, double c0, double c1, double c2, d ouble c3, double c4, double c5) { | |||
return c5*Chebyshev::T<5>(x) + Chebyshev4(x,c0,c1,c2,c3,c4); | return c5*Chebyshev::T<5>(x) + Chebyshev4(x,c0,c1,c2,c3,c4); | |||
} | } | |||
// implementation of Chebyshev polynomial with run time parameter | // implementation of Chebyshev polynomial with run time parameter | |||
double ChebyshevN(unsigned int n, double x, const double * c) { | inline double ChebyshevN(unsigned int n, double x, const double * c) { | |||
if (n == 0) return Chebyshev0(x,c[0]); | if (n == 0) return Chebyshev0(x,c[0]); | |||
if (n == 1) return Chebyshev1(x,c[0],c[1]); | if (n == 1) return Chebyshev1(x,c[0],c[1]); | |||
if (n == 2) return Chebyshev2(x,c[0],c[1],c[2]); | if (n == 2) return Chebyshev2(x,c[0],c[1],c[2]); | |||
if (n == 3) return Chebyshev3(x,c[0],c[1],c[2],c[3]); | if (n == 3) return Chebyshev3(x,c[0],c[1],c[2],c[3]); | |||
if (n == 4) return Chebyshev4(x,c[0],c[1],c[2],c[3],c[4]); | if (n == 4) return Chebyshev4(x,c[0],c[1],c[2],c[3],c[4]); | |||
if (n == 5) return Chebyshev5(x,c[0],c[1],c[2],c[3],c[4],c[5]); | if (n == 5) return Chebyshev5(x,c[0],c[1],c[2],c[3],c[4],c[5]); | |||
/* do not use recursive formula | /* do not use recursive formula | |||
(2.0 * x * Tn(n - 1, x)) - Tn(n - 2, x) ; | (2.0 * x * Tn(n - 1, x)) - Tn(n - 2, x) ; | |||
skipping to change at line 122 | skipping to change at line 126 | |||
double operator() (const double *x, const double * coeff) { | double operator() (const double *x, const double * coeff) { | |||
return ChebyshevN(fOrder, x[0], coeff); | return ChebyshevN(fOrder, x[0], coeff); | |||
} | } | |||
private: | private: | |||
unsigned int fOrder; | unsigned int fOrder; | |||
}; | }; | |||
} // end namespace Math | } // end namespace Math | |||
} // end namespace ROOT{ | } // end namespace ROOT | |||
#endif // ROOT_Math_Chebyshev | #endif // ROOT_Math_Chebyshev | |||
End of changes. 14 change blocks. | ||||
37 lines changed or deleted | 36 lines changed or added | |||
CollectionProxy.h | CollectionProxy.h | |||
---|---|---|---|---|
// @(#)root/reflex:$Id: CollectionProxy.h 36698 2010-11-16 16:40:22Z axel $ | // @(#)root/reflex:$Id: CollectionProxy.h 48993 2013-03-28 16:48:14Z pcanal $ | |||
// Author: Markus Frank 2004 | // Author: Markus Frank 2004 | |||
// Copyright CERN, CH-1211 Geneva 23, 2004-2006, All rights reserved. | // Copyright CERN, CH-1211 Geneva 23, 2004-2006, All rights reserved. | |||
// | // | |||
// Permission to use, copy, modify, and distribute this software for any | // Permission to use, copy, modify, and distribute this software for any | |||
// purpose is hereby granted without fee, provided that this copyright and | // purpose is hereby granted without fee, provided that this copyright and | |||
// permissions notice appear in all copies and derivatives. | // permissions notice appear in all copies and derivatives. | |||
// | // | |||
// This software is provided "as is" without express or implied warranty. | // This software is provided "as is" without express or implied warranty. | |||
#ifndef Reflex_CollectionProxy | #ifndef Reflex_CollectionProxy | |||
#define Reflex_CollectionProxy 1 1 | #define Reflex_CollectionProxy 1 1 | |||
#include <cstddef> | #include <cstddef> | |||
#include <assert.h> | ||||
// Macro indicating the version of the Collection Proxy interface followed | // Macro indicating the version of the Collection Proxy interface followed | |||
// by this Reflex build, this must match the version number of | // by this Reflex build, this must match the version number of | |||
// ROOT_COLLECTIONPROXY_VERSION in ROOT's TVirtutalCollectionProxy.h | // ROOT_COLLECTIONPROXY_VERSION in ROOT's TVirtutalCollectionProxy.h | |||
#define REFLEX_COLLECTIONPROXY_VERSION 3 | #define REFLEX_COLLECTIONPROXY_VERSION 3 | |||
// Forward declarations | // Forward declarations | |||
namespace std { | namespace std { | |||
template <class T, class A> class deque; | template <class T, class A> class deque; | |||
template <class T, class A> class vector; | template <class T, class A> class vector; | |||
template <class T, class A> class list; | template <class T, class A> class list; | |||
template <class T, class A> class queue; | template <class T, class A> class queue; | |||
template <class T, class A> class stack; | template <class T, class A> class stack; | |||
template <class K, class T, class A> class set; | template <class K, class T, class A> class set; | |||
template <class K, class T, class A> class multiset; | template <class K, class T, class A> class multiset; | |||
template <class K, class T, class R, class A> class map; | template <class K, class T, class R, class A> class map; | |||
template <class K, class T, class R, class A> class multimap; | template <class K, class T, class R, class A> class multimap; | |||
template <class T> class allocator; | template <class T> class allocator; | |||
} | } | |||
// Hash map forward declarations | // Hash map forward declarations | |||
#if defined(__GNUC__) | #if defined(__GNUC__) | |||
namespace __gnu_cxx { // GNU GCC | namespace __gnu_cxx { // GNU GCC | |||
template <class T, class F, class E, class A> class hash_set; | template <class T, class F, class E, class A> class hash_set; | |||
template <class T, class F, class E, class A> class hash_multiset; | template <class T, class F, class E, class A> class hash_multiset; | |||
template <class K, class T, class F, class E, class A> class hash_map; | template <class K, class T, class F, class E, class A> class hash_map; | |||
template <class K, class T, class F, class E, class A> class hash_multimap; | template <class K, class T, class F, class E, class A> class hash_multim | |||
ap; | ||||
} | } | |||
#elif defined(_WIN32) | #elif defined(_WIN32) | |||
namespace stdext { // Visual C++ | namespace stdext { // Visual C++ | |||
template <class K, class T, class A> class hash_set; | template <class K, class T, class A> class hash_set; | |||
template <class K, class T, class A> class hash_multiset; | template <class K, class T, class A> class hash_multiset; | |||
template <class K, class T, class R, class A> class hash_map; | template <class K, class T, class R, class A> class hash_map; | |||
template <class K, class T, class R, class A> class hash_multimap; | template <class K, class T, class R, class A> class hash_multimap; | |||
} | } | |||
#endif | #endif | |||
namespace Reflex { | namespace Reflex { | |||
#ifndef __CINT__ | #ifndef __CINT__ | |||
struct EnvironBase { | struct EnvironBase { | |||
EnvironBase(): fIdx(0), | EnvironBase(): fIdx(0), | |||
fSize(0), | fSize(0), | |||
fObject(0), | fObject(0), | |||
fStart(0), | fStart(0), | |||
fTemp(0), | fTemp(0), | |||
fDeleteTemp(false), | fDeleteTemp(false), | |||
fRefSize(1), | fRefSize(1), | |||
fSpace(0) { | fSpace(0) { | |||
// fprintf("Running default constructor on %p\n",this); | // fprintf("Running default constructor on %p\n",this); | |||
} | } | |||
virtual ~EnvironBase() {} | virtual ~EnvironBase() {} | |||
size_t fIdx; | size_t fIdx; | |||
size_t fSize; | size_t fSize; | |||
void* fObject; | void* fObject; | |||
void* fStart; | void* fStart; | |||
void* fTemp; | void* fTemp; | |||
bool fDeleteTemp; | bool fDeleteTemp; | |||
int fRefSize; | int fRefSize; | |||
size_t fSpace; | size_t fSpace; | |||
}; | }; | |||
template <typename T> struct Environ: public EnvironBase { | ||||
typedef T Iter_t; | template <typename T> struct Environ: public EnvironBase { | |||
Iter_t fIterator; | typedef T Iter_t; | |||
T& | Iter_t fIterator; | |||
iter() { return fIterator; } | T& | |||
iter() { return fIterator; } | ||||
static void* | ||||
Create() { | static void* | |||
return new Environ(); | Create() { | |||
} | return new Environ(); | |||
} | ||||
}; | }; | |||
#else | #else | |||
struct EnvironBase; | struct EnvironBase; | |||
template <typename T> struct Environ; | template <typename T> struct Environ; | |||
#endif | #endif | |||
template <typename T> struct Address { | template <typename T> struct Address { | |||
static void* | static void* | |||
address(T ref) { | address(T ref) { | |||
return (void*)& ref; | return (void*)& ref; | |||
} | } | |||
}; | ||||
// Same value as TVirtualCollectionProxy. | ||||
static const unsigned int fgIteratorArenaSize = 16; // greater than size | ||||
of(void*) + sizeof(UInt_t) | ||||
}; | /** @class template TCollectionProxyInfo::IteratorValue | |||
* | ||||
* Small helper to encapsulate whether to return the value | ||||
* pointed to by the iterator or its address. | ||||
* | ||||
**/ | ||||
template <typename Cont_t, typename value> struct IteratorValue { | ||||
static void* get(typename Cont_t::iterator &iter) { | ||||
return (void*)&(*iter); | ||||
} | ||||
}; | ||||
template <typename Cont_t, typename value_ptr> struct IteratorValue<C | ||||
ont_t, value_ptr*> { | ||||
static void* get(typename Cont_t::iterator &iter) { | ||||
return (void*)(*iter); | ||||
} | ||||
}; | ||||
template <> struct IteratorValue<std::vector<bool>,bool> { | ||||
static void* get(std::vector<bool>::iterator & /* iter */) { | ||||
return 0; | ||||
} | ||||
}; | ||||
/** @class template TCollectionProxyInfo::Iterators | ||||
* | ||||
* Small helper to implement the function to create,access and destroy | ||||
* iterators. | ||||
* | ||||
**/ | ||||
template <typename Cont_t, bool large = false> | ||||
struct Iterators { | ||||
typedef Cont_t *PCont_t; | ||||
typedef typename Cont_t::iterator iterator; | ||||
static void create(void *coll, void **begin_arena, void **end_aren | ||||
a) { | ||||
PCont_t c = PCont_t(coll); | ||||
new (*begin_arena) iterator(c->begin()); | ||||
new (*end_arena) iterator(c->end()); | ||||
} | ||||
static void* copy(void *dest_arena, const void *source_ptr) { | ||||
iterator *source = (iterator *)(source_ptr); | ||||
new (dest_arena) iterator(*source); | ||||
return dest_arena; | ||||
} | ||||
static void* next(void *iter_loc, const void *end_loc) { | ||||
iterator *end = (iterator *)(end_loc); | ||||
iterator *iter = (iterator *)(iter_loc); | ||||
if (*iter != *end) { | ||||
void *result = IteratorValue<Cont_t, typename Cont_t::value_ | ||||
type>::get(*iter); | ||||
++(*iter); | ||||
return result; | ||||
} | ||||
return 0; | ||||
} | ||||
static void destruct1(void *iter_ptr) { | ||||
iterator *start = (iterator *)(iter_ptr); | ||||
start->~iterator(); | ||||
} | ||||
static void destruct2(void *begin_ptr, void *end_ptr) { | ||||
iterator *start = (iterator *)(begin_ptr); | ||||
iterator *end = (iterator *)(end_ptr); | ||||
start->~iterator(); | ||||
end->~iterator(); | ||||
} | ||||
}; | ||||
// For Vector we take an extra short cut to avoid derefencing | ||||
// the iterator all the time and redefine the 'address' of the | ||||
// iterator as the iterator itself. This requires special handling | ||||
// in the looper (see TStreamerInfoAction) but is much faster. | ||||
template <typename T> struct Iterators<std::vector<T>, false> { | ||||
typedef std::vector<T> Cont_t; | ||||
typedef Cont_t *PCont_t; | ||||
typedef typename Cont_t::iterator iterator; | ||||
static void create(void *coll, void **begin_arena, void **end_aren | ||||
a) { | ||||
PCont_t c = PCont_t(coll); | ||||
if (c->empty()) { | ||||
*begin_arena = 0; | ||||
*end_arena = 0; | ||||
return; | ||||
} | ||||
*begin_arena = &(*c->begin()); | ||||
#ifdef R__VISUAL_CPLUSPLUS | ||||
*end_arena = &(*(c->end()-1)) + 1; // On windows we can not der | ||||
erence the end iterator at all. | ||||
#else | ||||
// coverity[past_the_end] Safe on other platforms | ||||
*end_arena = &(*c->end()); | ||||
#endif | ||||
} | ||||
static void* copy(void *dest, const void *source) { | ||||
*(void**)dest = *(void**)source; | ||||
return dest; | ||||
} | ||||
static void* next(void * /* iter_loc */, const void * /* end_loc * | ||||
/) { | ||||
// Should not be used. | ||||
assert(0 && "Intentionally not implemented, do not use."); | ||||
return 0; | ||||
} | ||||
static void destruct1(void * /* iter_ptr */) { | ||||
// Nothing to do | ||||
} | ||||
static void destruct2(void * /* begin_ptr */, void * /* end_ptr */ | ||||
) { | ||||
// Nothing to do | ||||
} | ||||
}; | ||||
template <> struct Iterators<std::vector<bool>, false> { | ||||
typedef std::vector<bool> Cont_t; | ||||
typedef Cont_t *PCont_t; | ||||
typedef Cont_t::iterator iterator; | ||||
static void create(void *coll, void **begin_arena, void **end_aren | ||||
a) { | ||||
PCont_t c = PCont_t(coll); | ||||
new (*begin_arena) iterator(c->begin()); | ||||
new (*end_arena) iterator(c->end()); | ||||
} | ||||
static void* copy(void *dest_arena, const void *source_ptr) { | ||||
iterator *source = (iterator *)(source_ptr); | ||||
new (dest_arena) iterator(*source); | ||||
return dest_arena; | ||||
} | ||||
static void* next(void *iter_loc, const void *end_loc) { | ||||
iterator *end = (iterator *)(end_loc); | ||||
iterator *iter = (iterator *)(iter_loc); | ||||
if (*iter != *end) { | ||||
void *result = IteratorValue<Cont_t, Cont_t::value_type>::ge | ||||
t(*iter); | ||||
++(*iter); | ||||
return result; | ||||
} | ||||
return 0; | ||||
} | ||||
static void destruct1(void *iter_ptr) { | ||||
iterator *start = (iterator *)(iter_ptr); | ||||
start->~iterator(); | ||||
} | ||||
static void destruct2(void *begin_ptr, void *end_ptr) { | ||||
iterator *start = (iterator *)(begin_ptr); | ||||
iterator *end = (iterator *)(end_ptr); | ||||
start->~iterator(); | ||||
end->~iterator(); | ||||
} | ||||
}; | ||||
template <typename Cont_t> struct Iterators<Cont_t, /* large= */ true | ||||
> { | ||||
typedef Cont_t *PCont_t; | ||||
typedef typename Cont_t::iterator iterator; | ||||
static void create(void *coll, void **begin_arena, void **end_aren | ||||
a) { | ||||
PCont_t c = PCont_t(coll); | ||||
*begin_arena = new iterator(c->begin()); | ||||
*end_arena = new iterator(c->end()); | ||||
} | ||||
static void* copy(void * /*dest_arena*/, const void *source_ptr) { | ||||
iterator *source = (iterator *)(source_ptr); | ||||
void *iter = new iterator(*source); | ||||
return iter; | ||||
} | ||||
static void* next(void *iter_loc, const void *end_loc) { | ||||
iterator *end = (iterator *)(end_loc); | ||||
iterator *iter = (iterator *)(iter_loc); | ||||
if (*iter != *end) { | ||||
void *result = IteratorValue<Cont_t, typename Cont_t::value_ | ||||
type>::get(*iter); | ||||
++(*iter); | ||||
return result; | ||||
} | ||||
return 0; | ||||
} | ||||
static void destruct1(void *begin_ptr) { | ||||
iterator *start = (iterator *)(begin_ptr); | ||||
delete start; | ||||
} | ||||
static void destruct2(void *begin_ptr, void *end_ptr) { | ||||
iterator *start = (iterator *)(begin_ptr); | ||||
iterator *end = (iterator *)(end_ptr); | ||||
delete start; | ||||
delete end; | ||||
} | ||||
}; | ||||
template <class T> struct CollType | template <class T> struct CollType | |||
#ifdef _KCC // KAI compiler | #ifdef _KCC // KAI compiler | |||
: public Address<typename T::value_type&> | : public Address<typename T::value_type&> | |||
#else | #else | |||
: public Address<typename T::const_reference> | : public Address<typename T::const_reference> | |||
#endif | #endif | |||
{ | { | |||
#ifdef _KCC // KAI compiler | #ifdef _KCC // KAI compiler | |||
typedef Address<typename T::value_type&> Address_t; | typedef Address<typename T::value_type&> Address_t; | |||
#else | #else | |||
typedef Address<typename T::const_reference> Address_t; | typedef Address<typename T::const_reference> Address_t; | |||
#endif | #endif | |||
typedef T Cont_t; | typedef T Cont_t; | |||
typedef typename T::iterator Iter_t; | typedef typename T::iterator Iter_t; | |||
typedef typename T::value_type Value_t; | typedef typename T::value_type Value_t; | |||
typedef Reflex::Environ<Iter_t> Env_t; | typedef Reflex::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 inline PCont_t | static inline PCont_t | |||
object(void* ptr) { | object(void* ptr) { | |||
return PCont_t(PEnv_t(ptr)->fObject); | return PCont_t(PEnv_t(ptr)->fObject); | |||
} | } | |||
static void* | static void* | |||
size(void* env) { | size(void* env) { | |||
PEnv_t e = PEnv_t(env); | PEnv_t e = PEnv_t(env); | |||
e->fSize = PCont_t(e->fObject)->size(); | e->fSize = PCont_t(e->fObject)->size(); | |||
return &e->fSize; | return &e->fSize; | |||
} | } | |||
static void* | static void* | |||
clear(void* env) { | clear(void* env) { | |||
object(env)->clear(); | object(env)->clear(); | |||
return 0; | return 0; | |||
} | } | |||
static void* | static void* | |||
first(void* env) { | first(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); | |||
// Assume iterators do not need destruction | // Assume iterators do not need destruction | |||
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; } | |||
#ifdef _KCC // KAI compiler | #ifdef _KCC // KAI compiler | |||
typename T::value_type& ref = *(e->iter()); | typename T::value_type& ref = *(e->iter()); | |||
#else | #else | |||
typename T::const_reference ref = *(e->iter()); | typename T::const_reference ref = *(e->iter()); | |||
#endif | #endif | |||
return e->fStart = Address_t::address(ref); | return e->fStart = Address_t::address(ref); | |||
} | } | |||
static void* | static void* | |||
next(void* env) { | 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->fId x) {} | for ( ; e->fIdx > 0 && e->iter() != c->end(); ++(e->iter()), -- e->fIdx) {} | |||
// 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; } | |||
#ifdef _KCC // KAI compiler | #ifdef _KCC // KAI compiler | |||
typename T::value_type& ref = *(e->iter()); | typename T::value_type& ref = *(e->iter()); | |||
#else | #else | |||
typename T::const_reference ref = *(e->iter()); | typename T::const_reference ref = *(e->iter()); | |||
#endif | #endif | |||
return Address_t::address(ref); | return Address_t::address(ref); | |||
} | } | |||
static void* | static void* | |||
construct(void* what, size_t size) { | construct(void* what, size_t size) { | |||
PValue_t m = PValue_t(what); | PValue_t m = PValue_t(what); | |||
for (size_t i = 0; i < size; ++i, ++m) { | for (size_t i = 0; i < size; ++i, ++m) { | |||
::new (m) Value_t(); | ::new (m) Value_t(); | |||
} | ||||
return 0; | ||||
} | ||||
static void* | ||||
collect(void* coll, void *array) { | ||||
PCont_t c = PCont_t(coll); | ||||
PValue_t m = PValue_t(array); | ||||
for (Iter_t i = c->begin(); i != c->end(); ++i, ++m) { | ||||
::new (m) Value_t(*i); | ||||
} | ||||
return 0; | ||||
} | ||||
static void | ||||
destruct(void* what, size_t size) { | ||||
PValue_t m = PValue_t(what); | ||||
for (size_t i = 0; i < size; ++i, ++m) { | ||||
m->~Value_t(); | ||||
} | ||||
} | ||||
static const bool fgLargeIterator = sizeof(typename Cont_t::iterat | ||||
or) > fgIteratorArenaSize; | ||||
typedef Iterators<Cont_t,fgLargeIterator> Iterators_t; | ||||
}; | ||||
/** @class TCollectionProxy::Map TCollectionProxy.h TCollectionProxy.h | ||||
* | ||||
* Small helper to encapsulate all necessary data accesses for | ||||
* containers like vector, list, deque | ||||
* | ||||
* @author M.Frank | ||||
* @version 1.0 | ||||
* @date 10/10/2004 | ||||
*/ | ||||
template <class T> struct Pushback: public CollType<T> { | ||||
typedef T Cont_t; | ||||
typedef typename T::iterator Iter_t; | ||||
typedef typename T::value_type Value_t; | ||||
typedef Environ<Iter_t> Env_t; | ||||
typedef Env_t* PEnv_t; | ||||
typedef Cont_t* PCont_t; | ||||
typedef Value_t* PValue_t; | ||||
static void resize(void* obj, size_t n) { | ||||
PCont_t c = PCont_t(obj); | ||||
c->resize(n); | ||||
} | } | |||
return 0; | ||||
} | ||||
static void* | ||||
collect(void* env) { | ||||
PEnv_t e = PEnv_t(env); | ||||
PCont_t c = PCont_t(e->fObject); | ||||
PValue_t m = PValue_t(e->fStart); | ||||
for (Iter_t i = c->begin(); i != c->end(); ++i, ++m) { | static void* | |||
::new (m) Value_t(*i); | feed(void*from,void *to,size_t size) { | |||
PValue_t m = PValue_t(from); | ||||
PCont_t c = PCont_t(to); | ||||
for (size_t i = 0; i < size; ++i, ++m) { | ||||
c->push_back(*m); | ||||
} | ||||
return 0; | ||||
} | } | |||
return 0; | ||||
} | ||||
static void | ||||
destruct(void* what, size_t size) { | ||||
PValue_t m = PValue_t(what); | ||||
for (size_t i = 0; i < size; ++i, ++m) { | static int | |||
m->~Value_t(); | value_offset() { | |||
return 0; | ||||
} | } | |||
} | ||||
}; | }; | |||
/** @class TCollectionProxy::Map TCollectionProxy.h TCollectionProxy.h | /** @class TCollectionProxy::Map TCollectionProxy.h TCollectionProxy.h | |||
* | * | |||
* Small helper to encapsulate all necessary data accesses for | * Small helper to encapsulate all necessary data accesses for | |||
* containers like vector, list, deque | * containers like set, multiset etc. | |||
* | * | |||
* @author M.Frank | * @author M.Frank | |||
* @version 1.0 | * @version 1.0 | |||
* @date 10/10/2004 | * @date 10/10/2004 | |||
*/ | */ | |||
template <class T> struct Pushback: public CollType<T> { | template <class T> struct Insert: public CollType<T> { | |||
typedef T Cont_t; | typedef T Cont_t; | |||
typedef typename T::iterator Iter_t; | typedef typename T::iterator Iter_t; | |||
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* obj, size_t n) { | ||||
PCont_t c = PCont_t(obj); | static void* | |||
c->resize(n); | feed(void*from,void*to,size_t size) { | |||
} | PValue_t m = PValue_t(from); | |||
PCont_t c = PCont_t(to); | ||||
static void* | ||||
feed(void*from,void *to,size_t size) { | for (size_t i = 0; i < size; ++i, ++m) { | |||
PValue_t m = PValue_t(from); | c->insert(*m); | |||
PCont_t c = PCont_t(to); | } | |||
return 0; | ||||
for (size_t i = 0; i < size; ++i, ++m) { | ||||
c->push_back(*m); | ||||
} | } | |||
return 0; | ||||
} | ||||
static int | ||||
value_offset() { | ||||
return 0; | ||||
} | ||||
}; | static void resize(void* /* obj */, size_t) { } | |||
/** @class TCollectionProxy::Map TCollectionProxy.h TCollectionProxy.h | static int | |||
* | value_offset() { | |||
* Small helper to encapsulate all necessary data accesses for | return 0; | |||
* containers like set, multiset etc. | ||||
* | ||||
* @author M.Frank | ||||
* @version 1.0 | ||||
* @date 10/10/2004 | ||||
*/ | ||||
template <class T> struct Insert: public CollType<T> { | ||||
typedef T Cont_t; | ||||
typedef typename T::iterator Iter_t; | ||||
typedef typename T::value_type Value_t; | ||||
typedef Environ<Iter_t> Env_t; | ||||
typedef Env_t* PEnv_t; | ||||
typedef Cont_t* PCont_t; | ||||
typedef Value_t* PValue_t; | ||||
static void* | ||||
feed(void*from,void*to,size_t size) { | ||||
PValue_t m = PValue_t(from); | ||||
PCont_t c = PCont_t(to); | ||||
for (size_t i = 0; i < size; ++i, ++m) { | ||||
c->insert(*m); | ||||
} | } | |||
return 0; | ||||
} | ||||
static void resize(void* /* obj */, size_t) { } | }; | |||
static int | /** @class TCollectionProxy::Map TCollectionProxy.h TCollectionProxy.h | |||
value_offset() { | * | |||
return 0; | * Small helper to encapsulate all necessary data accesses for | |||
} | * containers like Set, multiset etc. | |||
* | ||||
}; | * @author M.Frank | |||
* @version 1.0 | ||||
/** @class TCollectionProxy::Map TCollectionProxy.h TCollectionProxy.h | * @date 10/10/2004 | |||
* | */ | |||
* Small helper to encapsulate all necessary data accesses for | template <class T> struct MapInsert: public CollType<T> { | |||
* containers like Set, multiset etc. | typedef T Cont_t; | |||
* | typedef typename T::iterator Iter_t; | |||
* @author M.Frank | typedef typename T::value_type Value_t; | |||
* @version 1.0 | typedef Environ<Iter_t> Env_t; | |||
* @date 10/10/2004 | typedef Env_t* PEnv_t; | |||
*/ | typedef Cont_t* PCont_t; | |||
template <class T> struct MapInsert: public CollType<T> { | typedef Value_t* PValue_t; | |||
typedef T Cont_t; | ||||
typedef typename T::iterator Iter_t; | static void* | |||
typedef typename T::value_type Value_t; | feed(void*from,void *to,size_t size) { | |||
typedef Environ<Iter_t> Env_t; | PValue_t m = PValue_t(from); | |||
typedef Env_t* PEnv_t; | PCont_t c = PCont_t(to); | |||
typedef Cont_t* PCont_t; | ||||
typedef Value_t* PValue_t; | for (size_t i = 0; i < size; ++i, ++m) { | |||
c->insert(*m); | ||||
static void* | } | |||
feed(void*from,void *to,size_t size) { | return 0; | |||
PValue_t m = PValue_t(from); | ||||
PCont_t c = PCont_t(to); | ||||
for (size_t i = 0; i < size; ++i, ++m) { | ||||
c->insert(*m); | ||||
} | } | |||
return 0; | ||||
} | ||||
static void resize(void* /* obj */, size_t) { | static void resize(void* /* obj */, size_t) { | |||
} | } | |||
static int | static int | |||
value_offset() { | value_offset() { | |||
return ((char*) &((PValue_t(0x1000))->second)) - ((char*) PValue_t(0x | return ((char*) &((PValue_t(0x1000))->second)) - ((char*) PValue_t | |||
1000)); | (0x1000)); | |||
} | } | |||
}; | }; | |||
#ifndef __CINT__ | #ifndef __CINT__ | |||
// Need specialization for boolean references due to stupid STL vector<bool | // Need specialization for boolean references due to stupid STL vector<b | |||
> | ool> | |||
template <> inline void* Reflex::Address<std::vector<bool, std::allocator<b | template <> inline void* Reflex::Address<std::vector<bool, std::allocato | |||
ool> >::const_reference | r<bool> >::const_reference | |||
>::address(std::vector<bool, std::allocator<bool> >::const_reference) { | >::address(std::vector<bool, std::allocator<bool> >::const_reference) | |||
return 0; | { | |||
} | return 0; | |||
} | ||||
#endif | #endif | |||
} | } | |||
#include <vector> | #include <vector> | |||
namespace Reflex { | namespace Reflex { | |||
/** @class CollFuncTable | /** @class CollFuncTable | |||
* | * | |||
* Table containing pointers to concrete functions to manipulate | * Table containing pointers to concrete functions to manipulate | |||
* Collections in a generic way | * Collections in a generic way | |||
* | * | |||
* @author M.Frank | * @author M.Frank | |||
*/ | */ | |||
struct RFLX_API CollFuncTable { | struct RFLX_API CollFuncTable { | |||
size_t iter_size; | size_t iter_size; | |||
size_t value_diff; | size_t value_diff; | |||
int value_offset; | int value_offset; | |||
void* (*size_func)(void*); | void* (*size_func)(void*); | |||
void (*resize_func)(void*,size_t); | void (*resize_func)(void*,size_t); | |||
void* (*clear_func)(void*); | void* (*clear_func)(void*); | |||
void* (*first_func)(void*); | void* (*first_func)(void*); | |||
void* (*next_func)(void*); | void* (*next_func)(void*); | |||
void* (*construct_func)(void*,size_t); | void* (*construct_func)(void*,size_t); | |||
void (*destruct_func)(void*,size_t); | void (*destruct_func)(void*,size_t); | |||
void* (*feed_func)(void*,void*,size_t); | void* (*feed_func)(void*,void*,size_t); | |||
void* (*collect_func)(void*); | void* (*collect_func)(void*,void*); | |||
void* (*create_env)(); | void* (*create_env)(); | |||
}; | ||||
// Set of function of direct iteration of the collections. | ||||
template <typename T> struct CFTGenerator { | void (*fCreateIterators)(void *collection, void **begin_arena, void * | |||
static CollFuncTable* | *end_arena); | |||
Generate() { | // begin_arena and end_arena should contain the location of memory ar | |||
typedef typename T::Value_t Value_t; | ena of size fgIteratorSize. | |||
typedef std::pair<Value_t, Value_t> Pair_t; | // If the collection iterator are of that size or less, the iterators | |||
Pair_t* ptr = (Pair_t*) 0x1000; | will be constructed in place in those location (new with placement) | |||
CollFuncTable* p = new CollFuncTable(); | // Otherwise the iterators will be allocated via a regular new and th | |||
p->iter_size = sizeof(typename T::Iter_t); | eir address returned by modifying the value of begin_arena and end_arena. | |||
p->value_diff = ((char*) &ptr->second) - ((char*) &ptr->first); | ||||
p->value_offset = T::value_offset(); | void* (*fCopyIterator)(void *dest, const void *source); | |||
p->size_func = T::size; | // Copy the iterator source, into dest. dest should contain should | |||
p->first_func = T::first; | contain the location of memory arena of size fgIteratorSize. | |||
p->next_func = T::next; | // If the collection iterator are of that size or less, the iterator | |||
p->clear_func = T::clear; | will be constructed in place in this location (new with placement) | |||
p->resize_func = T::resize; | // Otherwise the iterator will be allocated via a regular new and its | |||
p->collect_func = T::collect; | address returned by modifying the value of dest. | |||
p->construct_func = T::construct; | ||||
p->destruct_func = T::destruct; | void* (*fNext)(void *iter, const void *end); | |||
p->feed_func = T::feed; | // iter and end should be pointer to respectively an iterator to be i | |||
p->create_env = T::Env_t::Create; | ncremented and the result of colleciton.end() | |||
return p; | // 'Next' will increment the iterator 'iter' and return 0 if the iter | |||
} // Generate | ator reached the end. | |||
// If the end is not reached, 'Next' will return the address of the c | ||||
}; | ontent unless the collection contains pointers in | |||
struct CFTNullGenerator { | // which case 'Next' will return the value of the pointer. | |||
static void* | ||||
Void_func(void*) { | void (*fDeleteSingleIterator)(void *iter); | |||
return 0; | void (*fDeleteTwoIterators)(void *begin, void *end); | |||
} | // If the sizeof iterator is greater than fgIteratorArenaSize, call d | |||
elete on the addresses, | ||||
// Otherwise just call the iterator's destructor. | ||||
}; | ||||
template <typename T> struct CFTGenerator { | ||||
static CollFuncTable* | ||||
Generate() { | ||||
typedef typename T::Value_t Value_t; | ||||
typedef std::pair<Value_t, Value_t> Pair_t; | ||||
Pair_t* ptr = (Pair_t*) 0x1000; | ||||
CollFuncTable* p = new CollFuncTable(); | ||||
p->iter_size = sizeof(typename T::Iter_t); | ||||
p->value_diff = ((char*) &ptr->second) - ((char*) &ptr->first); | ||||
p->value_offset = T::value_offset(); | ||||
p->size_func = T::size; | ||||
p->first_func = T::first; | ||||
p->next_func = T::next; | ||||
p->clear_func = T::clear; | ||||
p->resize_func = T::resize; | ||||
p->collect_func = T::collect; | ||||
p->construct_func = T::construct; | ||||
p->destruct_func = T::destruct; | ||||
p->feed_func = T::feed; | ||||
p->create_env = T::Env_t::Create; | ||||
p->fCreateIterators = T::Iterators_t::create; | ||||
p->fCopyIterator = T::Iterators_t::copy; | ||||
p->fNext = T::Iterators_t::next; | ||||
p->fDeleteSingleIterator = T::Iterators_t::destruct1; | ||||
p->fDeleteTwoIterators = T::Iterators_t::destruct2; | ||||
return p; | ||||
} // Generate | ||||
}; | ||||
struct CFTNullGenerator { | ||||
static void* | ||||
Void_func(void*) { | ||||
return 0; | ||||
} | ||||
static void* | static void* | |||
Void_func0() { return 0; } | Void_func0() { return 0; } | |||
static void | static void | |||
Void_func2b(void*,size_t) { ; } | Void_func2b(void*,size_t) { ; } | |||
static void* | static void* | |||
Void_func2(void*,size_t) { return 0; } | Void_func2c(void*,void*) { return 0; } | |||
static void* | static void* | |||
Void_func3(void*,void*,size_t) { return 0; } | Void_func2(void*,size_t) { return 0; } | |||
static CollFuncTable* | static void* | |||
Generate() { | Void_func3(void*,void*,size_t) { return 0; } | |||
CollFuncTable* p = new CollFuncTable(); | ||||
p->iter_size = 4; | static CollFuncTable* | |||
p->value_diff = 0; | Generate() { | |||
p->value_offset = 0; | CollFuncTable* p = new CollFuncTable(); | |||
p->size_func = Void_func; | p->iter_size = 4; | |||
p->first_func = Void_func; | p->value_diff = 0; | |||
p->next_func = Void_func; | p->value_offset = 0; | |||
p->clear_func = Void_func; | p->size_func = Void_func; | |||
p->resize_func = Void_func2b; | p->first_func = Void_func; | |||
p->collect_func = Void_func; | p->next_func = Void_func; | |||
p->construct_func = Void_func2; | p->clear_func = Void_func; | |||
p->destruct_func = Void_func2b; | p->resize_func = Void_func2b; | |||
p->feed_func = Void_func3; | p->collect_func = Void_func2c; | |||
p->create_env = Void_func0; | p->construct_func = Void_func2; | |||
return p; | p->destruct_func = Void_func2b; | |||
} // Generate | p->feed_func = Void_func3; | |||
p->create_env = Void_func0; | ||||
}; | ||||
// General proxy (dummy) | p->fCreateIterators = 0; | |||
template <typename A> struct Proxy {}; | p->fCopyIterator = 0; | |||
p->fNext = 0; | ||||
// Specialization for std::vector | p->fDeleteSingleIterator = 0; | |||
template <class T, class A> struct Proxy<std::vector<T, A> > { | p->fDeleteTwoIterators = 0; | |||
static CollFuncTable* | ||||
Generate() { | return p; | |||
return CFTGenerator<Pushback<std::vector<T, A> > >::Generate(); | } // Generate | |||
} | ||||
}; | ||||
// General proxy (dummy) | ||||
template <typename A> struct Proxy {}; | ||||
// Specialization for std::vector | ||||
template <class T, class A> struct Proxy<std::vector<T, A> > { | ||||
static CollFuncTable* | ||||
Generate() { | ||||
return CFTGenerator<Pushback<std::vector<T, A> > >::Generate(); | ||||
} | ||||
}; | }; | |||
// Specialization for std::list | // Specialization for std::list | |||
template <class T, class A> struct Proxy<std::list<T, A> > { | template <class T, class A> struct Proxy<std::list<T, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Pushback<std::list<T, A> > >::Generate(); | return CFTGenerator<Pushback<std::list<T, A> > >::Generate(); | |||
} | } | |||
}; | }; | |||
// Specialization for std::deque | // Specialization for std::deque | |||
template <class T, class A> struct Proxy<std::deque<T, A> > { | template <class T, class A> struct Proxy<std::deque<T, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Pushback<std::deque<T, A> > >::Generate(); | return CFTGenerator<Pushback<std::deque<T, A> > >::Generate(); | |||
} | } | |||
}; | }; | |||
// Specialization for std::set | // Specialization for std::set | |||
template <class K, class T, class A> struct Proxy<std::set<K, T, A> > { | template <class K, class T, class A> struct Proxy<std::set<K, T, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Insert<std::set<K, T, A> > >::Generate(); | return CFTGenerator<Insert<std::set<K, T, A> > >::Generate(); | |||
} | } | |||
}; | }; | |||
// Specialization for std::multiset | // Specialization for std::multiset | |||
template <class K, class T, class A> struct Proxy<std::multiset<K, T, A> > | template <class K, class T, class A> struct Proxy<std::multiset<K, T, A> | |||
{ | > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Insert<std::multiset<K, T, A> > >::Generate(); | return CFTGenerator<Insert<std::multiset<K, T, A> > >::Generate(); | |||
} | } | |||
}; | }; | |||
// Specialization for std::map | // Specialization for std::map | |||
template <class K, class T, class R, class A> struct Proxy<std::map<K, T, R | template <class K, class T, class R, class A> struct Proxy<std::map<K, T | |||
, A> > { | , R, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<MapInsert<std::map<K, T, R, A> > >::Generate(); | return CFTGenerator<MapInsert<std::map<K, T, R, A> > >::Generate() | |||
} | ; | |||
} | ||||
}; | }; | |||
// Specialization for std::multimap | // Specialization for std::multimap | |||
template <class K, class T, class R, class A> struct Proxy<std::multimap<K, | template <class K, class T, class R, class A> struct Proxy<std::multimap | |||
T, R, A> > { | <K, T, R, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<MapInsert<std::multimap<K, T, R, A> > >::Generate | return CFTGenerator<MapInsert<std::multimap<K, T, R, A> > >::Gener | |||
(); | ate(); | |||
} | } | |||
}; | }; | |||
// Specialization for std::queue -- not implemented | // Specialization for std::queue -- not implemented | |||
template <class K, class T> struct Proxy<std::queue<K, T> > { | template <class K, class T> struct Proxy<std::queue<K, T> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { return CFTNullGenerator::Generate(); } | Generate() { return CFTNullGenerator::Generate(); } | |||
}; | }; | |||
// Specialization for std::stack -- not implemented | // Specialization for std::stack -- not implemented | |||
template <class K, class T> struct Proxy<std::stack<K, T> > { | template <class K, class T> struct Proxy<std::stack<K, T> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { return CFTNullGenerator::Generate(); } | Generate() { return CFTNullGenerator::Generate(); } | |||
}; | }; | |||
#if defined(__GNUC__) | #if defined(__GNUC__) | |||
// Specialization for __gnu_cxx::hash_set | // Specialization for __gnu_cxx::hash_set | |||
template <class T, class F, class E, class A> struct Proxy<__gnu_cxx::hash_ | template <class T, class F, class E, class A> struct Proxy<__gnu_cxx::ha | |||
set<T, F, E, A> > { | sh_set<T, F, E, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Insert<__gnu_cxx::hash_set<T, F, E, A> > >::Gener | return CFTGenerator<Insert<__gnu_cxx::hash_set<T, F, E, A> > >::Ge | |||
ate(); | nerate(); | |||
} | } | |||
}; | }; | |||
// Specialization for __gnu_cxx::hash_multiset | // Specialization for __gnu_cxx::hash_multiset | |||
template <class T, class F, class E, class A> struct Proxy<__gnu_cxx::hash_ | template <class T, class F, class E, class A> struct Proxy<__gnu_cxx::ha | |||
multiset<T, F, E, A> > { | sh_multiset<T, F, E, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Insert<__gnu_cxx::hash_multiset<T, F, E, A> > >:: | return CFTGenerator<Insert<__gnu_cxx::hash_multiset<T, F, E, A> > | |||
Generate(); | >::Generate(); | |||
} | } | |||
}; | }; | |||
// Specialization for __gnu_cxx::hash_map | // Specialization for __gnu_cxx::hash_map | |||
template <class K, class T, class F, class E, class A> struct Proxy<__gnu_c | template <class K, class T, class F, class E, class A> struct Proxy<__gn | |||
xx::hash_map<K, T, F, E, A> > { | u_cxx::hash_map<K, T, F, E, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<MapInsert<__gnu_cxx::hash_map<K, T, F, E, A> > >: | return CFTGenerator<MapInsert<__gnu_cxx::hash_map<K, T, F, E, A> > | |||
:Generate(); | >::Generate(); | |||
} | } | |||
}; | }; | |||
// Specialization for __gnu_cxx::hash_multimap | // Specialization for __gnu_cxx::hash_multimap | |||
template <class K, class T, class F, class E, class A> struct Proxy<__gnu_c | template <class K, class T, class F, class E, class A> struct Proxy<__gn | |||
xx::hash_multimap<K, T, F, E, A> > { | u_cxx::hash_multimap<K, T, F, E, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<MapInsert<__gnu_cxx::hash_multimap<K, T, F, E, A> | return CFTGenerator<MapInsert<__gnu_cxx::hash_multimap<K, T, F, E, | |||
> >::Generate(); | A> > >::Generate(); | |||
} | } | |||
}; | }; | |||
#elif defined(_WIN32) | #elif defined(_WIN32) | |||
// Specialization for stdext::hash_multiset | // Specialization for stdext::hash_multiset | |||
template <class K, class T, class A> struct Proxy<stdext::hash_multiset<K, | template <class K, class T, class A> struct Proxy<stdext::hash_multiset< | |||
T, A> > { | K, T, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Insert<stdext::hash_multiset<K, T, A> > >::Genera | return CFTGenerator<Insert<stdext::hash_multiset<K, T, A> > >::Gen | |||
te(); | erate(); | |||
} | } | |||
}; | }; | |||
// Specialization for stdext::hash_set | // Specialization for stdext::hash_set | |||
template <class K, class T, class A> struct Proxy<stdext::hash_set<K, T, A> | template <class K, class T, class A> struct Proxy<stdext::hash_set<K, T, | |||
> { | A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Insert<stdext::hash_set<K, T, A> > >::Generate(); | return CFTGenerator<Insert<stdext::hash_set<K, T, A> > >::Generate | |||
} | (); | |||
} | ||||
}; | }; | |||
// Specialization for stdext::hash_map | // Specialization for stdext::hash_map | |||
template <class K, class T, class R, class A> struct Proxy<stdext::hash_map | template <class K, class T, class R, class A> struct Proxy<stdext::hash_ | |||
<K, T, R, A> > { | map<K, T, R, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<MapInsert<stdext::hash_map<K, T, R, A> > >::Gener | return CFTGenerator<MapInsert<stdext::hash_map<K, T, R, A> > >::Ge | |||
ate(); | nerate(); | |||
} | } | |||
}; | }; | |||
// Specialization for stdext::hash_multimap | // Specialization for stdext::hash_multimap | |||
template <class K, class T, class R, class A> struct Proxy<stdext::hash_mul | template <class K, class T, class R, class A> struct Proxy<stdext::hash_ | |||
timap<K, T, R, A> > { | multimap<K, T, R, A> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<MapInsert<stdext::hash_multimap<K, T, R, A> > >:: | return CFTGenerator<MapInsert<stdext::hash_multimap<K, T, R, A> > | |||
Generate(); | >::Generate(); | |||
} | } | |||
}; | }; | |||
#endif | #endif | |||
// Specialization for std::bitset | // Specialization for std::bitset | |||
template <typename B> struct StdBitSetHelper {}; | template <typename B> struct StdBitSetHelper {}; | |||
#ifndef __CINT__ | #ifndef __CINT__ | |||
template <typename Bitset_t> struct CollType<StdBitSetHelper<Bitset_t> > : | template <typename Bitset_t> struct CollType<StdBitSetHelper<Bitset_t> > | |||
public Address<const bool&> { | : public Address<const bool&> { | |||
typedef Bitset_t Cont_t; | typedef Bitset_t Cont_t; | |||
typedef std::pair<size_t, bool> Iter_t; | typedef std::pair<size_t, bool> Iter_t; | |||
typedef bool Value_t; | typedef bool 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; | |||
virtual ~CollType() {} | virtual ~CollType() {} | |||
static inline PCont_t | static inline PCont_t | |||
object(void* ptr) { | object(void* ptr) { | |||
return PCont_t(PEnv_t(ptr)->fObject); | return PCont_t(PEnv_t(ptr)->fObject); | |||
} | } | |||
static void* | ||||
size(void* env) { | ||||
PEnv_t e = PEnv_t(env); | ||||
e->fSize = PCont_t(e->fObject)->size(); | ||||
return &e->fSize; | ||||
} | ||||
static void* | ||||
clear(void* env) { | ||||
object(env)->reset(); | ||||
return 0; | ||||
} | ||||
static void* | ||||
first(void* env) { | ||||
PEnv_t e = PEnv_t(env); | ||||
PCont_t c = PCont_t(e->fObject); | ||||
e->fIterator.first = 0; | ||||
e->fIterator.second = c->size() > 0 ? c->test(e->fIterator.first) : f | ||||
alse; // Iterator actually hold the value. | ||||
e->fSize = c->size(); | ||||
return 0; | ||||
} | ||||
static void* | static void* | |||
next(void* env) { | size(void* env) { | |||
PEnv_t e = PEnv_t(env); | PEnv_t e = PEnv_t(env); | |||
PCont_t c = PCont_t(e->fObject); | e->fSize = PCont_t(e->fObject)->size(); | |||
return &e->fSize; | ||||
} | ||||
for ( ; e->fIdx > 0 && e->fIterator.first != c->size(); ++(e->fIterat | static void* | |||
or.first), --e->fIdx) {} | clear(void* env) { | |||
e->fIterator.second = (e->fIterator.first != c->size()) ? c->test(e-> | object(env)->reset(); | |||
fIterator.first) : false; | return 0; | |||
return 0; | } | |||
} | ||||
static void* | static void* | |||
construct(void*,size_t) { | first(void* env) { | |||
// Nothing to construct. | PEnv_t e = PEnv_t(env); | |||
return 0; | PCont_t c = PCont_t(e->fObject); | |||
} | e->fIterator.first = 0; | |||
e->fIterator.second = c->size() > 0 ? c->test(e->fIterator.first) | ||||
: false; // Iterator actually hold the value. | ||||
e->fSize = c->size(); | ||||
return 0; | ||||
} | ||||
static void* | static void* | |||
collect(void* env) { | 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); | |||
PValue_t m = PValue_t(e->fStart); // 'start' is a buffer outside t | ||||
he container. | for ( ; e->fIdx > 0 && e->fIterator.first != c->size(); ++(e->fIte | |||
rator.first), --e->fIdx) {} | ||||
e->fIterator.second = (e->fIterator.first != c->size()) ? c->test( | ||||
e->fIterator.first) : false; | ||||
return 0; | ||||
} | ||||
for (size_t i = 0; i != c->size(); ++i, ++m) { | static void* | |||
*m = c->test(i); | construct(void*,size_t) { | |||
// Nothing to construct. | ||||
return 0; | ||||
} | } | |||
return 0; | ||||
} | ||||
static void | static void* | |||
destruct(void*,size_t) { | collect(void* coll, void *array) { | |||
// Nothing to destruct. | PCont_t c = PCont_t(coll); | |||
} | PValue_t m = PValue_t(array); // 'start' is a buffer outside th | |||
e container. | ||||
for (size_t i = 0; i != c->size(); ++i, ++m) { | ||||
*m = c->test(i); | ||||
} | ||||
return 0; | ||||
} | ||||
}; | static void | |||
destruct(void*,size_t) { | ||||
// Nothing to destruct. | ||||
} | ||||
template <typename Bitset_t> | }; | |||
struct Pushback<StdBitSetHelper<Bitset_t> > : public CollType<StdBitSetHelp | ||||
er<Bitset_t> > { | ||||
typedef Bitset_t Cont_t; | ||||
typedef bool Iter_t; | ||||
typedef bool Value_t; | ||||
typedef Environ<Iter_t> Env_t; | ||||
typedef Env_t* PEnv_t; | ||||
typedef Cont_t* PCont_t; | ||||
typedef Value_t* PValue_t; | ||||
static void resize(void* /*obj*/, size_t) { } | ||||
static void* | ||||
feed(void* env) { | ||||
PEnv_t e = PEnv_t(env); | ||||
PCont_t c = PCont_t(e->fObject); | ||||
PValue_t m = PValue_t(e->fStart); // Here start is actually a 'buf | ||||
fer' outside the container. | ||||
for (size_t i = 0; i < e->fSize; ++i, ++m) { | template <typename Bitset_t> | |||
c->set(i, *m); | struct Pushback<StdBitSetHelper<Bitset_t> > : public CollType<StdBitS | |||
etHelper<Bitset_t> > { | ||||
typedef Bitset_t Cont_t; | ||||
typedef bool Iter_t; | ||||
typedef bool Value_t; | ||||
typedef Environ<Iter_t> Env_t; | ||||
typedef Env_t* PEnv_t; | ||||
typedef Cont_t* PCont_t; | ||||
typedef Value_t* PValue_t; | ||||
static void resize(void* /*obj*/, size_t) { } | ||||
static void* | ||||
feed(void* env) { | ||||
PEnv_t e = PEnv_t(env); | ||||
PCont_t c = PCont_t(e->fObject); | ||||
PValue_t m = PValue_t(e->fStart); // Here start is actually a ' | ||||
buffer' outside the container. | ||||
for (size_t i = 0; i < e->fSize; ++i, ++m) { | ||||
c->set(i, *m); | ||||
} | ||||
return 0; | ||||
} | } | |||
return 0; | ||||
} | ||||
static void* | ||||
feed(void* from, void* to, size_t size) { | ||||
PValue_t m = PValue_t(from); | ||||
PCont_t c = PCont_t(to); | ||||
for (size_t i = 0; i < size; ++i, ++m) { | static void* | |||
c->set(i, *m); | feed(void* from, void* to, size_t size) { | |||
PValue_t m = PValue_t(from); | ||||
PCont_t c = PCont_t(to); | ||||
for (size_t i = 0; i < size; ++i, ++m) { | ||||
c->set(i, *m); | ||||
} | ||||
return 0; | ||||
} | } | |||
return 0; | ||||
} | ||||
static int | static int | |||
value_offset() { | value_offset() { | |||
return 0; | return 0; | |||
} | } | |||
}; | }; | |||
#endif | #endif | |||
template <typename B> struct Proxy<StdBitSetHelper<B> > { | template <typename B> struct Proxy<StdBitSetHelper<B> > { | |||
static CollFuncTable* | static CollFuncTable* | |||
Generate() { | Generate() { | |||
return CFTGenerator<Pushback<StdBitSetHelper<B> > >::Generate(); | return CFTGenerator<Pushback<StdBitSetHelper<B> > >::Generate(); | |||
} | } | |||
}; | }; | |||
} | } | |||
#endif // Reflex_CollectionProxy | #endif // Reflex_CollectionProxy | |||
End of changes. 90 change blocks. | ||||
586 lines changed or deleted | 840 lines changed or added | |||
DecisionTreeNode.h | DecisionTreeNode.h | |||
---|---|---|---|---|
// @(#)root/tmva $Id: DecisionTreeNode.h 40005 2011-06-27 15:29:10Z stelzer $ | // @(#)root/tmva $Id: DecisionTreeNode.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss, Eckhard vo n Toerne | // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss, Eckhard vo n Toerne | |||
/************************************************************************** ******** | /************************************************************************** ******** | |||
* 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 : DecisionTreeNode * | * Class : DecisionTreeNode * | |||
* Web : http://tmva.sourceforge.net * | * Web : http://tmva.sourceforge.net * | |||
* * | * * | |||
* Description: * | * Description: * | |||
* Node for the Decision Tree * | * Node for the Decision Tree * | |||
skipping to change at line 235 | skipping to change at line 235 | |||
// return the sum of unweighted signal weights in the node | // return the sum of unweighted signal weights in the node | |||
Float_t GetNSigEvents_unweighted( void ) const { return fTrainInfo-> fNSigEvents_unweighted; } | Float_t GetNSigEvents_unweighted( void ) const { return fTrainInfo-> fNSigEvents_unweighted; } | |||
// return the sum of unweighted backgr weights in the node | // return the sum of unweighted backgr weights in the node | |||
Float_t GetNBkgEvents_unweighted( void ) const { return fTrainInfo-> fNBkgEvents_unweighted; } | Float_t GetNBkgEvents_unweighted( void ) const { return fTrainInfo-> fNBkgEvents_unweighted; } | |||
// return the number of unweighted events that entered the node (dur ing training) | // return the number of unweighted events that entered the node (dur ing training) | |||
Float_t GetNEvents_unweighted( void ) const { return fTrainInfo->fNE vents_unweighted; } | Float_t GetNEvents_unweighted( void ) const { return fTrainInfo->fNE vents_unweighted; } | |||
// set the choosen index, measure of "purity" (separation between S a nd B) AT this node | // set the chosen index, measure of "purity" (separation between S an d B) AT this node | |||
void SetSeparationIndex( Float_t sep ){ fTrainInfo->fSeparationIndex =sep ; } | void SetSeparationIndex( Float_t sep ){ fTrainInfo->fSeparationIndex =sep ; } | |||
// return the separation index AT this node | // return the separation index AT this node | |||
Float_t GetSeparationIndex( void ) const { return fTrainInfo->fSepar ationIndex; } | Float_t GetSeparationIndex( void ) const { return fTrainInfo->fSepar ationIndex; } | |||
// set the separation, or information gained BY this nodes selection | // set the separation, or information gained BY this nodes selection | |||
void SetSeparationGain( Float_t sep ){ fTrainInfo->fSeparationGain =s ep ; } | void SetSeparationGain( Float_t sep ){ fTrainInfo->fSeparationGain =s ep ; } | |||
// return the gain in separation obtained by this nodes selection | // return the gain in separation obtained by this nodes selection | |||
Float_t GetSeparationGain( void ) const { return fTrainInfo->fSepara tionGain; } | Float_t GetSeparationGain( void ) const { return fTrainInfo->fSepara tionGain; } | |||
// printout of the node | // printout of the node | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
FTFace.h | FTFace.h | |||
---|---|---|---|---|
skipping to change at line 44 | skipping to change at line 44 | |||
FTFace( const unsigned char *pBufferBytes, size_t bufferSizeInBytes ); | FTFace( const unsigned char *pBufferBytes, size_t bufferSizeInBytes ); | |||
/** | /** | |||
* Destructor | * Destructor | |||
* | * | |||
* Disposes of the current Freetype Face. | * Disposes of the current Freetype Face. | |||
*/ | */ | |||
virtual ~FTFace(); | virtual ~FTFace(); | |||
/** | /** | |||
* Attach auxilliary file to font (e.g., font metrics). | * Attach auxiliary file to font (e.g., font metrics). | |||
* | * | |||
* @param fontFilePath auxilliary font file path. | * @param fontFilePath auxiliary font file path. | |||
* @return <code>true</code> if file has opened | * @return <code>true</code> if file has opened | |||
* successfully. | * successfully. | |||
*/ | */ | |||
bool Attach( const char* fontFilePath); | bool Attach( const char* fontFilePath); | |||
/** | /** | |||
* Attach auxilliary data to font (e.g., font metrics) from memory | * Attach auxiliary data to font (e.g., font metrics) from memory | |||
* | * | |||
* @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 | |||
* @return <code>true</code> if file has opened | * @return <code>true</code> if file has opened | |||
* successfully. | * successfully. | |||
*/ | */ | |||
bool Attach( const unsigned char *pBufferBytes, size_t bufferSizeIn Bytes); | bool Attach( const unsigned char *pBufferBytes, size_t bufferSizeIn Bytes); | |||
/** | /** | |||
* Get the freetype face object.. | * Get the freetype face object.. | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
FTFont.h | FTFont.h | |||
---|---|---|---|---|
skipping to change at line 57 | skipping to change at line 57 | |||
* @param bufferSizeInBytes the length of the buffer in bytes | * @param bufferSizeInBytes the length of the buffer in bytes | |||
*/ | */ | |||
FTFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes ); | FTFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes ); | |||
/** | /** | |||
* Destructor | * Destructor | |||
*/ | */ | |||
virtual ~FTFont(); | virtual ~FTFont(); | |||
/** | /** | |||
* Attach auxilliary file to font e.g font metrics. | * Attach auxiliary file to font e.g font metrics. | |||
* | * | |||
* Note: not all font formats implement this function. | * Note: not all font formats implement this function. | |||
* | * | |||
* @param fontFilePath auxilliary font file path. | * @param fontFilePath auxiliary font file path. | |||
* @return <code>true</code> if file has been attached | * @return <code>true</code> if file has been attached | |||
* successfully. | * successfully. | |||
*/ | */ | |||
bool Attach( const char* fontFilePath); | bool Attach( const char* fontFilePath); | |||
/** | /** | |||
* Attach auxilliary data to font e.g font metrics, from memory | * Attach auxiliary data to font e.g font metrics, from memory | |||
* | * | |||
* Note: not all font formats implement this function. | * Note: not all font formats implement this function. | |||
* | * | |||
* @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 | |||
* @return <code>true</code> if file has been attached | * @return <code>true</code> if file has been attached | |||
* successfully. | * successfully. | |||
*/ | */ | |||
bool Attach( const unsigned char *pBufferBytes, size_t bufferSizeIn Bytes); | bool Attach( const unsigned char *pBufferBytes, size_t bufferSizeIn Bytes); | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
Factory.h | Factory.h | |||
---|---|---|---|---|
// @(#)root/mathcore:$Id: Factory.h 37448 2010-12-09 20:20:56Z moneta $ | // @(#)root/tmva $Id: Factory.h 40005 2011-06-27 15:29:10Z stelzer $ | |||
// Author: L. Moneta Fri Dec 22 14:43:33 2006 | // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss, Ka | |||
i Voss, Eckhard von Toerne, Jan Therhaag | ||||
/********************************************************************** | /************************************************************************** | |||
* * | ******** | |||
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * | * Project: TMVA - a Root-integrated toolkit for multivariate data analysis | |||
* * | * | |||
* * | * Package: TMVA | |||
**********************************************************************/ | * | |||
* Class : Factory | ||||
// Header file for class Factory | * | |||
* Web : http://tmva.sourceforge.net | ||||
#ifndef ROOT_Math_Factory | * | |||
#define ROOT_Math_Factory | * | |||
* | ||||
* Description: | ||||
* | ||||
* This is the main MVA steering class: it creates (books) all MVA met | ||||
hods, * | ||||
* and guides them through the training, testing and evaluation phases | ||||
. * | ||||
* | ||||
* | ||||
* Authors (alphabetical): | ||||
* | ||||
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland | ||||
* | ||||
* Joerg Stelzer <stelzer@cern.ch> - DESY, Germany | ||||
* | ||||
* Peter Speckmayer <peter.speckmayer@cern.ch> - CERN, Switzerland | ||||
* | ||||
* Jan Therhaag <Jan.Therhaag@cern.ch> - U of Bonn, Germany | ||||
* | ||||
* Eckhard v. Toerne <evt@uni-bonn.de> - U of Bonn, Germany | ||||
* | ||||
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German | ||||
y * | ||||
* Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada | ||||
* | ||||
* | ||||
* | ||||
* Copyright (c) 2005-2011: | ||||
* | ||||
* CERN, Switzerland | ||||
* | ||||
* U. of Victoria, Canada | ||||
* | ||||
* MPI-K Heidelberg, Germany | ||||
* | ||||
* U. of Bonn, Germany | ||||
* | ||||
* | ||||
* | ||||
* Redistribution and use in source and binary forms, with or without | ||||
* | ||||
* modification, are permitted according to the terms listed in LICENSE | ||||
* | ||||
* (http://tmva.sourceforge.net/LICENSE) | ||||
* | ||||
************************************************************************** | ||||
********/ | ||||
#ifndef ROOT_TMVA_Factory | ||||
#define ROOT_TMVA_Factory | ||||
////////////////////////////////////////////////////////////////////////// | ||||
// // | ||||
// Factory // | ||||
// // | ||||
// This is the main MVA steering class: it creates all MVA methods, // | ||||
// and guides them through the training, testing and evaluation // | ||||
// phases // | ||||
// // | ||||
////////////////////////////////////////////////////////////////////////// | ||||
#include <string> | #include <string> | |||
#include <vector> | ||||
#include <map> | ||||
#ifndef ROOT_TCut | ||||
#include "TCut.h" | ||||
#endif | ||||
#ifndef ROOT_TMVA_Configurable | ||||
#include "TMVA/Configurable.h" | ||||
#endif | ||||
#ifndef ROOT_TMVA_Types | ||||
#include "TMVA/Types.h" | ||||
#endif | ||||
#ifndef ROOT_TMVA_DataSet | ||||
#include "TMVA/DataSet.h" | ||||
#endif | ||||
class TFile; | ||||
class TTree; | ||||
class TDirectory; | ||||
namespace TMVA { | ||||
class IMethod; | ||||
class MethodBase; | ||||
class DataInputHandler; | ||||
class DataSetInfo; | ||||
class DataSetManager; | ||||
class VariableTransformBase; | ||||
class Factory : public Configurable { | ||||
public: | ||||
typedef std::vector<IMethod*> MVector; | ||||
// no default constructor | ||||
Factory( TString theJobName, TFile* theTargetFile, TString theOption | ||||
= "" ); | ||||
// default destructor | ||||
virtual ~Factory(); | ||||
virtual const char* GetName() const { return "Factory"; } | ||||
// add events to training and testing trees | ||||
void AddSignalTrainingEvent ( const std::vector<Double_t>& event, | ||||
Double_t weight = 1.0 ); | ||||
void AddBackgroundTrainingEvent( const std::vector<Double_t>& event, | ||||
Double_t weight = 1.0 ); | ||||
void AddSignalTestEvent ( const std::vector<Double_t>& event, | ||||
Double_t weight = 1.0 ); | ||||
void AddBackgroundTestEvent ( const std::vector<Double_t>& event, | ||||
Double_t weight = 1.0 ); | ||||
void AddTrainingEvent( const TString& className, const std::vector<Do | ||||
uble_t>& event, Double_t weight ); | ||||
void AddTestEvent ( const TString& className, const std::vector<Do | ||||
uble_t>& event, Double_t weight ); | ||||
void AddEvent ( const TString& className, Types::ETreeType tt, | ||||
const std::vector<Double_t>& event, Double_t weight ); | ||||
Bool_t UserAssignEvents(UInt_t clIndex); | ||||
TTree* CreateEventAssignTrees( const TString& name ); | ||||
DataSetInfo& AddDataSet( DataSetInfo& ); | ||||
DataSetInfo& AddDataSet( const TString& ); | ||||
// special case: signal/background | ||||
// Data input related | ||||
void SetInputTrees( const TString& signalFileName, const TString& bac | ||||
kgroundFileName, | ||||
Double_t signalWeight=1.0, Double_t backgroundWei | ||||
ght=1.0 ); | ||||
void SetInputTrees( TTree* inputTree, const TCut& SigCut, const TCut& | ||||
BgCut ); | ||||
// Set input trees at once | ||||
void SetInputTrees( TTree* signal, TTree* background, | ||||
Double_t signalWeight=1.0, Double_t backgroundWei | ||||
ght=1.0) ; | ||||
void AddSignalTree( TTree* signal, Double_t weight=1.0, Types::ETr | ||||
eeType treetype = Types::kMaxTreeType ); | ||||
void AddSignalTree( TString datFileS, Double_t weight=1.0, Types::ETr | ||||
eeType treetype = Types::kMaxTreeType ); | ||||
void AddSignalTree( TTree* signal, Double_t weight, const TString& tr | ||||
eetype ); | ||||
// ... depreciated, kept for backwards compatibility | ||||
void SetSignalTree( TTree* signal, Double_t weight=1.0); | ||||
void AddBackgroundTree( TTree* background, Double_t weight=1.0, Types | ||||
::ETreeType treetype = Types::kMaxTreeType ); | ||||
void AddBackgroundTree( TString datFileB, Double_t weight=1.0, Types | ||||
::ETreeType treetype = Types::kMaxTreeType ); | ||||
void AddBackgroundTree( TTree* background, Double_t weight, const TSt | ||||
ring & treetype ); | ||||
// ... depreciated, kept for backwards compatibility | ||||
void SetBackgroundTree( TTree* background, Double_t weight=1.0 ); | ||||
void SetSignalWeightExpression( const TString& variable ); | ||||
void SetBackgroundWeightExpression( const TString& variable ); | ||||
// special case: regression | ||||
void AddRegressionTree( TTree* tree, Double_t weight = 1.0, | ||||
Types::ETreeType treetype = Types::kMaxTreeTy | ||||
pe ) { | ||||
AddTree( tree, "Regression", weight, "", treetype ); | ||||
} | ||||
// general | ||||
// Data input related | ||||
void SetTree( TTree* tree, const TString& className, Double_t weight | ||||
); // depreciated | ||||
void AddTree( TTree* tree, const TString& className, Double_t weight= | ||||
1.0, | ||||
const TCut& cut = "", | ||||
Types::ETreeType tt = Types::kMaxTreeType ); | ||||
void AddTree( TTree* tree, const TString& className, Double_t weight, | ||||
const TCut& cut, const TString& treeType ); | ||||
// set input variable | ||||
void SetInputVariables ( std::vector<TString>* theVariables ); // de | ||||
preciated | ||||
void AddVariable ( const TString& expression, const TString& t | ||||
itle, const TString& unit, | ||||
char type='F', Double_t min = 0, Double_t m | ||||
ax = 0 ); | ||||
void AddVariable ( const TString& expression, char type='F', | ||||
Double_t min = 0, Double_t max = 0 ); | ||||
void AddTarget ( const TString& expression, const TString& t | ||||
itle = "", const TString& unit = "", | ||||
Double_t min = 0, Double_t max = 0 ); | ||||
void AddRegressionTarget( const TString& expression, const TString& t | ||||
itle = "", const TString& unit = "", | ||||
Double_t min = 0, Double_t max = 0 ) | ||||
{ | ||||
AddTarget( expression, title, unit, min, max ); | ||||
} | ||||
void AddSpectator ( const TString& expression, const TString& | ||||
title = "", const TString& unit = "", | ||||
Double_t min = 0, Double_t max = 0 ); | ||||
// set weight for class | ||||
void SetWeightExpression( const TString& variable, const TString& cla | ||||
ssName = "" ); | ||||
// set cut for class | ||||
void SetCut( const TString& cut, const TString& className = "" ); | ||||
void SetCut( const TCut& cut, const TString& className = "" ); | ||||
void AddCut( const TString& cut, const TString& className = "" ); | ||||
void AddCut( const TCut& cut, const TString& className = "" ); | ||||
// prepare input tree for training | ||||
void PrepareTrainingAndTestTree( const TCut& cut, const TString& spli | ||||
tOpt ); | ||||
void PrepareTrainingAndTestTree( TCut sigcut, TCut bkgcut, const TStr | ||||
ing& splitOpt ); | ||||
// ... deprecated, kept for backwards compatibility | ||||
void PrepareTrainingAndTestTree( const TCut& cut, Int_t Ntrain, Int_t | ||||
Ntest = -1 ); | ||||
void PrepareTrainingAndTestTree( const TCut& cut, Int_t NsigTrain, In | ||||
t_t NbkgTrain, Int_t NsigTest, Int_t NbkgTest, | ||||
const TString& otherOpt="SplitMode=R | ||||
andom:!V" ); | ||||
MethodBase* BookMethod( TString theMethodName, TString methodTitle, T | ||||
String theOption = "" ); | ||||
MethodBase* BookMethod( Types::EMVA theMethod, TString methodTitle, | ||||
TString theOption = "" ); | ||||
MethodBase* BookMethod( TMVA::Types::EMVA /*theMethod*/, | ||||
TString /*methodTitle*/, | ||||
TString /*methodOption*/, | ||||
TMVA::Types::EMVA /*theCommittee*/, | ||||
TString /*committeeOption = ""*/ ) { return 0 | ||||
; } | ||||
// optimize all booked methods (well, if desired by the method) | ||||
void OptimizeAllMethods (TString fomType="ROCIntegral | ||||
", TString fitType="FitGA"); | ||||
void OptimizeAllMethodsForClassification(TString fomType="ROCIntegral | ||||
", TString fitType="FitGA") { OptimizeAllMethods(fomType,fitType); } | ||||
void OptimizeAllMethodsForRegression (TString fomType="ROCIntegral | ||||
", TString fitType="FitGA") { OptimizeAllMethods(fomType,fitType); } | ||||
// training for all booked methods | ||||
void TrainAllMethods (); | ||||
void TrainAllMethodsForClassification( void ) { TrainAllMethods(); } | ||||
void TrainAllMethodsForRegression ( void ) { TrainAllMethods(); } | ||||
// testing | ||||
void TestAllMethods(); | ||||
// performance evaluation | ||||
void EvaluateAllMethods( void ); | ||||
void EvaluateAllVariables( TString options = "" ); | ||||
// delete all methods and reset the method vector | ||||
void DeleteAllMethods( void ); | ||||
// accessors | ||||
IMethod* GetMethod( const TString& title ) const; | ||||
Bool_t Verbose( void ) const { return fVerbose; } | ||||
void SetVerbose( Bool_t v=kTRUE ); | ||||
// make ROOT-independent C++ class for classifier response | ||||
// (classifier-specific implementation) | ||||
// If no classifier name is given, help messages for all booked | ||||
// classifiers are printed | ||||
virtual void MakeClass( const TString& methodTitle = "" ) const; | ||||
// prints classifier-specific hepl messages, dedicated to | ||||
// help with the optimisation and configuration options tuning. | ||||
// If no classifier name is given, help messages for all booked | ||||
// classifiers are printed | ||||
void PrintHelpMessage( const TString& methodTitle = "" ) const; | ||||
static TDirectory* RootBaseDir() { return (TDirectory*)fgTargetFile; | ||||
} | ||||
private: | ||||
// the beautiful greeting message | ||||
void Greetings(); | ||||
void WriteDataInformation(); | ||||
DataInputHandler& DataInput() { return *fDataInputHandler; } | ||||
DataSetInfo& DefaultDataSetInfo(); | ||||
void SetInputTreesFromEventAssignTrees(); | ||||
private: | ||||
// data members | ||||
DataSetManager* fDataSetManager; // DSMTEST | ||||
static TFile* fgTargetFile; //! ROOT | ||||
output file | ||||
DataInputHandler* fDataInputHandler; | ||||
std::vector<TMVA::VariableTransformBase*> fDefaultTrfs; //! list | ||||
of transformations on default DataSet | ||||
// cd to local directory | ||||
TString fOptions; //! optio | ||||
n string given by construction (presently only "V") | ||||
TString fTransformations; //! List | ||||
of transformations to test | ||||
Bool_t fVerbose; //! verbo | ||||
se mode | ||||
MVector fMethods; //! all M | ||||
VA methods | ||||
TString fJobName; //! jobna | ||||
me, used as extension in weight file names | ||||
// flag determining the way training and test data are assigned to Fa | ||||
ctory | ||||
enum DataAssignType { kUndefined = 0, | ||||
kAssignTrees, | ||||
kAssignEvents }; | ||||
DataAssignType fDataAssignType; //! flags | ||||
for data assigning | ||||
std::vector<TTree*> fTrainAssignTree; //! for e | ||||
ach class: tmp tree if user wants to assign the events directly | ||||
std::vector<TTree*> fTestAssignTree; //! for e | ||||
ach class: tmp tree if user wants to assign the events directly | ||||
Int_t fATreeType; // typ | ||||
e of event (=classIndex) | ||||
Float_t fATreeWeight; // wei | ||||
ght of the event | ||||
Float_t* fATreeEvent; // eve | ||||
nt variables | ||||
Types::EAnalysisType fAnalysisType; //! the t | ||||
raining type | ||||
namespace ROOT { | protected: | |||
namespace Math { | ||||
class Minimizer; | ||||
class DistSampler; | ||||
//_________________________________________________________________________ | ||||
__ | ||||
/** | ||||
Factory class holding static functions to create the interfaces like RO | ||||
OT::Math::Minimizer | ||||
via the Plugin Manager | ||||
*/ | ||||
class Factory { | ||||
public: | ||||
/** | ||||
static method to create the corrisponding Minimizer given the string | ||||
Supported Minimizers types are: | ||||
Minuit (TMinuit), Minuit2, GSLMultiMin, GSLMultiFit, GSLSimAn, Linear | ||||
, Fumili, Genetic | ||||
If no name is given use default values defined in MinimizerOptions | ||||
*/ | ||||
static ROOT::Math::Minimizer * CreateMinimizer(const std::string & minim | ||||
izerType = "", const std::string & algoType = ""); | ||||
/** | ||||
static method to create the distribution sampler class given a string | ||||
specifying the type | ||||
Supported sampler types are: | ||||
Unuran, Foam | ||||
If no name is given use default values defined in DistSamplerOptions | ||||
*/ | ||||
static ROOT::Math::DistSampler * CreateDistSampler(const std::string & s | ||||
amplerType =""); | ||||
}; | ||||
} // end namespace Fit | ClassDef(Factory,0) // The factory creates all MVA methods, and perf | |||
orms their training and testing | ||||
}; | ||||
} // end namespace ROOT | } // namespace TMVA | |||
#endif /* ROOT_Fit_MinimizerFactory */ | #endif | |||
End of changes. 7 change blocks. | ||||
53 lines changed or deleted | 360 lines changed or added | |||
Functions.h | Functions.h | |||
---|---|---|---|---|
// @(#)root/smatrix:$Id: Functions.h 20882 2007-11-19 11:31:26Z rdm $ | // @(#)root/smatrix:$Id: Functions.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Authors: T. Glebe, L. Moneta 2005 | // Authors: T. Glebe, L. Moneta 2005 | |||
#ifndef ROOT_Math_Functions | #ifndef ROOT_Math_Functions | |||
#define ROOT_Math_Functions | #define ROOT_Math_Functions | |||
// ******************************************************************** | // ******************************************************************** | |||
// | // | |||
// source: | // source: | |||
// | // | |||
// type: source code | // type: source code | |||
// | // | |||
skipping to change at line 360 | skipping to change at line 360 | |||
inline SVector<T,3> Cross(const VecExpr<A,T,3>& lhs, const VecExpr<B,T,3>& rhs) { | inline SVector<T,3> Cross(const VecExpr<A,T,3>& lhs, const VecExpr<B,T,3>& rhs) { | |||
return SVector<T,3>(lhs.apply(1)*rhs.apply(2) - | return SVector<T,3>(lhs.apply(1)*rhs.apply(2) - | |||
lhs.apply(2)*rhs.apply(1), | lhs.apply(2)*rhs.apply(1), | |||
lhs.apply(2)*rhs.apply(0) - | lhs.apply(2)*rhs.apply(0) - | |||
lhs.apply(0)*rhs.apply(2), | lhs.apply(0)*rhs.apply(2), | |||
lhs.apply(0)*rhs.apply(1) - | lhs.apply(0)*rhs.apply(1) - | |||
lhs.apply(1)*rhs.apply(0)); | lhs.apply(1)*rhs.apply(0)); | |||
} | } | |||
/** Unit. | /** Unit. | |||
Return a vector of unit lenght: \f$ \vec{e}_v = \vec{v}/|\vec{v}| \f$. | Return a vector of unit length: \f$ \vec{e}_v = \vec{v}/|\vec{v}| \f$. | |||
@ingroup VectFunction | @ingroup VectFunction | |||
@author T. Glebe | @author T. Glebe | |||
*/ | */ | |||
//========================================================================= ===== | //========================================================================= ===== | |||
// unit: returns a unit vector | // unit: returns a unit vector | |||
//========================================================================= ===== | //========================================================================= ===== | |||
template <class T, unsigned int D> | template <class T, unsigned int D> | |||
inline SVector<T,D> Unit(const SVector<T,D>& rhs) { | inline SVector<T,D> Unit(const SVector<T,D>& rhs) { | |||
return SVector<T,D>(rhs).Unit(); | return SVector<T,D>(rhs).Unit(); | |||
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 32583 2010-03-12 09:57:42Z monet a $ | // @(#)root/mathmore:$Id: GSLMinimizer1D.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 72 | skipping to change at line 72 | |||
//_________________________________________________________________________ _____________ | //_________________________________________________________________________ _____________ | |||
/** | /** | |||
Minimizer for arbitrary one dimensional functions. | Minimizer for arbitrary one dimensional functions. | |||
Implemented using GSL, for detailed description see: | Implemented using GSL, for detailed description see: | |||
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/One-dimensional-M inimization.html">GSL online doc</A> | <A HREF="http://www.gnu.org/software/gsl/manual/html_node/One-dimensional-M inimization.html">GSL online doc</A> | |||
The algorithms uspported are only bracketing algorithm which do not use der ivatives information. | The algorithms uspported are only bracketing algorithm which do not use der ivatives information. | |||
The algorithms which can be choosen at construction time are GOLDENSECTION , whic is the simplest method | The algorithms which can be chosen at construction time are GOLDENSECTION, whic is the simplest method | |||
but the slowest and BRENT (the default one) which combines the golden secti on with a parabolic interpolation. | but the slowest and BRENT (the default one) which combines the golden secti on with a parabolic interpolation. | |||
This class does not support copying | This class does not support copying | |||
@ingroup Min1D | @ingroup Min1D | |||
*/ | */ | |||
class GSLMinimizer1D: public IMinimizer1D { | class GSLMinimizer1D: public IMinimizer1D { | |||
public: | public: | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
GSLRootFinder.h | GSLRootFinder.h | |||
---|---|---|---|---|
// @(#)root/mathmore:$Id: GSLRootFinder.h 32583 2010-03-12 09:57:42Z moneta $ | // @(#)root/mathmore:$Id: GSLRootFinder.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 102 | skipping to change at line 102 | |||
} | } | |||
#endif | #endif | |||
bool 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 *); | |||
bool SetFunction( GSLFuncPointer f, void * params, double xlow, double xup); | bool SetFunction( GSLFuncPointer f, void * params, double xlow, double xup); | |||
using IRootFinderMethod::SetFunction; | using IRootFinderMethod::SetFunction; | |||
// iterate to find ROOTS return GSL_CONTINUE if iteration was succesful l or another error | // iterate to find ROOTS return GSL_CONTINUE if iteration was successfu l or another error | |||
int Iterate(); | int Iterate(); | |||
double Root() const; | double Root() const; | |||
//double XLower() const; | //double XLower() const; | |||
//double XUpper() const; | //double XUpper() const; | |||
/// Find the root | /// Find the root | |||
bool Solve( int maxIter = 100, double absTol = 1E-8, double relTol = 1E -10); | bool Solve( int maxIter = 100, double absTol = 1E-8, double relTol = 1E -10); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
GSLRootFinderDeriv.h | GSLRootFinderDeriv.h | |||
---|---|---|---|---|
// @(#)root/mathmore:$Id: GSLRootFinderDeriv.h 32583 2010-03-12 09:57:42Z m oneta $ | // @(#)root/mathmore:$Id: GSLRootFinderDeriv.h 48991 2013-03-28 15:25:11Z r dm $ | |||
// 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 109 | skipping to change at line 109 | |||
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 *); | |||
bool 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) | /// iterate (return GSL_SUCCESS in case of successful iteration) | |||
int Iterate(); | int Iterate(); | |||
double Root() const; | double Root() const; | |||
/// Find the root (return false if failed) | /// Find the root (return false if failed) | |||
bool Solve( int maxIter = 100, double absTol = 1E-8, double relTol = 1E- 10); | bool Solve( int maxIter = 100, double absTol = 1E-8, double relTol = 1E- 10); | |||
/// Return number of iterations | /// Return number of iterations | |||
int Iterations() const { | int Iterations() const { | |||
return fIter; | return fIter; | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
GSLSimAnnealing.h | GSLSimAnnealing.h | |||
---|---|---|---|---|
// @(#)root/mathmore:$Id: GSLSimAnnealing.h 21553 2007-12-21 10:55:46Z mone ta $ | // @(#)root/mathmore:$Id: GSLSimAnnealing.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: L. Moneta Thu Jan 25 11:13:48 2007 | // Author: L. Moneta Thu Jan 25 11:13:48 2007 | |||
/********************************************************************** | /********************************************************************** | |||
* * | * * | |||
* 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 | |||
/** | /** | |||
construct from an interface of a multi-dimensional function | construct from an interface of a multi-dimensional function | |||
Use optionally a scale factor (for each coordinate) which can be use d to scale the step sizes | Use optionally a scale factor (for each coordinate) which can be use d to scale the step sizes | |||
(this is used for example by the minimization algorithm) | (this is used for example by the minimization algorithm) | |||
*/ | */ | |||
GSLSimAnFunc(const ROOT::Math::IMultiGenFunction & func, const double * x, const double * scale); | GSLSimAnFunc(const ROOT::Math::IMultiGenFunction & func, const double * x, const double * scale); | |||
protected: | protected: | |||
/** | /** | |||
derived classes might need to re-define completly the class | derived classes might need to re-define completely the class | |||
*/ | */ | |||
GSLSimAnFunc() : | GSLSimAnFunc() : | |||
fFunc(0) | fFunc(0) | |||
{} | {} | |||
public: | public: | |||
/// virtual distructor (no operations) | /// virtual distructor (no operations) | |||
virtual ~GSLSimAnFunc() { } // | virtual ~GSLSimAnFunc() { } // | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
HLFactory.h | HLFactory.h | |||
---|---|---|---|---|
// @(#)root/roostats:$Id: HLFactory.h 39391 2011-05-26 09:51:59Z moneta $ | // @(#)root/roostats:$Id: HLFactory.h 48991 2013-03-28 15:25:11Z rdm $ | |||
/************************************************************************* | /************************************************************************* | |||
* Project: RooStats * | * Project: RooStats * | |||
* Package: RooFit/RooStats * | * Package: RooFit/RooStats * | |||
* Authors: * | * Authors: * | |||
* Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke * | * Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke * | |||
************************************************************************* | ************************************************************************* | |||
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
skipping to change at line 98 | skipping to change at line 98 | |||
/// The datasets combination | /// The datasets combination | |||
RooDataSet* fComboDataset; | RooDataSet* fComboDataset; | |||
/// Flag to keep trace of the status of the combination | /// Flag to keep trace of the status of the combination | |||
bool fCombinationDone; | bool fCombinationDone; | |||
/// Create the category for the combinations | /// Create the category for the combinations | |||
void fCreateCategory(); | void fCreateCategory(); | |||
/// Check the lenght of the lists | /// Check the length of the lists | |||
bool fNamesListsConsistent(); | bool fNamesListsConsistent(); | |||
/// List of channels names to combine for the signal plus background pd fs | /// List of channels names to combine for the signal plus background pd fs | |||
TList fSigBkgPdfNames; | TList fSigBkgPdfNames; | |||
/// List of channels names to combine for the background pdfs | /// List of channels names to combine for the background pdfs | |||
TList fBkgPdfNames; | TList fBkgPdfNames; | |||
/// List of channels names to combine for the datasets | /// List of channels names to combine for the datasets | |||
TList fDatasetsNames; | TList fDatasetsNames; | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
Interpolator.h | Interpolator.h | |||
---|---|---|---|---|
// @(#)root/mathmore:$Id: Interpolator.h 24403 2008-06-20 08:31:10Z moneta $ | // @(#)root/mathmore:$Id: Interpolator.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 75 | skipping to change at line 75 | |||
/** | /** | |||
Constructs an interpolator class from number of data points and with Interpolation::Type type. | Constructs an interpolator class from number of data points and with Interpolation::Type type. | |||
The data can be set later on with the SetData method. | The data can be set later on with the SetData method. | |||
In case the data size is not known, better using the default of zero or the next constructor later on. | In case the data size is not known, better using the default of zero or the next constructor later on. | |||
The defult interpolation type is Cubic spline | The defult interpolation type is Cubic spline | |||
*/ | */ | |||
Interpolator(unsigned int ndata = 0, Interpolation::Type type = Interpol ation::kCSPLINE); | Interpolator(unsigned int ndata = 0, Interpolation::Type type = Interpol ation::kCSPLINE); | |||
/** | /** | |||
Constructs an interpolator class from vector of data points \f$ (x_i, y_i )\f$ and with Interpolation::Type type. | Constructs an interpolator class from vector of data points \f$ (x_i, y_i )\f$ and with Interpolation::Type type. | |||
The method will compute a continous interpolating function \f$ y(x) \ f$ such that \f$ y_i = y ( x_i )\f$. | The method will compute a continuous interpolating function \f$ y(x) \f$ such that \f$ y_i = y ( x_i )\f$. | |||
The defult interpolation type is Cubic spline | The defult interpolation type is Cubic spline | |||
*/ | */ | |||
Interpolator(const std::vector<double> & x, const std::vector<double> & y, Interpolation::Type type = Interpolation::kCSPLINE); | Interpolator(const std::vector<double> & x, const std::vector<double> & y, Interpolation::Type type = Interpolation::kCSPLINE); | |||
virtual ~Interpolator(); | virtual ~Interpolator(); | |||
private: | private: | |||
// usually copying is non trivial, so we make this unaccessible | // usually copying is non trivial, so we make this unaccessible | |||
Interpolator(const Interpolator &); | Interpolator(const Interpolator &); | |||
Interpolator & operator = (const Interpolator &); | Interpolator & operator = (const Interpolator &); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
Interval.h | Interval.h | |||
---|---|---|---|---|
// @(#)root/tmva $Id: Interval.h 40005 2011-06-27 15:29:10Z stelzer $ | // @(#)root/tmva $Id: Interval.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Peter Speckmayer | // Author: Peter Speckmayer | |||
/************************************************************************** ******** | /************************************************************************** ******** | |||
* 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 : Interval * | * Class : Interval * | |||
* Web : http://tmva.sourceforge.net * | * Web : http://tmva.sourceforge.net * | |||
* * | * * | |||
* Description: * | * Description: * | |||
* Generic range definition (used, eg, in genetic algorithm) * | * Generic range definition (used, eg, in genetic algorithm) * | |||
skipping to change at line 34 | skipping to change at line 34 | |||
#ifndef ROOT_TMVA_Interval | #ifndef ROOT_TMVA_Interval | |||
#define ROOT_TMVA_Interval | #define ROOT_TMVA_Interval | |||
/////////////////////////////////////////////////////////////////////////// /// | /////////////////////////////////////////////////////////////////////////// /// | |||
// // | // // | |||
// Interval // | // Interval // | |||
// // | // // | |||
// Interval definition, continuous and discrete // | // Interval definition, continuous and discrete // | |||
// // | // // | |||
// Interval(min,max) : a continous interval [min,max] // | // Interval(min,max) : a continuous interval [min,max] // | |||
// Interval(min,max,n): a "discrete interval" [min,max], i.e the n numbers: // | // Interval(min,max,n): a "discrete interval" [min,max], i.e the n numbers: // | |||
// min, min+step, min+2*step,...., min+(n-1)*step, min+n*step=max // | // min, min+step, min+2*step,...., min+(n-1)*step, min+n*step=max // | |||
// e.g.: Interval(1,5,5)=1,2,3,4,5 // | // e.g.: Interval(1,5,5)=1,2,3,4,5 // | |||
// Interval(.5,1.,6)= .5, .6., .7, .8, .9, 1.0 // | // Interval(.5,1.,6)= .5, .6., .7, .8, .9, 1.0 // | |||
// // | // // | |||
// Note: **bin** counting starts from ZERO unlike in ROOT histograms // | // Note: **bin** counting starts from ZERO unlike in ROOT histograms // | |||
// // | // // | |||
// Example: Interval(.5,1.,6) // | // Example: Interval(.5,1.,6) // | |||
// // | // // | |||
// [ min max ] // | // [ min max ] // | |||
skipping to change at line 92 | skipping to change at line 92 | |||
void SetMin( Double_t m ) { fMin = m; } | void SetMin( Double_t m ) { fMin = m; } | |||
private: | private: | |||
Double_t fMin, fMax; // the constraints of the Interval | Double_t fMin, fMax; // the constraints of the Interval | |||
Int_t fNbins; // when >0 : number of bins (discrete interva l); when ==0 continuous interval | Int_t fNbins; // when >0 : number of bins (discrete interva l); when ==0 continuous interval | |||
static MsgLogger* fgLogger; // message logger | static MsgLogger* fgLogger; // message logger | |||
MsgLogger& Log() const { return *fgLogger; } | MsgLogger& Log() const { return *fgLogger; } | |||
ClassDef(Interval,0) // Interval definition, continous and discret e | ClassDef(Interval,0) // Interval definition, continuous and discre te | |||
}; | }; | |||
} // namespace TMVA | } // namespace TMVA | |||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
Measurement.h | Measurement.h | |||
---|---|---|---|---|
// @(#)root/roostats:$Id: Measurement.h 47093 2012-11-07 10:30:12Z moneta $ | // @(#)root/roostats:$Id: Measurement.h 49255 2013-04-16 19:09:01Z pcanal $ | |||
// Author: George Lewis, Kyle Cranmer | // Author: George Lewis, Kyle Cranmer | |||
/************************************************************************* | /************************************************************************* | |||
* 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 HISTFACTORY_MEASUREMENT_H | #ifndef HISTFACTORY_MEASUREMENT_H | |||
skipping to change at line 139 | skipping to change at line 139 | |||
std::vector< RooStats::HistFactory::Asimov > fAsimovDatasets; | std::vector< RooStats::HistFactory::Asimov > fAsimovDatasets; | |||
// List of Alternate constraint terms | // List of Alternate constraint terms | |||
std::map< std::string, double > fGammaSyst; | std::map< std::string, double > fGammaSyst; | |||
std::map< std::string, double > fUniformSyst; | std::map< std::string, double > fUniformSyst; | |||
std::map< std::string, double > fLogNormSyst; | std::map< std::string, double > fLogNormSyst; | |||
std::map< std::string, double > fNoSyst; | std::map< std::string, double > fNoSyst; | |||
std::string GetDirPath( TDirectory* dir ); | std::string GetDirPath( TDirectory* dir ); | |||
ClassDef(RooStats::HistFactory::Measurement, 1); | ClassDef(RooStats::HistFactory::Measurement, 3); | |||
}; | }; | |||
} // namespace HistFactory | } // namespace HistFactory | |||
} // namespace RooStats | } // namespace RooStats | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
MinNLLTestStat.h | MinNLLTestStat.h | |||
---|---|---|---|---|
skipping to change at line 65 | skipping to change at line 65 | |||
public: | public: | |||
MinNLLTestStat() { | MinNLLTestStat() { | |||
// Proof constructor. Do not use. | // Proof constructor. Do not use. | |||
fProflts = 0; | fProflts = 0; | |||
} | } | |||
MinNLLTestStat(RooAbsPdf& pdf) { | MinNLLTestStat(RooAbsPdf& pdf) { | |||
fProflts = new ProfileLikelihoodTestStat(pdf); | fProflts = new ProfileLikelihoodTestStat(pdf); | |||
} | } | |||
MinNLLTestStat(const MinNLLTestStat& rhs) : fProflts(0) { | MinNLLTestStat(const MinNLLTestStat& rhs) : TestStatistic(rhs), fProfl ts(0) { | |||
RooAbsPdf * pdf = rhs.fProflts->GetPdf(); | RooAbsPdf * pdf = rhs.fProflts->GetPdf(); | |||
if (pdf) fProflts = new ProfileLikelihoodTestStat(*pdf); | if (pdf) fProflts = new ProfileLikelihoodTestStat(*pdf); | |||
} | } | |||
MinNLLTestStat & operator=(const MinNLLTestStat& rhs) { | MinNLLTestStat & operator=(const MinNLLTestStat& rhs) { | |||
if (this == &rhs) return *this; | if (this == &rhs) return *this; | |||
RooAbsPdf * pdf = rhs.fProflts->GetPdf(); | RooAbsPdf * pdf = rhs.fProflts->GetPdf(); | |||
if (fProflts) delete fProflts; | if (fProflts) delete fProflts; | |||
fProflts = NULL; | fProflts = NULL; | |||
if (pdf) fProflts = new ProfileLikelihoodTestStat(*pdf); | if (pdf) fProflts = new ProfileLikelihoodTestStat(*pdf); | |||
skipping to change at line 90 | skipping to change at line 90 | |||
delete fProflts; | delete fProflts; | |||
} | } | |||
void SetOneSided(Bool_t flag=true) {fProflts->SetOneSided(flag);} | void SetOneSided(Bool_t flag=true) {fProflts->SetOneSided(flag);} | |||
void SetOneSidedDiscovery(Bool_t flag=true) {fProflts->SetOneSidedDisc overy(flag);} | void SetOneSidedDiscovery(Bool_t flag=true) {fProflts->SetOneSidedDisc overy(flag);} | |||
void SetReuseNLL(Bool_t flag) { fProflts->SetReuseNLL(flag); } | void SetReuseNLL(Bool_t flag) { fProflts->SetReuseNLL(flag); } | |||
void SetMinimizer(const char* minimizer){ fProflts->SetMinimizer(minim izer); } | void SetMinimizer(const char* minimizer){ fProflts->SetMinimizer(minim izer); } | |||
void SetStrategy(Int_t strategy){ fProflts->SetStrategy(strategy); } | void SetStrategy(Int_t strategy){ fProflts->SetStrategy(strategy); } | |||
void SetTolerance(double tol){ fProflts->SetTolerance(tol); } | void SetTolerance(double tol){ fProflts->SetTolerance(tol); } | |||
void SetPrintLevel(Int_t printlevel){ fProflts->SetPrintLevel(printlev el); } | void SetPrintLevel(Int_t printlevel){ fProflts->SetPrintLevel(printlev el); } | |||
void SetLOffset(Bool_t flag=kTRUE) { fProflts->SetLOffset(flag) ; } | ||||
// Main interface to evaluate the test statistic on a dataset | // Main interface to evaluate the test statistic on a dataset | |||
virtual Double_t Evaluate(RooAbsData& data, RooArgSet& paramsOfInteres t) { | virtual Double_t Evaluate(RooAbsData& data, RooArgSet& paramsOfInteres t) { | |||
return fProflts->EvaluateProfileLikelihood(1, data, paramsOfInteres t); //find unconditional NLL minimum | return fProflts->EvaluateProfileLikelihood(1, data, paramsOfInterest ); //find unconditional NLL minimum | |||
} | } | |||
virtual void EnableDetailedOutput( bool e=true ) { fProflts->EnableDet ailedOutput(e); } | virtual void EnableDetailedOutput( bool e=true ) { fProflts->EnableDet ailedOutput(e); } | |||
virtual const RooArgSet* GetDetailedOutput(void) const { | virtual const RooArgSet* GetDetailedOutput(void) const { | |||
// Returns detailed output. The value returned by this function is updated after each call to Evaluate(). | // Returns detailed output. The value returned by this function is updated after each call to Evaluate(). | |||
// The returned RooArgSet contains the following: | // The returned RooArgSet contains the following: | |||
// <ul> | // <ul> | |||
// <li> the minimum nll, fitstatus and convergence quality for each fit </li> | // <li> the minimum nll, fitstatus and convergence quality for each fit </li> | |||
// <li> for all non-constant parameters their value, error and pull </li> | // <li> for all non-constant parameters their value, error and pull </li> | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 3 lines changed or added | |||
Minimizer.h | Minimizer.h | |||
---|---|---|---|---|
// @(#)root/mathcore:$Id: Minimizer.h 39382 2011-05-26 08:31:43Z moneta $ | // @(#)root/mathcore:$Id: Minimizer.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: L. Moneta Fri Sep 22 15:06:47 2006 | // Author: L. Moneta Fri Sep 22 15:06:47 2006 | |||
/********************************************************************** | /********************************************************************** | |||
* * | * * | |||
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * | * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * | |||
* * | * * | |||
* * | * * | |||
**********************************************************************/ | **********************************************************************/ | |||
// Header file for class Minimizer | // Header file for class Minimizer | |||
skipping to change at line 122 | skipping to change at line 122 | |||
/// set the function to minimize | /// set the function to minimize | |||
virtual void SetFunction(const ROOT::Math::IMultiGenFunction & func) = 0 ; | virtual void SetFunction(const ROOT::Math::IMultiGenFunction & func) = 0 ; | |||
/// set a function to minimize using gradient | /// set a function to minimize using gradient | |||
virtual void SetFunction(const ROOT::Math::IMultiGradFunction & func) | virtual void SetFunction(const ROOT::Math::IMultiGradFunction & func) | |||
{ | { | |||
SetFunction(static_cast<const ::ROOT::Math::IMultiGenFunction &> (fun c)); | SetFunction(static_cast<const ::ROOT::Math::IMultiGenFunction &> (fun c)); | |||
} | } | |||
/// add variables . Return number of variables succesfully added | /// add variables . Return number of variables successfully added | |||
template<class VariableIterator> | template<class VariableIterator> | |||
int SetVariables(const VariableIterator & begin, const VariableIterator & end) { | int SetVariables(const VariableIterator & begin, const VariableIterator & end) { | |||
unsigned int ivar = 0; | unsigned int ivar = 0; | |||
for ( VariableIterator vitr = begin; vitr != end; ++vitr) { | for ( VariableIterator vitr = begin; vitr != end; ++vitr) { | |||
bool iret = false; | bool iret = false; | |||
if (vitr->IsFixed() ) | if (vitr->IsFixed() ) | |||
iret = SetFixedVariable(ivar, vitr->Name(), vitr->Value() ); | iret = SetFixedVariable(ivar, vitr->Name(), vitr->Value() ); | |||
else if (vitr->IsDoubleBound() ) | else if (vitr->IsDoubleBound() ) | |||
iret = SetLimitedVariable(ivar, vitr->Name(), vitr->Value(), v itr->StepSize(), vitr->LowerLimit(), vitr->UpperLimit() ); | iret = SetLimitedVariable(ivar, vitr->Name(), vitr->Value(), v itr->StepSize(), vitr->LowerLimit(), vitr->UpperLimit() ); | |||
else if (vitr->HasLowerLimit() ) | else if (vitr->HasLowerLimit() ) | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
ModelConfig.h | ModelConfig.h | |||
---|---|---|---|---|
// @(#)root/roostats:$Id: ModelConfig.h 44922 2012-07-05 17:08:03Z moneta $ | // @(#)root/roostats:$Id: ModelConfig.h 48844 2013-03-07 11:12:12Z wouter $ | |||
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke, S ven Kreiss | // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke, S ven Kreiss | |||
/************************************************************************* | /************************************************************************* | |||
* 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 108 | skipping to change at line 108 | |||
} | } | |||
// Set the Prior Pdf, add to the the workspace if not already there | // Set the Prior Pdf, add to the the workspace if not already there | |||
virtual void SetPriorPdf(const RooAbsPdf& pdf) { | virtual void SetPriorPdf(const 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(const RooArgSet& set) { | virtual void SetParameters(const RooArgSet& set) { | |||
fPOIName=std::string(GetName()) + "_POI"; | if (!SetHasOnlyParameters(set,"ModelConfig::SetParameters")) return ; | |||
DefineSetInWS(fPOIName.c_str(), set); | fPOIName=std::string(GetName()) + "_POI"; | |||
DefineSetInWS(fPOIName.c_str(), set); | ||||
} | } | |||
virtual void SetParametersOfInterest(const RooArgSet& set) { | virtual void SetParametersOfInterest(const RooArgSet& set) { | |||
if (!SetHasOnlyParameters(set,"ModelConfig::SetParametersOfInterest")) return ; | ||||
SetParameters(set); | SetParameters(set); | |||
} | } | |||
// specify the parameters of interest | // specify the parameters of interest | |||
// through a list of comma-separated arguments already in the workspace | // through a list of comma-separated arguments already in the workspace | |||
virtual void SetParameters(const char *argList) { | virtual void SetParameters(const char *argList) { | |||
if(!GetWS()) return; | if(!GetWS()) return; | |||
SetParameters(GetWS()->argSet(argList)); | SetParameters(GetWS()->argSet(argList)); | |||
} | } | |||
virtual void SetParametersOfInterest(const char *argList) { | virtual void SetParametersOfInterest(const char *argList) { | |||
SetParameters(argList); | SetParameters(argList); | |||
} | } | |||
// specify the nuisance parameters (e.g. the rest of the parameters) | // specify the nuisance parameters (e.g. the rest of the parameters) | |||
virtual void SetNuisanceParameters(const RooArgSet& set) { | virtual void SetNuisanceParameters(const RooArgSet& set) { | |||
if (!SetHasOnlyParameters(set,"ModelConfig::SetNuisanceParameters")) r eturn ; | ||||
fNuisParamsName=std::string(GetName()) + "_NuisParams"; | fNuisParamsName=std::string(GetName()) + "_NuisParams"; | |||
DefineSetInWS(fNuisParamsName.c_str(), set); | DefineSetInWS(fNuisParamsName.c_str(), set); | |||
} | } | |||
// specify the nuisance parameters | // specify the nuisance parameters | |||
// through a list of comma-separated arguments already in the workspace | // through a list of comma-separated arguments already in the workspace | |||
virtual void SetNuisanceParameters(const char *argList) { | virtual void SetNuisanceParameters(const char *argList) { | |||
if(!GetWS()) return; | if(!GetWS()) return; | |||
SetNuisanceParameters(GetWS()->argSet(argList)); | SetNuisanceParameters(GetWS()->argSet(argList)); | |||
} | } | |||
// specify the constraint parameters | // specify the constraint parameters | |||
virtual void SetConstraintParameters(const RooArgSet& set) { | virtual void SetConstraintParameters(const RooArgSet& set) { | |||
if (!SetHasOnlyParameters(set,"ModelConfig::SetConstainedParameters")) return ; | ||||
fConstrParamsName=std::string(GetName()) + "_ConstrainedParams"; | fConstrParamsName=std::string(GetName()) + "_ConstrainedParams"; | |||
DefineSetInWS(fConstrParamsName.c_str(), set); | DefineSetInWS(fConstrParamsName.c_str(), set); | |||
} | } | |||
// specify the constraint parameters | // specify the constraint parameters | |||
// through a list of comma-separated arguments already in the workspace | // through a list of comma-separated arguments already in the workspace | |||
virtual void SetConstraintParameters(const char *argList) { | virtual void SetConstraintParameters(const char *argList) { | |||
if(!GetWS()) return; | if(!GetWS()) return; | |||
SetConstraintParameters(GetWS()->argSet(argList)); | SetConstraintParameters(GetWS()->argSet(argList)); | |||
} | } | |||
// specify the observables | // specify the observables | |||
virtual void SetObservables(const RooArgSet& set) { | virtual void SetObservables(const RooArgSet& set) { | |||
if (!SetHasOnlyParameters(set,"ModelConfig::SetObservables")) return ; | ||||
fObservablesName=std::string(GetName()) + "_Observables"; | fObservablesName=std::string(GetName()) + "_Observables"; | |||
DefineSetInWS(fObservablesName.c_str(), set); | DefineSetInWS(fObservablesName.c_str(), set); | |||
} | } | |||
// specify the observables | // specify the observables | |||
// through a list of comma-separated arguments already in the workspace | // through a list of comma-separated arguments already in the workspace | |||
virtual void SetObservables(const char *argList) { | virtual void SetObservables(const char *argList) { | |||
if(!GetWS()) return; | if(!GetWS()) return; | |||
SetObservables(GetWS()->argSet(argList)); | SetObservables(GetWS()->argSet(argList)); | |||
} | } | |||
// specify the conditional observables | // specify the conditional observables | |||
virtual void SetConditionalObservables(const RooArgSet& set) { | virtual void SetConditionalObservables(const RooArgSet& set) { | |||
if (!SetHasOnlyParameters(set,"ModelConfig::SetConditionalObservables" )) return ; | ||||
fConditionalObsName=std::string(GetName()) + "_ConditionalObservables "; | fConditionalObsName=std::string(GetName()) + "_ConditionalObservables "; | |||
DefineSetInWS(fConditionalObsName.c_str(), set); | DefineSetInWS(fConditionalObsName.c_str(), set); | |||
} | } | |||
// specify the conditional observables | // specify the conditional observables | |||
// through a list of comma-separated arguments already in the workspace | // through a list of comma-separated arguments already in the workspace | |||
virtual void SetConditionalObservables(const char *argList) { | virtual void SetConditionalObservables(const char *argList) { | |||
if(!GetWS()) return; | if(!GetWS()) return; | |||
SetConditionalObservables(GetWS()->argSet(argList)); | SetConditionalObservables(GetWS()->argSet(argList)); | |||
} | } | |||
// specify the global observables | // specify the global observables | |||
virtual void SetGlobalObservables(const RooArgSet& set) { | virtual void SetGlobalObservables(const RooArgSet& set) { | |||
if (!SetHasOnlyParameters(set,"ModelConfig::SetGlobalObservables")) re | ||||
turn ; | ||||
// make global observables constant | // make global observables constant | |||
RooFIter iter = set.fwdIterator(); | RooFIter iter = set.fwdIterator(); | |||
RooAbsArg *arg = iter.next(); | RooAbsArg *arg = iter.next(); | |||
while(arg != NULL) { | while(arg != NULL) { | |||
arg->setAttribute("Constant", kTRUE); | arg->setAttribute("Constant", kTRUE); | |||
arg = iter.next(); | arg = iter.next(); | |||
} | } | |||
fGlobalObsName=std::string(GetName()) + "_GlobalObservables"; | fGlobalObsName=std::string(GetName()) + "_GlobalObservables"; | |||
DefineSetInWS(fGlobalObsName.c_str(), set); | DefineSetInWS(fGlobalObsName.c_str(), set); | |||
skipping to change at line 272 | skipping to change at line 281 | |||
/// alias for GetWS() | /// alias for GetWS() | |||
RooWorkspace * GetWorkspace() const { return GetWS(); } | RooWorkspace * GetWorkspace() const { return GetWS(); } | |||
/// guesses Observables and ParametersOfInterest if not already set | /// guesses Observables and ParametersOfInterest if not already set | |||
void GuessObsAndNuisance(const RooAbsData& data); | void GuessObsAndNuisance(const RooAbsData& data); | |||
// overload the print method | // overload the print method | |||
virtual void Print(Option_t* option = "") const; | virtual void Print(Option_t* option = "") const; | |||
protected: | protected: | |||
// helper function to check that content of a given set is exclusively p | ||||
arameters | ||||
Bool_t SetHasOnlyParameters(const RooArgSet& set, const char* errorMsgPr | ||||
efix=0) ; | ||||
// helper functions to define a set in the WS | // helper functions to define a set in the WS | |||
void DefineSetInWS(const char* name, const RooArgSet& set); | void DefineSetInWS(const char* name, const RooArgSet& set); | |||
// internal function to import Pdf in WS | // internal function to import Pdf in WS | |||
void ImportPdfInWS(const RooAbsPdf & pdf); | void ImportPdfInWS(const RooAbsPdf & pdf); | |||
// internal function to import data in WS | // internal function to import data in WS | |||
void ImportDataInWS(RooAbsData & data); | void ImportDataInWS(RooAbsData & data); | |||
TRef fRefWS; // WS reference used in the file | TRef fRefWS; // WS reference used in the file | |||
End of changes. 10 change blocks. | ||||
3 lines changed or deleted | 19 lines changed or added | |||
ProfileLikelihoodTestStat.h | ProfileLikelihoodTestStat.h | |||
---|---|---|---|---|
// @(#)root/roostats:$Id: ProfileLikelihoodTestStat.h 46082 2012-09-20 13:5 5:31Z moneta $ | // @(#)root/roostats:$Id: ProfileLikelihoodTestStat.h 49272 2013-04-18 19:1 0:58Z wouter $ | |||
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke | // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke | |||
// Additional Contributions: Giovanni Petrucciani | // Additional Contributions: Giovanni Petrucciani | |||
/************************************************************************* | /************************************************************************* | |||
* 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 70 | skipping to change at line 70 | |||
// Proof constructor. Do not use. | // Proof constructor. Do not use. | |||
fPdf = 0; | fPdf = 0; | |||
fNll = 0; | fNll = 0; | |||
fCachedBestFitParams = 0; | fCachedBestFitParams = 0; | |||
fLastData = 0; | fLastData = 0; | |||
fLimitType = twoSided; | fLimitType = twoSided; | |||
fSigned = false; | fSigned = false; | |||
fDetailedOutputWithErrorsAndPulls = false; | fDetailedOutputWithErrorsAndPulls = false; | |||
fDetailedOutputEnabled = false; | fDetailedOutputEnabled = false; | |||
fDetailedOutput = NULL; | fDetailedOutput = NULL; | |||
fLOffset = kFALSE ; | ||||
fVarName = "Profile Likelihood Ratio"; | fVarName = "Profile Likelihood Ratio"; | |||
fReuseNll = false; | fReuseNll = false; | |||
fMinimizer=::ROOT::Math::MinimizerOptions::DefaultMinimizerType().c_ str(); | fMinimizer=::ROOT::Math::MinimizerOptions::DefaultMinimizerType().c_ str(); | |||
fStrategy=::ROOT::Math::MinimizerOptions::DefaultStrategy(); | fStrategy=::ROOT::Math::MinimizerOptions::DefaultStrategy(); | |||
fTolerance=TMath::Max(1.,::ROOT::Math::MinimizerOptions::DefaultTol erance()); | fTolerance=TMath::Max(1.,::ROOT::Math::MinimizerOptions::DefaultTol erance()); | |||
fPrintLevel=::ROOT::Math::MinimizerOptions::DefaultPrintLevel(); | fPrintLevel=::ROOT::Math::MinimizerOptions::DefaultPrintLevel(); | |||
} | } | |||
ProfileLikelihoodTestStat(RooAbsPdf& pdf) { | ProfileLikelihoodTestStat(RooAbsPdf& pdf) { | |||
fPdf = &pdf; | fPdf = &pdf; | |||
fNll = 0; | fNll = 0; | |||
fCachedBestFitParams = 0; | fCachedBestFitParams = 0; | |||
fLastData = 0; | fLastData = 0; | |||
fLimitType = twoSided; | fLimitType = twoSided; | |||
fSigned = false; | fSigned = false; | |||
fDetailedOutputWithErrorsAndPulls = false; | fDetailedOutputWithErrorsAndPulls = false; | |||
fDetailedOutputEnabled = false; | fDetailedOutputEnabled = false; | |||
fDetailedOutput = NULL; | fDetailedOutput = NULL; | |||
fLOffset = kFALSE ; | ||||
fVarName = "Profile Likelihood Ratio"; | fVarName = "Profile Likelihood Ratio"; | |||
fReuseNll = false; | fReuseNll = false; | |||
fMinimizer=::ROOT::Math::MinimizerOptions::DefaultMinimizerType().c_ str(); | fMinimizer=::ROOT::Math::MinimizerOptions::DefaultMinimizerType().c_ str(); | |||
fStrategy=::ROOT::Math::MinimizerOptions::DefaultStrategy(); | fStrategy=::ROOT::Math::MinimizerOptions::DefaultStrategy(); | |||
// avoid default tolerance to be too small (1. is default in RooMini mizer) | // avoid default tolerance to be too small (1. is default in RooMini mizer) | |||
fTolerance=TMath::Max(1.,::ROOT::Math::MinimizerOptions::DefaultTole rance()); | fTolerance=TMath::Max(1.,::ROOT::Math::MinimizerOptions::DefaultTole rance()); | |||
fPrintLevel=::ROOT::Math::MinimizerOptions::DefaultPrintLevel(); | fPrintLevel=::ROOT::Math::MinimizerOptions::DefaultPrintLevel(); | |||
} | } | |||
virtual ~ProfileLikelihoodTestStat() { | virtual ~ProfileLikelihoodTestStat() { | |||
skipping to change at line 117 | skipping to change at line 119 | |||
void SetOneSidedDiscovery(Bool_t flag=true) {fLimitType = (flag ? oneS idedDiscovery : twoSided);} | void SetOneSidedDiscovery(Bool_t flag=true) {fLimitType = (flag ? oneS idedDiscovery : twoSided);} | |||
void SetSigned(Bool_t flag=true) {fSigned = flag;} // +/- t_mu instea d of t_mu>0 with one-sided settings | void SetSigned(Bool_t flag=true) {fSigned = flag;} // +/- t_mu instea d of t_mu>0 with one-sided settings | |||
//void SetOneSidedDiscovery(Bool_t flag=true) {fOneSidedDiscovery = fl ag;} | //void SetOneSidedDiscovery(Bool_t flag=true) {fOneSidedDiscovery = fl ag;} | |||
bool IsTwoSided() const { return fLimitType == twoSided; } | bool IsTwoSided() const { return fLimitType == twoSided; } | |||
bool IsOneSidedDiscovery() const { return fLimitType == oneSidedDiscov ery; } | bool IsOneSidedDiscovery() const { return fLimitType == oneSidedDiscov ery; } | |||
static void SetAlwaysReuseNLL(Bool_t flag); | static void SetAlwaysReuseNLL(Bool_t flag); | |||
void SetReuseNLL(Bool_t flag) { fReuseNll = flag ; } | void SetReuseNLL(Bool_t flag) { fReuseNll = flag ; } | |||
void SetLOffset(Bool_t flag=kTRUE) { fLOffset = flag ; } | ||||
void SetMinimizer(const char* minimizer){ fMinimizer=minimizer;} | void SetMinimizer(const char* minimizer){ fMinimizer=minimizer;} | |||
void SetStrategy(Int_t strategy){fStrategy=strategy;} | void SetStrategy(Int_t strategy){fStrategy=strategy;} | |||
void SetTolerance(double tol){fTolerance=tol;} | void SetTolerance(double tol){fTolerance=tol;} | |||
void SetPrintLevel(Int_t printlevel){fPrintLevel=printlevel;} | void SetPrintLevel(Int_t printlevel){fPrintLevel=printlevel;} | |||
// Main interface to evaluate the test statistic on a dataset | // Main interface to evaluate the test statistic on a dataset | |||
virtual Double_t Evaluate(RooAbsData& data, RooArgSet& paramsOfInteres t) { | virtual Double_t Evaluate(RooAbsData& data, RooArgSet& paramsOfInteres t) { | |||
return EvaluateProfileLikelihood(0, data, paramsOfInterest); | return EvaluateProfileLikelihood(0, data, paramsOfInterest); | |||
} | } | |||
skipping to change at line 187 | skipping to change at line 190 | |||
RooArgSet fConditionalObs; // conditional observables | RooArgSet fConditionalObs; // conditional observables | |||
TString fVarName; | TString fVarName; | |||
static Bool_t fgAlwaysReuseNll ; | static Bool_t fgAlwaysReuseNll ; | |||
Bool_t fReuseNll ; | Bool_t fReuseNll ; | |||
TString fMinimizer; | TString fMinimizer; | |||
Int_t fStrategy; | Int_t fStrategy; | |||
Double_t fTolerance; | Double_t fTolerance; | |||
Int_t fPrintLevel; | Int_t fPrintLevel; | |||
Bool_t fLOffset ; | ||||
protected: | protected: | |||
ClassDef(ProfileLikelihoodTestStat,8) // implements the profile lik elihood ratio as a test statistic to be used with several tools | ClassDef(ProfileLikelihoodTestStat,9) // implements the profile lik elihood ratio as a test statistic to be used with several tools | |||
}; | }; | |||
} | } | |||
#endif | #endif | |||
End of changes. 6 change blocks. | ||||
2 lines changed or deleted | 6 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.34/05" | #define ROOT_RELEASE "5.34/06" | |||
#define ROOT_RELEASE_DATE "Feb 14 2013" | #define ROOT_RELEASE_DATE "Apr 19 2013" | |||
#define ROOT_RELEASE_TIME "22:45:52" | #define ROOT_RELEASE_TIME "12:41:19" | |||
#define ROOT_SVN_REVISION 48568 | #define ROOT_SVN_REVISION 49274 | |||
#define ROOT_SVN_BRANCH "branches/v5-34-00-patches" | #define ROOT_SVN_BRANCH "branches/v5-34-00-patches" | |||
#define ROOT_VERSION_CODE 336389 | #define ROOT_VERSION_CODE 336390 | |||
#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 | |||
RegressionVariance.h | RegressionVariance.h | |||
---|---|---|---|---|
// @(#)root/tmva $Id: RegressionVariance.h 40005 2011-06-27 15:29:10Z stelz er $ | // @(#)root/tmva $Id: RegressionVariance.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss | // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai 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 : RegressionVariance * | * Class : RegressionVariance * | |||
* Web : http://tmva.sourceforge.net * | * Web : http://tmva.sourceforge.net * | |||
* * | * * | |||
* Description: Calculate the separation critiera useded in regression * | * Description: Calculate the separation critiera useded in regression * | |||
* * | * * | |||
skipping to change at line 83 | skipping to change at line 83 | |||
//default constructor | //default constructor | |||
RegressionVariance(){fName = "Variance for Regression";} | RegressionVariance(){fName = "Variance for Regression";} | |||
//copy constructor | //copy constructor | |||
RegressionVariance( const RegressionVariance& s ): fName ( s.fName ) {} | RegressionVariance( const RegressionVariance& s ): fName ( s.fName ) {} | |||
// destructor | // destructor | |||
virtual ~RegressionVariance(){} | virtual ~RegressionVariance(){} | |||
// Return the gain in separation of the original sample is splitted i n two sub-samples | // Return the gain in separation of the original sample is split in t wo sub-samples | |||
// (N * Index_parent) - (N_left * Index_left) - (N_right * Index_righ t) | // (N * Index_parent) - (N_left * Index_left) - (N_right * Index_righ t) | |||
Double_t GetSeparationGain( const Double_t &nLeft, const Double_t &ta rgetLeft, const Double_t &target2Left, | Double_t GetSeparationGain( const Double_t &nLeft, const Double_t &ta rgetLeft, const Double_t &target2Left, | |||
const Double_t &nTot, const Double_t &tar getTot, const Double_t &target2Tot ); | const Double_t &nTot, const Double_t &tar getTot, const Double_t &target2Tot ); | |||
// Return the separation index (a measure for "purity" of the sample" ) | // Return the separation index (a measure for "purity" of the sample" ) | |||
virtual Double_t GetSeparationIndex( const Double_t &n, const Double_ t &target, const Double_t &target2 ); | virtual Double_t GetSeparationIndex( const Double_t &n, const Double_ t &target, const Double_t &target2 ); | |||
// Return the name of the concrete Index implementation | // Return the name of the concrete Index implementation | |||
TString GetName() { return fName; } | TString GetName() { return fName; } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
RooAbsArg.h | RooAbsArg.h | |||
---|---|---|---|---|
skipping to change at line 53 | skipping to change at line 53 | |||
class RooAbsDataStore ; | class RooAbsDataStore ; | |||
class RooAbsProxy ; | class RooAbsProxy ; | |||
class RooArgProxy ; | class RooArgProxy ; | |||
class RooSetProxy ; | class RooSetProxy ; | |||
class RooListProxy ; | class RooListProxy ; | |||
class RooExpensiveObjectCache ; | class RooExpensiveObjectCache ; | |||
class RooWorkspace ; | class RooWorkspace ; | |||
class RooRealProxy ; | class RooRealProxy ; | |||
/* class TGraphStruct ; */ | /* class TGraphStruct ; */ | |||
class RooRefArray : public TObjArray { | ||||
public: | ||||
RooRefArray() : TObjArray() { | ||||
} ; | ||||
RooRefArray(const RooRefArray& other) : TObjArray(other) { | ||||
} | ||||
virtual ~RooRefArray() {} ; | ||||
protected: | ||||
ClassDef(RooRefArray,1) // Helper class for proxy lists | ||||
} ; | ||||
class RooAbsArg : public TNamed, public RooPrintable { | class RooAbsArg : public TNamed, public RooPrintable { | |||
public: | public: | |||
// Constructors, cloning and assignment | // Constructors, cloning and assignment | |||
RooAbsArg() ; | RooAbsArg() ; | |||
virtual ~RooAbsArg(); | virtual ~RooAbsArg(); | |||
RooAbsArg(const char *name, const char *title); | RooAbsArg(const char *name, const char *title); | |||
RooAbsArg(const RooAbsArg& other, const char* name=0) ; | RooAbsArg(const RooAbsArg& other, const char* name=0) ; | |||
virtual TObject* clone(const char* newname) const = 0 ; | virtual TObject* clone(const char* newname) const = 0 ; | |||
virtual TObject* Clone(const char* newname=0) const { | virtual TObject* Clone(const char* newname=0) const { | |||
skipping to change at line 253 | skipping to change at line 264 | |||
// Accessors to transient attributes | // Accessors to transient attributes | |||
void setTransientAttribute(const Text_t* name, Bool_t value=kTRUE) ; | void setTransientAttribute(const Text_t* name, Bool_t value=kTRUE) ; | |||
Bool_t getTransientAttribute(const Text_t* name) const ; | Bool_t getTransientAttribute(const Text_t* name) const ; | |||
inline const std::set<std::string>& transientAttributes() const { | inline const std::set<std::string>& transientAttributes() const { | |||
// Return set of transient boolean attributes | // Return set of transient boolean attributes | |||
return _boolAttribTransient ; | return _boolAttribTransient ; | |||
} | } | |||
inline Bool_t isConstant() const { | inline Bool_t isConstant() const { | |||
// Returns true if 'Constant' attribute is set | // Returns true if 'Constant' attribute is set | |||
return getAttribute("Constant") ; | return _isConstant ; //getAttribute("Constant") ; | |||
} | } | |||
RooLinkedList getCloningAncestors() const ; | RooLinkedList getCloningAncestors() const ; | |||
// Sorting | // Sorting | |||
Int_t Compare(const TObject* other) const ; | Int_t Compare(const TObject* other) const ; | |||
virtual Bool_t IsSortable() const { | virtual Bool_t IsSortable() const { | |||
// Object is sortable in ROOT container class | // Object is sortable in ROOT container class | |||
return kTRUE ; | return kTRUE ; | |||
} | } | |||
//Debug hooks | //Debug hooks | |||
static void verboseDirty(Bool_t flag) ; | static void verboseDirty(Bool_t flag) ; | |||
void printDirty(Bool_t depth=kTRUE) const ; | void printDirty(Bool_t depth=kTRUE) const ; | |||
static void setDirtyInhibit(Bool_t flag) ; | static void setDirtyInhibit(Bool_t flag) ; | |||
virtual Bool_t operator==(const RooAbsArg& other) = 0 ; | virtual Bool_t operator==(const RooAbsArg& other) = 0 ; | |||
virtual Bool_t isIdentical(const RooAbsArg& other, Bool_t assumeSameType= kFALSE) = 0 ; | ||||
// Range management | // Range management | |||
virtual Bool_t inRange(const char*) const { | virtual Bool_t inRange(const char*) const { | |||
// Is value in range (dummy interface always returns true) | // Is value in range (dummy interface always returns true) | |||
return kTRUE ; | return kTRUE ; | |||
} | } | |||
virtual Bool_t hasRange(const char*) const { | virtual Bool_t hasRange(const char*) const { | |||
// Has this argument a defined range (dummy interface always returns fl ase) | // Has this argument a defined range (dummy interface always returns fl ase) | |||
return kFALSE ; | return kFALSE ; | |||
} | } | |||
skipping to change at line 444 | skipping to change at line 456 | |||
// Client-Server relatation and Proxy management | // Client-Server relatation and Proxy management | |||
friend class RooArgSet ; | friend class RooArgSet ; | |||
friend class RooAbsCollection ; | friend class RooAbsCollection ; | |||
friend class RooCustomizer ; | friend class RooCustomizer ; | |||
friend class RooWorkspace ; | friend class RooWorkspace ; | |||
RooRefCountList _serverList ; // list of server objects | RooRefCountList _serverList ; // list of server objects | |||
RooRefCountList _clientList ; // list of client objects | RooRefCountList _clientList ; // list of client objects | |||
RooRefCountList _clientListShape ; // subset of clients that requested s hape dirty flag propagation | RooRefCountList _clientListShape ; // subset of clients that requested s hape dirty flag propagation | |||
RooRefCountList _clientListValue ; // subset of clients that requested v alue dirty flag propagation | RooRefCountList _clientListValue ; // subset of clients that requested v alue dirty flag propagation | |||
TRefArray _proxyList ; // list of proxies | RooRefArray _proxyList ; // list of proxies | |||
std::deque<RooAbsCache*> _cacheList ; // list of caches | std::deque<RooAbsCache*> _cacheList ; // list of caches | |||
TIterator* _clientShapeIter ; //! Iterator over _clientListShape | TIterator* _clientShapeIter ; //! Iterator over _clientListShape | |||
TIterator* _clientValueIter ; //! Iterator over _clientListValue | TIterator* _clientValueIter ; //! Iterator over _clientListValue | |||
// Server redirection interface | // Server redirection interface | |||
public: | public: | |||
Bool_t redirectServers(const RooAbsCollection& newServerList, Bool_t must ReplaceAll=kFALSE, Bool_t nameChange=kFALSE, Bool_t isRecursionStep=kFALSE) ; | Bool_t redirectServers(const RooAbsCollection& newServerList, Bool_t must ReplaceAll=kFALSE, Bool_t nameChange=kFALSE, Bool_t isRecursionStep=kFALSE) ; | |||
Bool_t recursiveRedirectServers(const RooAbsCollection& newServerList, Bo ol_t mustReplaceAll=kFALSE, Bool_t nameChange=kFALSE, Bool_t recurseInNewSe t=kTRUE) ; | Bool_t recursiveRedirectServers(const RooAbsCollection& newServerList, Bo ol_t mustReplaceAll=kFALSE, Bool_t nameChange=kFALSE, Bool_t recurseInNewSe t=kTRUE) ; | |||
virtual Bool_t redirectServersHook(const RooAbsCollection& /*newServerLis t*/, Bool_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive */) { return kFALSE ; } ; | virtual Bool_t redirectServersHook(const RooAbsCollection& /*newServerLis t*/, Bool_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive */) { return kFALSE ; } ; | |||
virtual void serverNameChangeHook(const RooAbsArg* /*oldServer*/, const R ooAbsArg* /*newServer*/) { } ; | virtual void serverNameChangeHook(const RooAbsArg* /*oldServer*/, const R ooAbsArg* /*newServer*/) { } ; | |||
skipping to change at line 542 | skipping to change at line 554 | |||
mutable Bool_t _fast ; // Allow fast access mode in getVal() and proxies | mutable Bool_t _fast ; // Allow fast access mode in getVal() and proxies | |||
// Owned components | // Owned components | |||
RooArgSet* _ownedComponents ; //! Set of owned component | RooArgSet* _ownedComponents ; //! Set of owned component | |||
mutable Bool_t _prohibitServerRedirect ; //! Prohibit server redirects -- Debugging tool | mutable Bool_t _prohibitServerRedirect ; //! Prohibit server redirects -- Debugging tool | |||
mutable RooExpensiveObjectCache* _eocache ; // Pointer to global cache ma nager for any expensive components created by this object | mutable RooExpensiveObjectCache* _eocache ; // Pointer to global cache ma nager for any expensive components created by this object | |||
mutable TNamed* _namePtr ; //! Do not persist. Pointer to global instance of string that matches object named | mutable TNamed* _namePtr ; //! Do not persist. Pointer to global instance of string that matches object named | |||
Bool_t _isConstant ; //! Cached isConstant status | ||||
public: | ||||
virtual void ioStreamerPass2() ; | ||||
static void ioStreamerPass2Finalize() ; | ||||
static std::map<RooAbsArg*,TRefArray*> _ioEvoList ; // temporary holding | ||||
list for proxies needed in schema evolution | ||||
ClassDef(RooAbsArg,5) // Abstract variable | ClassDef(RooAbsArg,6) // Abstract variable | |||
}; | }; | |||
std::ostream& operator<<(std::ostream& os, const RooAbsArg &arg); | std::ostream& operator<<(std::ostream& os, const RooAbsArg &arg); | |||
std::istream& operator>>(std::istream& is, RooAbsArg &arg) ; | std::istream& operator>>(std::istream& is, RooAbsArg &arg) ; | |||
#endif | #endif | |||
End of changes. 6 change blocks. | ||||
3 lines changed or deleted | 22 lines changed or added | |||
RooAbsCategory.h | RooAbsCategory.h | |||
---|---|---|---|---|
skipping to change at line 51 | skipping to change at line 51 | |||
// Value accessors | // Value accessors | |||
virtual Int_t getIndex() const ; | virtual Int_t getIndex() const ; | |||
virtual const char* getLabel() const ; | virtual const char* getLabel() const ; | |||
Bool_t operator==(Int_t index) const ; | Bool_t operator==(Int_t index) const ; | |||
Bool_t operator!=(Int_t index) { return !operator==(index);} | Bool_t operator!=(Int_t index) { return !operator==(index);} | |||
Bool_t operator==(const char* label) const ; | Bool_t operator==(const char* label) const ; | |||
Bool_t operator!=(const char* label) { return !operator==(label);} | Bool_t operator!=(const char* label) { return !operator==(label);} | |||
virtual Bool_t operator==(const RooAbsArg& other) ; | virtual Bool_t operator==(const RooAbsArg& other) ; | |||
Bool_t operator!=(const RooAbsArg& other) { return !operator==(ot her);} | Bool_t operator!=(const RooAbsArg& other) { return !operator==(ot her);} | |||
virtual Bool_t isIdentical(const RooAbsArg& other, Bool_t assumeSameType= kFALSE) ; | ||||
Bool_t isValidIndex(Int_t index) const ; | Bool_t isValidIndex(Int_t index) const ; | |||
Bool_t isValidLabel(const char* label) const ; | Bool_t isValidLabel(const char* label) const ; | |||
const RooCatType* lookupType(Int_t index, Bool_t printError=kFALSE) const ; | const RooCatType* lookupType(Int_t index, Bool_t printError=kFALSE) const ; | |||
const RooCatType* lookupType(const char* label, Bool_t printError=kFALSE) const ; | const RooCatType* lookupType(const char* label, Bool_t printError=kFALSE) const ; | |||
const RooCatType* lookupType(const RooCatType& type, Bool_t printError=kF ALSE) const ; | const RooCatType* lookupType(const RooCatType& type, Bool_t printError=kF ALSE) const ; | |||
TIterator* typeIterator() const ; | TIterator* typeIterator() const ; | |||
Int_t numTypes(const char* /*rangeName*/=0) const { | Int_t numTypes(const char* /*rangeName*/=0) const { | |||
// Return number of types defined (in range named rangeName if rangeNam e!=0) | // Return number of types defined (in range named rangeName if rangeNam e!=0) | |||
return _types.GetEntries() ; | return _types.GetEntries() ; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
RooAbsOptTestStatistic.h | RooAbsOptTestStatistic.h | |||
---|---|---|---|---|
skipping to change at line 36 | skipping to change at line 36 | |||
class RooAbsData ; | class RooAbsData ; | |||
class RooAbsReal ; | class RooAbsReal ; | |||
class RooAbsOptTestStatistic : public RooAbsTestStatistic { | class RooAbsOptTestStatistic : public RooAbsTestStatistic { | |||
public: | public: | |||
// Constructors, assignment etc | // Constructors, assignment etc | |||
RooAbsOptTestStatistic() ; | RooAbsOptTestStatistic() ; | |||
RooAbsOptTestStatistic(const char *name, const char *title, RooAbsReal& r eal, RooAbsData& data, | RooAbsOptTestStatistic(const char *name, const char *title, RooAbsReal& r eal, RooAbsData& data, | |||
const RooArgSet& projDeps, const char* rangeName=0, const char* addCoefRangeName=0, | const RooArgSet& projDeps, const char* rangeName=0, const char* addCoefRangeName=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE, Bool_t verb ose=kTRUE, Bool_t splitCutRange=kFALSE, | Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::Bu lkPartition, Bool_t verbose=kTRUE, Bool_t splitCutRange=kFALSE, | |||
Bool_t cloneInputData=kTRUE) ; | Bool_t cloneInputData=kTRUE) ; | |||
RooAbsOptTestStatistic(const RooAbsOptTestStatistic& other, const char* n ame=0); | RooAbsOptTestStatistic(const RooAbsOptTestStatistic& other, const char* n ame=0); | |||
virtual ~RooAbsOptTestStatistic(); | virtual ~RooAbsOptTestStatistic(); | |||
virtual Double_t combinedValue(RooAbsReal** gofArray, Int_t nVal) const ; | virtual Double_t combinedValue(RooAbsReal** gofArray, Int_t nVal) const ; | |||
RooAbsReal& function() { return *_funcClone ; } | RooAbsReal& function() { return *_funcClone ; } | |||
const RooAbsReal& function() const { return *_funcClone ; } | const RooAbsReal& function() const { return *_funcClone ; } | |||
RooAbsData& data() ; | RooAbsData& data() ; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
RooAbsReal.h | RooAbsReal.h | |||
---|---|---|---|---|
skipping to change at line 80 | skipping to change at line 80 | |||
#endif | #endif | |||
} | } | |||
inline Double_t getVal(const RooArgSet& set) const { return _fast ? _val ue : getValV(&set) ; } | inline Double_t getVal(const RooArgSet& set) const { return _fast ? _val ue : getValV(&set) ; } | |||
virtual Double_t getValV(const RooArgSet* set=0) const ; | virtual Double_t getValV(const RooArgSet* set=0) const ; | |||
Double_t getPropagatedError(const RooFitResult& fr) ; | Double_t getPropagatedError(const RooFitResult& fr) ; | |||
Bool_t operator==(Double_t value) const ; | Bool_t operator==(Double_t value) const ; | |||
virtual Bool_t operator==(const RooAbsArg& other) ; | virtual Bool_t operator==(const RooAbsArg& other) ; | |||
virtual Bool_t isIdentical(const RooAbsArg& other, Bool_t assumeSameType= | ||||
kFALSE) ; | ||||
inline const Text_t *getUnit() const { | inline const Text_t *getUnit() const { | |||
// Return string with unit description | // Return string with unit description | |||
return _unit.Data(); | return _unit.Data(); | |||
} | } | |||
inline void setUnit(const char *unit) { | inline void setUnit(const char *unit) { | |||
// Set unit description to given string | // Set unit description to given string | |||
_unit= unit; | _unit= unit; | |||
} | } | |||
TString getTitle(Bool_t appendUnit= kFALSE) const; | TString getTitle(Bool_t appendUnit= kFALSE) const; | |||
skipping to change at line 111 | skipping to change at line 113 | |||
virtual Bool_t forceAnalyticalInt(const RooAbsArg& /*dep*/) const { | virtual Bool_t forceAnalyticalInt(const RooAbsArg& /*dep*/) const { | |||
// Interface to force RooRealIntegral to offer given observable for int ernal integration | // Interface to force RooRealIntegral to offer given observable for int ernal integration | |||
// even if this is deemed unsafe. This default implementation returns a lways flase | // even if this is deemed unsafe. This default implementation returns a lways flase | |||
return kFALSE ; | return kFALSE ; | |||
} | } | |||
virtual void forceNumInt(Bool_t flag=kTRUE) { | virtual void forceNumInt(Bool_t flag=kTRUE) { | |||
// If flag is true, all advertised analytical integrals will be ignored | // If flag is true, all advertised analytical integrals will be ignored | |||
// and all integrals are calculated numerically | // and all integrals are calculated numerically | |||
_forceNumInt = flag ; | _forceNumInt = flag ; | |||
} | } | |||
Bool_t getForceNumInt() const { return _forceNumInt ; } | ||||
// Chi^2 fits to histograms | // Chi^2 fits to histograms | |||
virtual RooFitResult* chi2FitTo(RooDataHist& data, const RooCmdArg& arg1= RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(), | virtual RooFitResult* chi2FitTo(RooDataHist& data, const RooCmdArg& arg1= RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(), | |||
const RooCmdArg& arg3=RooCmdArg::none(), con st RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::none (), | const RooCmdArg& arg3=RooCmdArg::none(), con st RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::none (), | |||
const RooCmdArg& arg6=RooCmdArg::none(), con st RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none ()) ; | const RooCmdArg& arg6=RooCmdArg::none(), con st RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none ()) ; | |||
virtual RooFitResult* chi2FitTo(RooDataHist& data, const RooLinkedList& c mdList) ; | virtual RooFitResult* chi2FitTo(RooDataHist& data, const RooLinkedList& c mdList) ; | |||
virtual RooAbsReal* createChi2(RooDataHist& data, const RooLinkedList& cm dList) ; | virtual RooAbsReal* createChi2(RooDataHist& data, const RooLinkedList& cm dList) ; | |||
virtual RooAbsReal* createChi2(RooDataHist& data, const RooCmdArg& arg1=R ooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(), | virtual RooAbsReal* createChi2(RooDataHist& data, const RooCmdArg& arg1=R ooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(), | |||
const RooCmdArg& arg3=RooCmdArg::none(), c onst RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::no ne(), | const RooCmdArg& arg3=RooCmdArg::none(), c onst RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::no ne(), | |||
skipping to change at line 383 | skipping to change at line 386 | |||
Double_t _plotMin ; // Minimum of plot range | Double_t _plotMin ; // Minimum of plot range | |||
Double_t _plotMax ; // Maximum of plot range | Double_t _plotMax ; // Maximum of plot range | |||
Int_t _plotBins ; // Number of plot bins | Int_t _plotBins ; // Number of plot bins | |||
mutable Double_t _value ; // Cache for current value of object | mutable Double_t _value ; // Cache for current value of object | |||
TString _unit ; // Unit for objects value | TString _unit ; // Unit for objects value | |||
TString _label ; // Plot label for objects value | TString _label ; // Plot label for objects value | |||
Bool_t _forceNumInt ; // Force numerical integration if flag set | Bool_t _forceNumInt ; // Force numerical integration if flag set | |||
mutable Float_t _floatValue ; //! Transient cache for floating point valu es from tree branches | mutable Float_t _floatValue ; //! Transient cache for floating point valu es from tree branches | |||
mutable Int_t _intValue ; //! Transient cache for integer values from tree branches | mutable Int_t _intValue ; //! Transient cache for integer values from tree branches | |||
mutable Bool_t _boolValue ; //! Transient cache for bool values from tr ee branches | ||||
mutable UChar_t _byteValue ; //! Transient cache for byte values from tr ee branches | mutable UChar_t _byteValue ; //! Transient cache for byte values from tr ee branches | |||
mutable Char_t _sbyteValue ; //! Transient cache for signed byte values from tree branches | mutable Char_t _sbyteValue ; //! Transient cache for signed byte values from tree branches | |||
mutable UInt_t _uintValue ; //! Transient cache for unsigned integer va lues from tree branches | mutable UInt_t _uintValue ; //! Transient cache for unsigned integer va lues from tree branches | |||
friend class RooAbsPdf ; | friend class RooAbsPdf ; | |||
friend class RooAbsAnaConvPdf ; | friend class RooAbsAnaConvPdf ; | |||
friend class RooRealProxy ; | friend class RooRealProxy ; | |||
RooNumIntConfig* _specIntegratorConfig ; // Numeric integrator configurat ion specific for this object | RooNumIntConfig* _specIntegratorConfig ; // Numeric integrator configurat ion specific for this object | |||
skipping to change at line 404 | skipping to change at line 408 | |||
static Bool_t _cacheCheck ; // If true, always validate contents of clean which outcome of evaluate() | static Bool_t _cacheCheck ; // If true, always validate contents of clean which outcome of evaluate() | |||
friend class RooDataProjBinding ; | friend class RooDataProjBinding ; | |||
friend class RooAbsOptGoodnessOfFit ; | friend class RooAbsOptGoodnessOfFit ; | |||
struct PlotOpt { | struct PlotOpt { | |||
PlotOpt() : drawOptions("L"), scaleFactor(1.0), stype(Relative), projDat a(0), binProjData(kFALSE), projSet(0), precision(1e-3), | PlotOpt() : drawOptions("L"), scaleFactor(1.0), stype(Relative), projDat a(0), binProjData(kFALSE), projSet(0), precision(1e-3), | |||
shiftToZero(kFALSE),projDataSet(0),normRangeName(0),rangeLo( 0),rangeHi(0),postRangeFracScale(kFALSE),wmode(RooCurve::Extended), | shiftToZero(kFALSE),projDataSet(0),normRangeName(0),rangeLo( 0),rangeHi(0),postRangeFracScale(kFALSE),wmode(RooCurve::Extended), | |||
projectionRangeName(0),curveInvisible(kFALSE), curveName(0), addToCurveName(0),addToWgtSelf(1.),addToWgtOther(1.), | projectionRangeName(0),curveInvisible(kFALSE), curveName(0), addToCurveName(0),addToWgtSelf(1.),addToWgtOther(1.), | |||
numCPU(1),interleave(kTRUE),curveNameSuffix(""), numee(10), eeval(0), doeeval(kFALSE), progress(kFALSE) {} ; | numCPU(1),interleave(RooFit::Interleave),curveNameSuffix("") , numee(10), eeval(0), doeeval(kFALSE), progress(kFALSE) {} ; | |||
Option_t* drawOptions ; | Option_t* drawOptions ; | |||
Double_t scaleFactor ; | Double_t scaleFactor ; | |||
ScaleType stype ; | ScaleType stype ; | |||
const RooAbsData* projData ; | const RooAbsData* projData ; | |||
Bool_t binProjData ; | Bool_t binProjData ; | |||
const RooArgSet* projSet ; | const RooArgSet* projSet ; | |||
Double_t precision ; | Double_t precision ; | |||
Bool_t shiftToZero ; | Bool_t shiftToZero ; | |||
const RooArgSet* projDataSet ; | const RooArgSet* projDataSet ; | |||
const char* normRangeName ; | const char* normRangeName ; | |||
skipping to change at line 426 | skipping to change at line 430 | |||
Double_t rangeHi ; | Double_t rangeHi ; | |||
Bool_t postRangeFracScale ; | Bool_t postRangeFracScale ; | |||
RooCurve::WingMode wmode ; | RooCurve::WingMode wmode ; | |||
const char* projectionRangeName ; | const char* projectionRangeName ; | |||
Bool_t curveInvisible ; | Bool_t curveInvisible ; | |||
const char* curveName ; | const char* curveName ; | |||
const char* addToCurveName ; | const char* addToCurveName ; | |||
Double_t addToWgtSelf ; | Double_t addToWgtSelf ; | |||
Double_t addToWgtOther ; | Double_t addToWgtOther ; | |||
Int_t numCPU ; | Int_t numCPU ; | |||
Bool_t interleave ; | RooFit::MPSplit interleave ; | |||
const char* curveNameSuffix ; | const char* curveNameSuffix ; | |||
Int_t numee ; | Int_t numee ; | |||
Double_t eeval ; | Double_t eeval ; | |||
Bool_t doeeval ; | Bool_t doeeval ; | |||
Bool_t progress ; | Bool_t progress ; | |||
} ; | } ; | |||
// Plot implementation functions | // Plot implementation functions | |||
virtual RooPlot *plotOn(RooPlot* frame, PlotOpt o) const; | virtual RooPlot *plotOn(RooPlot* frame, PlotOpt o) const; | |||
virtual RooPlot *plotAsymOn(RooPlot *frame, const RooAbsCategoryLValue& a symCat, PlotOpt o) const; | virtual RooPlot *plotAsymOn(RooPlot *frame, const RooAbsCategoryLValue& a symCat, PlotOpt o) const; | |||
End of changes. 5 change blocks. | ||||
2 lines changed or deleted | 7 lines changed or added | |||
RooAbsString.h | RooAbsString.h | |||
---|---|---|---|---|
skipping to change at line 38 | skipping to change at line 38 | |||
// Constructors, assignment etc | // Constructors, assignment etc | |||
RooAbsString() ; | RooAbsString() ; | |||
RooAbsString(const char *name, const char *title, Int_t size=128) ; | RooAbsString(const char *name, const char *title, Int_t size=128) ; | |||
RooAbsString(const RooAbsString& other, const char* name=0); | RooAbsString(const RooAbsString& other, const char* name=0); | |||
virtual ~RooAbsString(); | virtual ~RooAbsString(); | |||
// Return value and unit accessors | // Return value and unit accessors | |||
virtual const char* getVal() const ; | virtual const char* getVal() const ; | |||
Bool_t operator==(const char*) const ; | Bool_t operator==(const char*) const ; | |||
virtual Bool_t operator==(const RooAbsArg& other) ; | virtual Bool_t operator==(const RooAbsArg& other) ; | |||
virtual Bool_t isIdentical(const RooAbsArg& other, Bool_t assumeSameType= kFALSE) ; | ||||
// I/O streaming interface (machine readable) | // I/O streaming interface (machine readable) | |||
virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t ve rbose=kFALSE) ; | virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t ve rbose=kFALSE) ; | |||
virtual void writeToStream(std::ostream& os, Bool_t compact) const ; | virtual void writeToStream(std::ostream& os, Bool_t compact) const ; | |||
// Printing interface (human readable) | // Printing interface (human readable) | |||
virtual void printValue(std::ostream& os) const ; | virtual void printValue(std::ostream& os) const ; | |||
RooAbsArg *createFundamental(const char* newname=0) const; | RooAbsArg *createFundamental(const char* newname=0) const; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
RooAbsTestStatistic.h | RooAbsTestStatistic.h | |||
---|---|---|---|---|
skipping to change at line 23 | skipping to change at line 23 | |||
* 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_ABS_TEST_STATISTIC | #ifndef ROO_ABS_TEST_STATISTIC | |||
#define ROO_ABS_TEST_STATISTIC | #define ROO_ABS_TEST_STATISTIC | |||
#include "Riosfwd.h" | #include "Riosfwd.h" | |||
#include "RooAbsReal.h" | #include "RooAbsReal.h" | |||
#include "RooSetProxy.h" | #include "RooSetProxy.h" | |||
#include "RooRealProxy.h" | #include "RooRealProxy.h" | |||
#include "TStopwatch.h" | ||||
#include <string> | #include <string> | |||
class RooArgSet ; | class RooArgSet ; | |||
class RooAbsData ; | class RooAbsData ; | |||
class RooAbsReal ; | class RooAbsReal ; | |||
class RooSimultaneous ; | class RooSimultaneous ; | |||
class RooRealMPFE ; | class RooRealMPFE ; | |||
class RooAbsTestStatistic ; | class RooAbsTestStatistic ; | |||
typedef RooAbsTestStatistic* pRooAbsTestStatistic ; | typedef RooAbsTestStatistic* pRooAbsTestStatistic ; | |||
typedef RooAbsData* pRooAbsData ; | typedef RooAbsData* pRooAbsData ; | |||
typedef RooRealMPFE* pRooRealMPFE ; | typedef RooRealMPFE* pRooRealMPFE ; | |||
class RooAbsTestStatistic : public RooAbsReal { | class RooAbsTestStatistic : public RooAbsReal { | |||
public: | public: | |||
// Constructors, assignment etc | // Constructors, assignment etc | |||
RooAbsTestStatistic() ; | RooAbsTestStatistic() ; | |||
RooAbsTestStatistic(const char *name, const char *title, RooAbsReal& real , RooAbsData& data, | RooAbsTestStatistic(const char *name, const char *title, RooAbsReal& real , RooAbsData& data, | |||
const RooArgSet& projDeps, const char* rangeName=0, co nst char* addCoefRangeName=0, | const RooArgSet& projDeps, const char* rangeName=0, co nst char* addCoefRangeName=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE, Bool_t verbose =kTRUE, Bool_t splitCutRange=kTRUE) ; | Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::BulkP artition, Bool_t verbose=kTRUE, Bool_t splitCutRange=kTRUE) ; | |||
RooAbsTestStatistic(const RooAbsTestStatistic& other, const char* name=0) ; | RooAbsTestStatistic(const RooAbsTestStatistic& other, const char* name=0) ; | |||
virtual ~RooAbsTestStatistic(); | virtual ~RooAbsTestStatistic(); | |||
virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& real, RooAbsData& data, | virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& real, RooAbsData& data, | |||
const RooArgSet& projDeps, const char* rangeName=0, const char* addCoefRangeName=0, | const RooArgSet& projDeps, const char* rangeName=0, const char* addCoefRangeName=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE , Bool_t verbose=kTRUE, Bool_t splitCutRange=kFALSE) = 0 ; | Int_t nCPU=1, RooFit::MPSplit interlea ve=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t splitCutRange=kFALSE ) = 0 ; | |||
virtual void constOptimizeTestStatistic(ConstOpCode opcode, Bool_t doAlso TrackingOpt=kTRUE) ; | virtual void constOptimizeTestStatistic(ConstOpCode opcode, Bool_t doAlso TrackingOpt=kTRUE) ; | |||
virtual Double_t combinedValue(RooAbsReal** gofArray, Int_t nVal) const = 0 ; | virtual Double_t combinedValue(RooAbsReal** gofArray, Int_t nVal) const = 0 ; | |||
virtual Double_t globalNormalization() const { | virtual Double_t globalNormalization() const { | |||
// Default value of global normalization factor is 1.0 | // Default value of global normalization factor is 1.0 | |||
return 1.0 ; | return 1.0 ; | |||
} | } | |||
Bool_t setData(RooAbsData& data, Bool_t cloneData=kTRUE) ; | Bool_t setData(RooAbsData& data, Bool_t cloneData=kTRUE) ; | |||
skipping to change at line 127 | skipping to change at line 128 | |||
Bool_t initialize() ; | Bool_t initialize() ; | |||
void initSimMode(RooSimultaneous* pdf, RooAbsData* data, const RooArgSet* projDeps, const char* rangeName, const char* addCoefRangeName) ; | void initSimMode(RooSimultaneous* pdf, RooAbsData* data, const RooArgSet* projDeps, const char* rangeName, const char* addCoefRangeName) ; | |||
void initMPMode(RooAbsReal* real, RooAbsData* data, const RooArgSet* proj Deps, const char* rangeName, const char* addCoefRangeName) ; | void initMPMode(RooAbsReal* real, RooAbsData* data, const RooArgSet* proj Deps, const char* rangeName, const char* addCoefRangeName) ; | |||
mutable Bool_t _init ; //! Is object initialized | mutable Bool_t _init ; //! Is object initialized | |||
GOFOpMode _gofOpMode ; // Operation mode of test statistic insta nce | GOFOpMode _gofOpMode ; // Operation mode of test statistic insta nce | |||
Int_t _nEvents ; // Total number of events in test statist ic calculation | Int_t _nEvents ; // Total number of events in test statist ic calculation | |||
Int_t _setNum ; // Partition number of this instance in p arallel calculation mode | Int_t _setNum ; // Partition number of this instance in p arallel calculation mode | |||
Int_t _numSets ; // Total number of partitions in parallel calculation mode | Int_t _numSets ; // Total number of partitions in parallel calculation mode | |||
Int_t _extSet ; //! Number of designated set to calculate d extended term | ||||
// Simultaneous mode data | // Simultaneous mode data | |||
Int_t _nGof ; // Number of sub-contexts | Int_t _nGof ; // Number of sub-contexts | |||
pRooAbsTestStatistic* _gofArray ; //! Array of sub-contexts representing part of the combined test statistic | pRooAbsTestStatistic* _gofArray ; //! Array of sub-contexts representing part of the combined test statistic | |||
std::vector<RooFit::MPSplit> _gofSplitMode ; //! GOF MP Split mode specif ied by component (when Auto is active) | ||||
// Parallel mode data | // Parallel mode data | |||
Int_t _nCPU ; // Number of processors to use in parallel c alculation mode | Int_t _nCPU ; // Number of processors to use in parallel c alculation mode | |||
pRooRealMPFE* _mpfeArray ; //! Array of parallel execution frond ends | pRooRealMPFE* _mpfeArray ; //! Array of parallel execution frond ends | |||
Bool_t _mpinterl ; // Use interleaving strategy rather than N-wis e split for partioning of dataset for multiprocessor-split | RooFit::MPSplit _mpinterl ; // Use interleaving strategy rather th an N-wise split for partioning of dataset for multiprocessor-split | |||
Bool_t _doOffset ; // Apply interval value offset to control nume ric precision? | Bool_t _doOffset ; // Apply interval value offset to control nume ric precision? | |||
mutable Double_t _offset ; //! Offset | mutable Double_t _offset ; //! Offset | |||
ClassDef(RooAbsTestStatistic,2) // Abstract base class for real-valued te st statistics | ClassDef(RooAbsTestStatistic,2) // Abstract base class for real-valued te st statistics | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 7 change blocks. | ||||
3 lines changed or deleted | 7 lines changed or added | |||
RooCFunction1Binding.h | RooCFunction1Binding.h | |||
---|---|---|---|---|
/************************************************************************** *** | /************************************************************************** *** | |||
* Project: RooFit * | * Project: RooFit * | |||
* Package: RooFitCore * | * Package: RooFitCore * | |||
* File: $Id: RooCFunction1Binding.h 45780 2012-08-31 15:45:27Z moneta $ | * File: $Id: RooCFunction1Binding.h 48991 2013-03-28 15:25:11Z rdm $ | |||
* Authors: * | * Authors: * | |||
* WV, Wouter Verkerke, NIKHEF, verkerke@nikhef.nl * | * WV, Wouter Verkerke, NIKHEF, verkerke@nikhef.nl * | |||
* * | * * | |||
* Copyright (c) 2000-2008, NIKHEF, Regents of the University of California * | * Copyright (c) 2000-2008, NIKHEF, Regents of the University of California * | |||
* and Stanford University. All rights reserved. * | * and Stanford University. All rights reserved. * | |||
* * | * * | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
#ifndef ROOCFUNCTION1BINDING | #ifndef ROOCFUNCTION1BINDING | |||
#define ROOCFUNCTION1BINDING | #define ROOCFUNCTION1BINDING | |||
skipping to change at line 143 | skipping to change at line 143 | |||
static RooCFunction1Map<VO,VI>* _fmap ; // Pointer to mapping service obj ect | static RooCFunction1Map<VO,VI>* _fmap ; // Pointer to mapping service obj ect | |||
ClassDef(RooCFunction1Ref,1) // Persistable reference to C function point er | ClassDef(RooCFunction1Ref,1) // Persistable reference to C function point er | |||
} ; | } ; | |||
template<class VO, class VI> | template<class VO, class VI> | |||
void RooCFunction1Ref<VO,VI>::Streamer(TBuffer &R__b) | void RooCFunction1Ref<VO,VI>::Streamer(TBuffer &R__b) | |||
{ | { | |||
// Custom streamer for function pointer reference object. When writing, | // Custom streamer for function pointer reference object. When writing, | |||
// the function pointer is substituted by its registerd name. When functi on | // the function pointer is substituted by its registered name. When funct ion | |||
// is unregistered name 'UNKNOWN' is written and a warning is issues. Whe n | // is unregistered name 'UNKNOWN' is written and a warning is issues. Whe n | |||
// reading back, the embedded name is converted back to a function pointe r | // reading back, the embedded name is converted back to a function pointe r | |||
// using the mapping service. When name UNKNOWN is encountered a warning is | // using the mapping service. When name UNKNOWN is encountered a warning is | |||
// issues and a dummy null function is substituted. When the registered f unction | // issues and a dummy null function is substituted. When the registered f unction | |||
// name can not be mapped to a function pointer an ERROR is issued and a pointer | // name can not be mapped to a function pointer an ERROR is issued and a pointer | |||
// to the dummy null function is substituted | // to the dummy null function is substituted | |||
typedef ::RooCFunction1Ref<VO,VI> thisClass; | typedef ::RooCFunction1Ref<VO,VI> thisClass; | |||
// Stream an object of class RooCFunction1Ref | // Stream an object of class RooCFunction1Ref | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
RooChi2Var.h | RooChi2Var.h | |||
---|---|---|---|---|
skipping to change at line 43 | skipping to change at line 43 | |||
RooChi2Var(const char *name, const char* title, RooAbsPdf& pdf, RooDataHi st& data, | RooChi2Var(const char *name, const char* title, RooAbsPdf& pdf, RooDataHi st& data, | |||
const RooCmdArg& arg1 , const RooCmdArg& arg2=Ro oCmdArg::none(),const RooCmdArg& arg3=RooCmdArg::none(), | const RooCmdArg& arg1 , const RooCmdArg& arg2=Ro oCmdArg::none(),const RooCmdArg& arg3=RooCmdArg::none(), | |||
const RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5= RooCmdArg::none(),const RooCmdArg& arg6=RooCmdArg::none(), | const RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5= RooCmdArg::none(),const RooCmdArg& arg6=RooCmdArg::none(), | |||
const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8= RooCmdArg::none(),const RooCmdArg& arg9=RooCmdArg::none()) ; | const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8= RooCmdArg::none(),const RooCmdArg& arg9=RooCmdArg::none()) ; | |||
enum FuncMode { Function, Pdf, ExtendedPdf } ; | enum FuncMode { Function, Pdf, ExtendedPdf } ; | |||
RooChi2Var(const char *name, const char *title, RooAbsPdf& pdf, RooDataHi st& data, | RooChi2Var(const char *name, const char *title, RooAbsPdf& pdf, RooDataHi st& data, | |||
Bool_t extended=kFALSE, const char* rangeName=0, const char* add CoefRangeName=0, | Bool_t extended=kFALSE, const char* rangeName=0, const char* add CoefRangeName=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE, Bool_t verbose=kTRUE, B ool_t splitCutRange=kTRUE, RooDataHist::ErrorType=RooDataHist::SumW2) ; | Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t splitCutRange=kTRUE, RooDataHist::ErrorType=R ooDataHist::SumW2) ; | |||
RooChi2Var(const char *name, const char *title, RooAbsReal& func, RooData Hist& data, | RooChi2Var(const char *name, const char *title, RooAbsReal& func, RooData Hist& data, | |||
const RooArgSet& projDeps, FuncMode funcMode, const char* range Name=0, const char* addCoefRangeName=0, | const RooArgSet& projDeps, FuncMode funcMode, const char* range Name=0, const char* addCoefRangeName=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE, Bool_t verbose=kTRUE, B ool_t splitCutRange=kTRUE, RooDataHist::ErrorType=RooDataHist::SumW2) ; | Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t splitCutRange=kTRUE, RooDataHist::ErrorType=R ooDataHist::SumW2) ; | |||
RooChi2Var(const RooChi2Var& other, const char* name=0); | RooChi2Var(const RooChi2Var& other, const char* name=0); | |||
virtual TObject* clone(const char* newname) const { return new RooChi2Var (*this,newname); } | virtual TObject* clone(const char* newname) const { return new RooChi2Var (*this,newname); } | |||
virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& pdf, RooAbsData& dhist, | virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& pdf, RooAbsData& dhist, | |||
const RooArgSet& projDeps, const char* rangeName=0, const char* addCoefRangeName=0, | const RooArgSet& projDeps, const char* rangeName=0, const char* addCoefRangeName=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE ,Bool_t verbose=kTRUE, Bool_t splitCutRange=kTRUE) { | Int_t nCPU=1, RooFit::MPSplit interlea ve=RooFit::BulkPartition,Bool_t verbose=kTRUE, Bool_t splitCutRange=kTRUE) { | |||
// Virtual constructor | // Virtual constructor | |||
return new RooChi2Var(name,title,(RooAbsPdf&)pdf,(RooDataHist&)dhist,pr ojDeps,_funcMode,rangeName, | return new RooChi2Var(name,title,(RooAbsPdf&)pdf,(RooDataHist&)dhist,pr ojDeps,_funcMode,rangeName, | |||
addCoefRangeName,nCPU,interleave,verbose, splitCut Range,_etype) ; | addCoefRangeName,nCPU,interleave,verbose, splitCut Range,_etype) ; | |||
} | } | |||
virtual ~RooChi2Var(); | virtual ~RooChi2Var(); | |||
virtual Double_t defaultErrorLevel() const { | virtual Double_t defaultErrorLevel() const { | |||
// The default error level for MINUIT error analysis for a chi^2 is 1.0 | // The default error level for MINUIT error analysis for a chi^2 is 1.0 | |||
return 1.0 ; | return 1.0 ; | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
RooClassFactory.h | RooClassFactory.h | |||
---|---|---|---|---|
skipping to change at line 48 | skipping to change at line 48 | |||
static RooAbsPdf* makePdfInstance(const char* className, const char* name , const char* expression, const RooArgList& vars, const char* intExpression =0) ; | static RooAbsPdf* makePdfInstance(const char* className, const char* name , const char* expression, const RooArgList& vars, const char* intExpression =0) ; | |||
static RooAbsPdf* makePdfInstance(const char* name, const char* expressio n, const RooArgList& vars, const char* intExpression=0) ; | static RooAbsPdf* makePdfInstance(const char* name, const char* expressio n, const RooArgList& vars, const char* intExpression=0) ; | |||
static Bool_t makeAndCompilePdf(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ; | static Bool_t makeAndCompilePdf(const char* name, const char* expression, const RooArgList& vars, const char* intExpression=0) ; | |||
static Bool_t makeAndCompileFunction(const char* name, const char* expres sion, const RooArgList& args, const char* intExpression=0) ; | static Bool_t makeAndCompileFunction(const char* name, const char* expres sion, const RooArgList& args, const char* intExpression=0) ; | |||
static Bool_t makePdf(const char* name, const char* realArgNames=0, const char* catArgNames=0, | static Bool_t makePdf(const char* name, const char* realArgNames=0, const char* catArgNames=0, | |||
const char* expression="1.0", Bool_t hasAnaInt=kFALS E, Bool_t hasIntGen=kFALSE, const char* intExpression=0) ; | const char* expression="1.0", Bool_t hasAnaInt=kFALS E, Bool_t hasIntGen=kFALSE, const char* intExpression=0) ; | |||
static Bool_t makeFunction(const char* name, const char* realArgNames=0, const char* catArgNames=0, | static Bool_t makeFunction(const char* name, const char* realArgNames=0, const char* catArgNames=0, | |||
const char* expresion="1.0", Bool_t hasAnaInt=k FALSE, const char* intExpression=0) ; | const char* expression="1.0", Bool_t hasAnaInt= kFALSE, const char* intExpression=0) ; | |||
static Bool_t makeClass(const char* className, const char* name, const ch ar* realArgNames=0, const char* catArgNames=0, | static Bool_t makeClass(const char* className, const char* name, const ch ar* realArgNames=0, const char* catArgNames=0, | |||
const char* expression="1.0", Bool_t hasAnaInt=kFA LSE, Bool_t hasIntGen=kFALSE, const char* intExpression=0) ; | const char* expression="1.0", Bool_t hasAnaInt=kFA LSE, Bool_t hasIntGen=kFALSE, const char* intExpression=0) ; | |||
class ClassFacIFace : public RooFactoryWSTool::IFace { | class ClassFacIFace : public RooFactoryWSTool::IFace { | |||
public: | public: | |||
std::string create(RooFactoryWSTool& ft, const char* typeName, const ch ar* instanceName, std::vector<std::string> args) ; | std::string create(RooFactoryWSTool& ft, const char* typeName, const ch ar* instanceName, std::vector<std::string> args) ; | |||
} ; | } ; | |||
protected: | protected: | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
RooConstraintSum.h | RooConstraintSum.h | |||
---|---|---|---|---|
/************************************************************************** *** | /************************************************************************** *** | |||
* Project: RooFit * | * Project: RooFit * | |||
* Package: RooFitCore * | * Package: RooFitCore * | |||
* File: $Id: RooConstraintSum.h 47307 2012-11-15 12:12:32Z wouter $ | * File: $Id: RooConstraintSum.h 49228 2013-04-12 10:56:12Z wouter $ | |||
* Authors: * | * Authors: * | |||
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | |||
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | * DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | |||
* * | * * | |||
* Copyright (c) 2000-2005, Regents of the University of California * | * Copyright (c) 2000-2005, Regents of the University of California * | |||
* and Stanford University. All rights reserved. * | * and Stanford University. All rights reserved. * | |||
* * | * * | |||
* Redistribution and use in source and binary forms, * | * Redistribution and use in source and binary forms, * | |||
* with or without modification, are permitted according to the terms * | * with or without modification, are permitted according to the terms * | |||
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | * listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
#ifndef ROO_CONSTRAINT_SUM | #ifndef ROO_CONSTRAINT_SUM | |||
#define ROO_CONSTRAINT_SUM | #define ROO_CONSTRAINT_SUM | |||
#include "RooAbsReal.h" | #include "RooAbsReal.h" | |||
#include "RooListProxy.h" | #include "RooListProxy.h" | |||
#include "RooSetProxy.h" | #include "RooSetProxy.h" | |||
#include "TStopwatch.h" | ||||
class RooRealVar; | class RooRealVar; | |||
class RooArgList ; | class RooArgList ; | |||
class RooConstraintSum : public RooAbsReal { | class RooConstraintSum : public RooAbsReal { | |||
public: | public: | |||
RooConstraintSum() ; | RooConstraintSum() ; | |||
RooConstraintSum(const char *name, const char *title, const RooArgSet& co nstraintSet, const RooArgSet& paramSet) ; | RooConstraintSum(const char *name, const char *title, const RooArgSet& co nstraintSet, const RooArgSet& paramSet) ; | |||
virtual ~RooConstraintSum() ; | virtual ~RooConstraintSum() ; | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 2 lines changed or added | |||
RooDataWeightedAverage.h | RooDataWeightedAverage.h | |||
---|---|---|---|---|
/************************************************************************** *** | /************************************************************************** *** | |||
* Project: RooFit * | * Project: RooFit * | |||
* Package: RooFitCore * | * Package: RooFitCore * | |||
* File: $Id: RooDataWeightedAverage.h 30378 2009-09-23 13:42:12Z wouter $ | * File: $Id: RooDataWeightedAverage.h 49228 2013-04-12 10:56:12Z wouter $ | |||
* Authors: * | * Authors: * | |||
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | |||
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | * DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | |||
* * | * * | |||
* Copyright (c) 2000-2005, Regents of the University of California * | * Copyright (c) 2000-2005, Regents of the University of California * | |||
* and Stanford University. All rights reserved. * | * and Stanford University. All rights reserved. * | |||
* * | * * | |||
* Redistribution and use in source and binary forms, * | * Redistribution and use in source and binary forms, * | |||
* with or without modification, are permitted according to the terms * | * with or without modification, are permitted according to the terms * | |||
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | * listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | |||
skipping to change at line 31 | skipping to change at line 31 | |||
class RooDataWeightedAverage : public RooAbsOptTestStatistic { | class RooDataWeightedAverage : public RooAbsOptTestStatistic { | |||
public: | public: | |||
// Constructors, assignment etc | // Constructors, assignment etc | |||
RooDataWeightedAverage() { | RooDataWeightedAverage() { | |||
// Default constructor | // Default constructor | |||
} ; | } ; | |||
RooDataWeightedAverage(const char *name, const char *title, RooAbsReal& r eal, RooAbsData& data, const RooArgSet& projDeps, | RooDataWeightedAverage(const char *name, const char *title, RooAbsReal& r eal, RooAbsData& data, const RooArgSet& projDeps, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE, Bool_t show Progress=kFALSE, Bool_t verbose=kTRUE) ; | Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::Bu lkPartition, Bool_t showProgress=kFALSE, Bool_t verbose=kTRUE) ; | |||
RooDataWeightedAverage(const RooDataWeightedAverage& other, const char* n ame=0); | RooDataWeightedAverage(const RooDataWeightedAverage& other, const char* n ame=0); | |||
virtual TObject* clone(const char* newname) const { return new RooDataWei ghtedAverage(*this,newname); } | virtual TObject* clone(const char* newname) const { return new RooDataWei ghtedAverage(*this,newname); } | |||
virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& real, RooAbsData& adata, | virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& real, RooAbsData& adata, | |||
const RooArgSet& projDeps, const char* /*rangeName*/=0, const char* /*addCoefRangeName*/=0, | const RooArgSet& projDeps, const char* /*rangeName*/=0, const char* /*addCoefRangeName*/=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE , Bool_t verbose=kTRUE, Bool_t /*splitCutRange*/=kFALSE) { | Int_t nCPU=1, RooFit::MPSplit interlea ve=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t /*splitCutRange*/=kF ALSE) { | |||
// Virtual constructor | // Virtual constructor | |||
return new RooDataWeightedAverage(name,title,real,adata,projDeps,nCPU,i nterleave,verbose) ; | return new RooDataWeightedAverage(name,title,real,adata,projDeps,nCPU,i nterleave,verbose) ; | |||
} | } | |||
virtual Double_t globalNormalization() const ; | virtual Double_t globalNormalization() const ; | |||
virtual ~RooDataWeightedAverage(); | virtual ~RooDataWeightedAverage(); | |||
protected: | protected: | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
RooGlobalFunc.h | RooGlobalFunc.h | |||
---|---|---|---|---|
skipping to change at line 60 | skipping to change at line 60 | |||
class TF2 ; | class TF2 ; | |||
class TF3 ; | class TF3 ; | |||
class TTree ; | class TTree ; | |||
namespace RooFit { | namespace RooFit { | |||
enum MsgLevel { DEBUG=0, INFO=1, PROGRESS=2, WARNING=3, ERROR=4, FATAL=5 } ; | enum MsgLevel { DEBUG=0, INFO=1, PROGRESS=2, WARNING=3, ERROR=4, FATAL=5 } ; | |||
enum MsgTopic { Generation=1, Minimization=2, Plotting=4, Fitting=8, Integr ation=16, LinkStateMgmt=32, | enum MsgTopic { Generation=1, Minimization=2, Plotting=4, Fitting=8, Integr ation=16, LinkStateMgmt=32, | |||
Eval=64, Caching=128, Optimization=256, ObjectHandling=512, InputAr guments=1024, Tracing=2048, | Eval=64, Caching=128, Optimization=256, ObjectHandling=512, InputAr guments=1024, Tracing=2048, | |||
Contents=4096, DataHandling=8192, NumIntegration=16384 } ; | Contents=4096, DataHandling=8192, NumIntegration=16384 } ; | |||
enum MPSplit { BulkPartition=0, Interleave=1, SimComponents=2, Hybrid=3 } ; | ||||
// RooAbsReal::plotOn arguments | // RooAbsReal::plotOn arguments | |||
RooCmdArg DrawOption(const char* opt) ; | RooCmdArg DrawOption(const char* opt) ; | |||
RooCmdArg Normalization(Double_t scaleFactor) ; | RooCmdArg Normalization(Double_t scaleFactor) ; | |||
RooCmdArg Slice(const RooArgSet& sliceSet) ; | RooCmdArg Slice(const RooArgSet& sliceSet) ; | |||
RooCmdArg Slice(RooCategory& cat, const char* label) ; | RooCmdArg Slice(RooCategory& cat, const char* label) ; | |||
RooCmdArg Project(const RooArgSet& projSet) ; | RooCmdArg Project(const RooArgSet& projSet) ; | |||
RooCmdArg ProjWData(const RooAbsData& projData, Bool_t binData=kFALSE) ; | RooCmdArg ProjWData(const RooAbsData& projData, Bool_t binData=kFALSE) ; | |||
RooCmdArg ProjWData(const RooArgSet& projSet, const RooAbsData& projData, B ool_t binData=kFALSE) ; | RooCmdArg ProjWData(const RooArgSet& projSet, const RooAbsData& projData, B ool_t binData=kFALSE) ; | |||
RooCmdArg Asymmetry(const RooCategory& cat) ; | RooCmdArg Asymmetry(const RooCategory& cat) ; | |||
skipping to change at line 138 | skipping to change at line 139 | |||
RooCmdArg Import(RooDataSet& data) ; | RooCmdArg Import(RooDataSet& data) ; | |||
RooCmdArg Import(TTree& tree) ; | RooCmdArg Import(TTree& tree) ; | |||
RooCmdArg ImportFromFile(const char* fname, const char* tname) ; | RooCmdArg ImportFromFile(const char* fname, const char* tname) ; | |||
RooCmdArg StoreError(const RooArgSet& aset) ; | RooCmdArg StoreError(const RooArgSet& aset) ; | |||
RooCmdArg StoreAsymError(const RooArgSet& aset) ; | RooCmdArg StoreAsymError(const RooArgSet& aset) ; | |||
RooCmdArg OwnLinked() ; | RooCmdArg OwnLinked() ; | |||
// RooChi2Var::ctor arguments | // RooChi2Var::ctor arguments | |||
RooCmdArg Extended(Bool_t flag=kTRUE) ; | RooCmdArg Extended(Bool_t flag=kTRUE) ; | |||
RooCmdArg DataError(Int_t) ; | RooCmdArg DataError(Int_t) ; | |||
RooCmdArg NumCPU(Int_t nCPU, Bool_t interleave=kFALSE) ; | RooCmdArg NumCPU(Int_t nCPU, Int_t interleave=0) ; | |||
// RooAbsPdf::printLatex arguments | // RooAbsPdf::printLatex arguments | |||
RooCmdArg Columns(Int_t ncol) ; | RooCmdArg Columns(Int_t ncol) ; | |||
RooCmdArg OutputFile(const char* fileName) ; | RooCmdArg OutputFile(const char* fileName) ; | |||
RooCmdArg Format(const char* format, Int_t sigDigit) ; | RooCmdArg Format(const char* format, Int_t sigDigit) ; | |||
RooCmdArg Format(const char* what, const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(), | RooCmdArg Format(const char* what, const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(), | |||
const RooCmdArg& arg3=RooCmdArg::none(),const RooCmdArg& a rg4=RooCmdArg::none(), | const RooCmdArg& arg3=RooCmdArg::none(),const RooCmdArg& a rg4=RooCmdArg::none(), | |||
const RooCmdArg& arg5=RooCmdArg::none(),const RooCmdArg& a rg6=RooCmdArg::none(), | const RooCmdArg& arg5=RooCmdArg::none(),const RooCmdArg& a rg6=RooCmdArg::none(), | |||
const RooCmdArg& arg7=RooCmdArg::none(),const RooCmdArg& a rg8=RooCmdArg::none()) ; | const RooCmdArg& arg7=RooCmdArg::none(),const RooCmdArg& a rg8=RooCmdArg::none()) ; | |||
RooCmdArg Sibling(const RooAbsCollection& sibling) ; | RooCmdArg Sibling(const RooAbsCollection& sibling) ; | |||
skipping to change at line 286 | skipping to change at line 287 | |||
RooCmdArg SplitParamConstrained(const RooRealVar& var, const RooAbsCategory & cat, const char* rsname) ; | RooCmdArg SplitParamConstrained(const RooRealVar& var, const RooAbsCategory & cat, const char* rsname) ; | |||
RooCmdArg Restrict(const char* catName, const char* stateNameList) ; | RooCmdArg Restrict(const char* catName, const char* stateNameList) ; | |||
// RooAbsPdf::createCdf() arguments | // RooAbsPdf::createCdf() arguments | |||
RooCmdArg SupNormSet(const RooArgSet& nset) ; | RooCmdArg SupNormSet(const RooArgSet& nset) ; | |||
RooCmdArg ScanParameters(Int_t nbins,Int_t intOrder) ; | RooCmdArg ScanParameters(Int_t nbins,Int_t intOrder) ; | |||
RooCmdArg ScanNumCdf() ; | RooCmdArg ScanNumCdf() ; | |||
RooCmdArg ScanAllCdf() ; | RooCmdArg ScanAllCdf() ; | |||
RooCmdArg ScanNoCdf() ; | RooCmdArg ScanNoCdf() ; | |||
// Generic container arguments (to be able to supply more command line argu | ||||
ments) | ||||
RooCmdArg MultiArg(const RooCmdArg& arg1, const RooCmdArg& arg2, | ||||
const RooCmdArg& arg3=RooCmdArg::none(),const RooCmdArg& | ||||
arg4=RooCmdArg::none(), | ||||
const RooCmdArg& arg5=RooCmdArg::none(),const RooCmdArg& | ||||
arg6=RooCmdArg::none(), | ||||
const RooCmdArg& arg7=RooCmdArg::none(),const RooCmdArg& | ||||
arg8=RooCmdArg::none()) ; | ||||
RooConstVar& RooConst(Double_t val) ; | RooConstVar& RooConst(Double_t val) ; | |||
} | } | |||
namespace RooFitShortHand { | namespace RooFitShortHand { | |||
RooArgSet S(const RooAbsArg& v1) ; | RooArgSet S(const RooAbsArg& v1) ; | |||
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2) ; | RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2) ; | |||
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3) ; | RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3) ; | |||
RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4) ; | RooArgSet S(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4) ; | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 12 lines changed or added | |||
RooMinimizer.h | RooMinimizer.h | |||
---|---|---|---|---|
/************************************************************************** *** | /************************************************************************** *** | |||
* Project: RooFit * | * Project: RooFit * | |||
* Package: RooFitCore * | * Package: RooFitCore * | |||
* File: $Id: RooMinimizer.h 47307 2012-11-15 12:12:32Z wouter $ | * File: $Id: RooMinimizer.h 49228 2013-04-12 10:56:12Z wouter $ | |||
* Authors: * | * Authors: * | |||
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | |||
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | * DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | |||
* AL, Alfio Lazzaro, INFN Milan, alfio.lazzaro@mi.infn.it * | * AL, Alfio Lazzaro, INFN Milan, alfio.lazzaro@mi.infn.it * | |||
* * | * * | |||
* * | * * | |||
* 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 105 | skipping to change at line 105 | |||
Int_t _printLevel ; | Int_t _printLevel ; | |||
Int_t _status ; | Int_t _status ; | |||
Bool_t _optConst ; | Bool_t _optConst ; | |||
Bool_t _profile ; | Bool_t _profile ; | |||
RooAbsReal* _func ; | RooAbsReal* _func ; | |||
Bool_t _verbose ; | Bool_t _verbose ; | |||
TStopwatch _timer ; | TStopwatch _timer ; | |||
TStopwatch _cumulTimer ; | TStopwatch _cumulTimer ; | |||
Bool_t _profileStart ; | ||||
TMatrixDSym* _extV ; | TMatrixDSym* _extV ; | |||
RooMinimizerFcn *_fcn; | RooMinimizerFcn *_fcn; | |||
std::string _minimizerType; | std::string _minimizerType; | |||
static ROOT::Fit::Fitter *_theFitter ; | static ROOT::Fit::Fitter *_theFitter ; | |||
std::vector<std::pair<std::string,int> > _statusHistory ; | std::vector<std::pair<std::string,int> > _statusHistory ; | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 2 lines changed or added | |||
RooNLLVar.h | RooNLLVar.h | |||
---|---|---|---|---|
skipping to change at line 35 | skipping to change at line 35 | |||
// Constructors, assignment etc | // Constructors, assignment etc | |||
RooNLLVar() { _first = kTRUE ; } | RooNLLVar() { _first = kTRUE ; } | |||
RooNLLVar(const char *name, const char* title, RooAbsPdf& pdf, RooAbsData & data, | RooNLLVar(const char *name, const char* title, RooAbsPdf& pdf, RooAbsData & data, | |||
const RooCmdArg& arg1 , const RooCmdArg& arg2=Roo CmdArg::none(),const RooCmdArg& arg3=RooCmdArg::none(), | const RooCmdArg& arg1 , const RooCmdArg& arg2=Roo CmdArg::none(),const RooCmdArg& arg3=RooCmdArg::none(), | |||
const RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=R ooCmdArg::none(),const RooCmdArg& arg6=RooCmdArg::none(), | const RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=R ooCmdArg::none(),const RooCmdArg& arg6=RooCmdArg::none(), | |||
const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=R ooCmdArg::none(),const RooCmdArg& arg9=RooCmdArg::none()) ; | const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=R ooCmdArg::none(),const RooCmdArg& arg9=RooCmdArg::none()) ; | |||
RooNLLVar(const char *name, const char *title, RooAbsPdf& pdf, RooAbsData & data, | RooNLLVar(const char *name, const char *title, RooAbsPdf& pdf, RooAbsData & data, | |||
Bool_t extended=kFALSE, const char* rangeName=0, const char* add CoefRangeName=0, | Bool_t extended=kFALSE, const char* rangeName=0, const char* add CoefRangeName=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE, Bool_t verbose=kTRUE, Bo ol_t splitRange=kFALSE, Bool_t cloneData=kTRUE) ; | Int_t nCPU=1, RooFit::MPSplit interleave=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t splitRange=kFALSE, Bool_t cloneData=kTRUE) ; | |||
RooNLLVar(const char *name, const char *title, RooAbsPdf& pdf, RooAbsData & data, | RooNLLVar(const char *name, const char *title, RooAbsPdf& pdf, RooAbsData & data, | |||
const RooArgSet& projDeps, Bool_t extended=kFALSE, const char* r angeName=0, | const RooArgSet& projDeps, Bool_t extended=kFALSE, const char* r angeName=0, | |||
const char* addCoefRangeName=0, Int_t nCPU=1, Bool_t interleave= kFALSE, Bool_t verbose=kTRUE, Bool_t splitRange=kFALSE, Bool_t cloneData=kT RUE) ; | const char* addCoefRangeName=0, Int_t nCPU=1, RooFit::MPSplit in terleave=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t splitRange=kFA LSE, Bool_t cloneData=kTRUE) ; | |||
RooNLLVar(const RooNLLVar& other, const char* name=0); | RooNLLVar(const RooNLLVar& other, const char* name=0); | |||
virtual TObject* clone(const char* newname) const { return new RooNLLVar( *this,newname); } | virtual TObject* clone(const char* newname) const { return new RooNLLVar( *this,newname); } | |||
virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& pdf, RooAbsData& adata, | virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& pdf, RooAbsData& adata, | |||
const RooArgSet& projDeps, const char* rangeName, const char* addCoefRangeName=0, | const RooArgSet& projDeps, const char* rangeName, const char* addCoefRangeName=0, | |||
Int_t nCPU=1, Bool_t interleave=kFALSE , Bool_t verbose=kTRUE, Bool_t splitRange=kFALSE) { | Int_t nCPU=1, RooFit::MPSplit interlea ve=RooFit::BulkPartition, Bool_t verbose=kTRUE, Bool_t splitRange=kFALSE) { | |||
return new RooNLLVar(name,title,(RooAbsPdf&)pdf,adata,projDeps,_extende d,rangeName, addCoefRangeName, nCPU, interleave,verbose,splitRange,kFALSE) ; | return new RooNLLVar(name,title,(RooAbsPdf&)pdf,adata,projDeps,_extende d,rangeName, addCoefRangeName, nCPU, interleave,verbose,splitRange,kFALSE) ; | |||
} | } | |||
virtual ~RooNLLVar(); | virtual ~RooNLLVar(); | |||
void applyWeightSquared(Bool_t flag) ; | void applyWeightSquared(Bool_t flag) ; | |||
virtual Double_t defaultErrorLevel() const { return 0.5 ; } | virtual Double_t defaultErrorLevel() const { return 0.5 ; } | |||
protected: | protected: | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
RooNovosibirsk.h | RooNovosibirsk.h | |||
---|---|---|---|---|
skipping to change at line 40 | skipping to change at line 40 | |||
// own local versions. | // own local versions. | |||
RooNovosibirsk() {} ; | RooNovosibirsk() {} ; | |||
RooNovosibirsk(const char *name, const char *title, | RooNovosibirsk(const char *name, const char *title, | |||
RooAbsReal& _x, RooAbsReal& _peak, | RooAbsReal& _x, RooAbsReal& _peak, | |||
RooAbsReal& _width, RooAbsReal& _tail); | RooAbsReal& _width, RooAbsReal& _tail); | |||
RooNovosibirsk(const RooNovosibirsk& other,const char* name=0) ; | RooNovosibirsk(const RooNovosibirsk& other,const char* name=0) ; | |||
virtual TObject* clone(const char* newname) const { return new RooNovosib irsk(*this,newname); } | virtual TObject* clone(const char* newname) const { return new RooNovosib irsk(*this,newname); } | |||
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, cons | ||||
t char* rangeName=0) const ; | ||||
Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ; | ||||
// An empty constructor is usually ok | // An empty constructor is usually ok | |||
inline virtual ~RooNovosibirsk() { } | inline virtual ~RooNovosibirsk() { } | |||
protected: | protected: | |||
RooRealProxy x; | RooRealProxy x; | |||
RooRealProxy width; | RooRealProxy width; | |||
RooRealProxy peak; | RooRealProxy peak; | |||
RooRealProxy tail; | RooRealProxy tail; | |||
Double_t evaluate() const; | Double_t evaluate() const; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 4 lines changed or added | |||
RooProfileLL.h | RooProfileLL.h | |||
---|---|---|---|---|
skipping to change at line 51 | skipping to change at line 51 | |||
virtual Bool_t redirectServersHook(const RooAbsCollection& /*newServerLis t*/, Bool_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive */) ; | virtual Bool_t redirectServersHook(const RooAbsCollection& /*newServerLis t*/, Bool_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive */) ; | |||
void clearAbsMin() { _absMinValid = kFALSE ; } | void clearAbsMin() { _absMinValid = kFALSE ; } | |||
Int_t numEval() const { return _neval ; } | Int_t numEval() const { return _neval ; } | |||
protected: | protected: | |||
void validateAbsMin() const ; | void validateAbsMin() const ; | |||
void initializeMinuit() const ; | ||||
RooRealProxy _nll ; // Input -log(L) function | RooRealProxy _nll ; // Input -log(L) function | |||
RooSetProxy _obs ; // Parameters of profile likelihood | RooSetProxy _obs ; // Parameters of profile likelihood | |||
RooSetProxy _par ; // Marginialized parameters of likelihood | RooSetProxy _par ; // Marginialized parameters of likelihood | |||
Bool_t _startFromMin ; // Always start minimization for global minimum? | Bool_t _startFromMin ; // Always start minimization for global minimum? | |||
TIterator* _piter ; //! Iterator over profile likelihood parameters to be minimized | TIterator* _piter ; //! Iterator over profile likelihood parameters to be minimized | |||
TIterator* _oiter ; //! Iterator of profile likelihood output parameter(s ) | TIterator* _oiter ; //! Iterator of profile likelihood output parameter(s ) | |||
mutable RooMinuit* _minuit ; //! Internal minuit instance | mutable RooMinuit* _minuit ; //! Internal minuit instance | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
RooRealMPFE.h | RooRealMPFE.h | |||
---|---|---|---|---|
skipping to change at line 24 | skipping to change at line 24 | |||
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | * listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
#ifndef ROO_REAL_MPFE | #ifndef ROO_REAL_MPFE | |||
#define ROO_REAL_MPFE | #define ROO_REAL_MPFE | |||
#include "RooAbsReal.h" | #include "RooAbsReal.h" | |||
#include "RooRealProxy.h" | #include "RooRealProxy.h" | |||
#include "RooListProxy.h" | #include "RooListProxy.h" | |||
#include "RooArgList.h" | #include "RooArgList.h" | |||
#include "RooMPSentinel.h" | #include "RooMPSentinel.h" | |||
#include "TStopwatch.h" | ||||
#include <vector> | ||||
class RooArgSet ; | class RooArgSet ; | |||
class RooRealMPFE : public RooAbsReal { | class RooRealMPFE : public RooAbsReal { | |||
public: | public: | |||
// Constructors, assignment etc | // Constructors, assignment etc | |||
RooRealMPFE(const char *name, const char *title, RooAbsReal& arg, Bool_t calcInline=kFALSE) ; | RooRealMPFE(const char *name, const char *title, RooAbsReal& arg, Bool_t calcInline=kFALSE) ; | |||
RooRealMPFE(const RooRealMPFE& other, const char* name=0); | RooRealMPFE(const RooRealMPFE& other, const char* name=0); | |||
virtual TObject* clone(const char* newname) const { return new RooRealMPF E(*this,newname); } | virtual TObject* clone(const char* newname) const { return new RooRealMPF E(*this,newname); } | |||
virtual ~RooRealMPFE(); | virtual ~RooRealMPFE(); | |||
skipping to change at line 45 | skipping to change at line 47 | |||
void calculate() const ; | void calculate() const ; | |||
virtual Double_t getValV(const RooArgSet* nset=0) const ; | virtual Double_t getValV(const RooArgSet* nset=0) const ; | |||
void standby() ; | void standby() ; | |||
void setVerbose(Bool_t clientFlag=kTRUE, Bool_t serverFlag=kTRUE) ; | void setVerbose(Bool_t clientFlag=kTRUE, Bool_t serverFlag=kTRUE) ; | |||
void applyNLLWeightSquared(Bool_t flag) ; | void applyNLLWeightSquared(Bool_t flag) ; | |||
void enableOffsetting(Bool_t flag) ; | void enableOffsetting(Bool_t flag) ; | |||
void followAsSlave(RooRealMPFE& master) { _updateMaster = &master ; } | ||||
protected: | protected: | |||
// Function evaluation | // Function evaluation | |||
virtual Double_t evaluate() const ; | virtual Double_t evaluate() const ; | |||
friend class RooAbsTestStatistic ; | friend class RooAbsTestStatistic ; | |||
virtual void constOptimizeTestStatistic(ConstOpCode opcode, Bool_t doAlso Tracking=kTRUE) ; | virtual void constOptimizeTestStatistic(ConstOpCode opcode, Bool_t doAlso Tracking=kTRUE) ; | |||
enum State { Initialize,Client,Server,Inline } ; | enum State { Initialize,Client,Server,Inline } ; | |||
State _state ; | State _state ; | |||
enum Message { SendReal=0, SendCat=1, Calculate=2, Retrieve=3, ReturnValu e=4, Terminate=5, | enum Message { SendReal=0, SendCat=1, Calculate=2, Retrieve=3, ReturnValu e=4, Terminate=5, | |||
ConstOpt=6, Verbose=7, RetrieveErrors=8, SendError=9, LogEv alError=10, ApplyNLLW2=11, EnableOffset=12, CalculateNoOffset=13 } ; | ConstOpt=6, Verbose=7, RetrieveErrors=8, SendError=9, LogEv alError=10, ApplyNLLW2=11, EnableOffset=12, CalculateNoOffset=13 } ; | |||
void initialize() ; | void initialize() ; | |||
void initVars() ; | void initVars() ; | |||
void serverLoop() ; | void serverLoop() ; | |||
void doApplyNLLW2(Bool_t flag) ; | void doApplyNLLW2(Bool_t flag) ; | |||
RooRealProxy _arg ; // Function to calculate in parallel process | RooRealProxy _arg ; // Function to calculate in parallel process | |||
RooListProxy _vars ; // Variables | RooListProxy _vars ; // Variables | |||
RooArgList _saveVars ; // Copy of variables | RooArgList _saveVars ; // Copy of variables | |||
mutable Bool_t _calcInProgress ; | mutable Bool_t _calcInProgress ; | |||
Bool_t _verboseClient ; | Bool_t _verboseClient ; | |||
Bool_t _verboseServer ; | Bool_t _verboseServer ; | |||
Bool_t _inlineMode ; | Bool_t _inlineMode ; | |||
mutable Bool_t _forceCalc ; | mutable Bool_t _forceCalc ; | |||
mutable RooAbsReal::ErrorLoggingMode _remoteEvalErrorLoggingState ; | mutable RooAbsReal::ErrorLoggingMode _remoteEvalErrorLoggingState ; | |||
Int_t _pid ; // PID of child process | Int_t _pid ; // PID of child process | |||
Int_t _pipeToClient[2] ; // Pipe to client process | Int_t _pipeToClient[2] ; // Pipe to client process | |||
Int_t _pipeToServer[2] ; // Pipe to server process | Int_t _pipeToServer[2] ; // Pipe to server process | |||
mutable std::vector<Bool_t> _valueChanged ; //! Flags if variable needs u | ||||
pdate on server-side | ||||
mutable std::vector<Bool_t> _constChanged ; //! Flags if variable needs u | ||||
pdate on server-side | ||||
RooRealMPFE* _updateMaster ; //! Update master | ||||
mutable Bool_t _retrieveDispatched ; //! | ||||
static RooMPSentinel _sentinel ; | static RooMPSentinel _sentinel ; | |||
ClassDef(RooRealMPFE,1) // Multi-process front-end for parallel calculati on of a real valued function | ClassDef(RooRealMPFE,1) // Multi-process front-end for parallel calculati on of a real valued function | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
1 lines changed or deleted | 11 lines changed or added | |||
RooRealVar.h | RooRealVar.h | |||
---|---|---|---|---|
skipping to change at line 98 | skipping to change at line 98 | |||
// I/O streaming interface (machine readable) | // I/O streaming interface (machine readable) | |||
virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t ve rbose=kFALSE) ; | virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t ve rbose=kFALSE) ; | |||
virtual void writeToStream(std::ostream& os, Bool_t compact) const ; | virtual void writeToStream(std::ostream& os, Bool_t compact) const ; | |||
// We implement a fundamental type of AbsArg that can be stored in a data set | // We implement a fundamental type of AbsArg that can be stored in a data set | |||
inline virtual Bool_t isFundamental() const { return kTRUE; } | inline virtual Bool_t isFundamental() const { return kTRUE; } | |||
// Force to be a leaf-node of any expression tree, even if we have (shape ) servers | // Force to be a leaf-node of any expression tree, even if we have (shape ) servers | |||
virtual Bool_t isDerived() const { | virtual Bool_t isDerived() const { | |||
// Does value or shape of this arg depend on any other arg? | // Does value or shape of this arg depend on any other arg? | |||
return (_serverList.GetSize()>0 || _proxyList.GetSize()>0)?kTRUE:kFALSE ; | return (_serverList.GetSize()>0 || _proxyList.GetEntries()>0)?kTRUE:kFA LSE; | |||
} | } | |||
// Printing interface (human readable) | // Printing interface (human readable) | |||
virtual void printValue(std::ostream& os) const ; | virtual void printValue(std::ostream& os) const ; | |||
virtual void printExtras(std::ostream& os) const ; | virtual void printExtras(std::ostream& os) const ; | |||
virtual void printMultiline(std::ostream& os, Int_t contents, Bool_t verb ose=kFALSE, TString indent="") const ; | virtual void printMultiline(std::ostream& os, Int_t contents, Bool_t verb ose=kFALSE, TString indent="") const ; | |||
virtual Int_t defaultPrintContents(Option_t* opt) const ; | virtual Int_t defaultPrintContents(Option_t* opt) const ; | |||
TString* format(const RooCmdArg& formatArg) const ; | TString* format(const RooCmdArg& formatArg) const ; | |||
TString* format(Int_t sigDigits, const char *options) const ; | TString* format(Int_t sigDigits, const char *options) const ; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
RooVectorDataStore.h | RooVectorDataStore.h | |||
---|---|---|---|---|
/************************************************************************** *** | /************************************************************************** *** | |||
* Project: RooFit * | * Project: RooFit * | |||
* Package: RooFitCore * | * Package: RooFitCore * | |||
* File: $Id: RooVectorDataStore.h 48562 2013-02-13 18:17:24Z moneta $ | * File: $Id: RooVectorDataStore.h 48829 2013-03-06 14:17:47Z wouter $ | |||
* Authors: * | * Authors: * | |||
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | |||
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | * DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | |||
* * | * * | |||
* Copyright (c) 2000-2005, Regents of the University of California * | * Copyright (c) 2000-2005, Regents of the University of California * | |||
* and Stanford University. All rights reserved. * | * and Stanford University. All rights reserved. * | |||
* * | * * | |||
* Redistribution and use in source and binary forms, * | * Redistribution and use in source and binary forms, * | |||
* with or without modification, are permitted according to the terms * | * with or without modification, are permitted according to the terms * | |||
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | * listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | |||
skipping to change at line 141 | skipping to change at line 141 | |||
_vec.reserve(initialCapacity) ; | _vec.reserve(initialCapacity) ; | |||
} | } | |||
RealVector(RooAbsReal* arg, UInt_t initialCapacity=100) : | RealVector(RooAbsReal* arg, UInt_t initialCapacity=100) : | |||
_nativeReal(arg), _real(0), _buf(0), _nativeBuf(0), _vec0(0), _tracke r(0), _nset(0) { | _nativeReal(arg), _real(0), _buf(0), _nativeBuf(0), _vec0(0), _tracke r(0), _nset(0) { | |||
_vec.reserve(initialCapacity) ; | _vec.reserve(initialCapacity) ; | |||
} | } | |||
virtual ~RealVector() { | virtual ~RealVector() { | |||
if (_tracker) delete _tracker ; | if (_tracker) delete _tracker ; | |||
if (_nset) delete _nset ; | ||||
} | } | |||
RealVector(const RealVector& other, RooAbsReal* real=0) : | RealVector(const RealVector& other, RooAbsReal* real=0) : | |||
_vec(other._vec), _nativeReal(real?real:other._nativeReal), _real(rea l?real:other._real), _buf(other._buf), _nativeBuf(other._nativeBuf) { | _vec(other._vec), _nativeReal(real?real:other._nativeReal), _real(rea l?real:other._real), _buf(other._buf), _nativeBuf(other._nativeBuf), _nset( 0) { | |||
_vec0 = _vec.size()>0 ? &_vec.front() : 0 ; | _vec0 = _vec.size()>0 ? &_vec.front() : 0 ; | |||
if (other._tracker) { | if (other._tracker) { | |||
_tracker = new RooChangeTracker(Form("track_%s",_nativeReal->GetName ()),"tracker",other._tracker->parameters()) ; | _tracker = new RooChangeTracker(Form("track_%s",_nativeReal->GetName ()),"tracker",other._tracker->parameters()) ; | |||
} else { | } else { | |||
_tracker = 0 ; | _tracker = 0 ; | |||
} | } | |||
if (other._nset) { | ||||
_nset = new RooArgSet(*other._nset) ; | ||||
} | ||||
} | } | |||
RealVector& operator=(const RealVector& other) { | RealVector& operator=(const RealVector& other) { | |||
if (&other==this) return *this ; | if (&other==this) return *this ; | |||
_nativeReal = other._nativeReal ; | _nativeReal = other._nativeReal ; | |||
_real = other._real ; | _real = other._real ; | |||
_buf = other._buf ; | _buf = other._buf ; | |||
_nativeBuf = other._nativeBuf ; | _nativeBuf = other._nativeBuf ; | |||
_vec = other._vec ; | _vec = other._vec ; | |||
_vec0 = _vec.size()>0 ? &_vec.front() : 0 ; | _vec0 = _vec.size()>0 ? &_vec.front() : 0 ; | |||
return *this ; | return *this ; | |||
} | } | |||
void setNset(RooArgSet* newNset) { _nset = newNset ; } | void setNset(RooArgSet* newNset) { _nset = newNset ? new RooArgSet(*new | |||
Nset) : 0 ; } | ||||
RooArgSet* nset() const { return _nset ; } | RooArgSet* nset() const { return _nset ; } | |||
void setBufArg(RooAbsReal* arg) { _nativeReal = arg ; } | void setBufArg(RooAbsReal* arg) { _nativeReal = arg ; } | |||
const RooAbsReal* bufArg() const { return _nativeReal ; } | const RooAbsReal* bufArg() const { return _nativeReal ; } | |||
void setBuffer(RooAbsReal* real, Double_t* newBuf) { | void setBuffer(RooAbsReal* real, Double_t* newBuf) { | |||
_real = real ; | _real = real ; | |||
_buf = newBuf ; | _buf = newBuf ; | |||
if (_nativeBuf==0) { | if (_nativeBuf==0) { | |||
_nativeBuf=newBuf ; | _nativeBuf=newBuf ; | |||
End of changes. 5 change blocks. | ||||
3 lines changed or deleted | 9 lines changed or added | |||
RooWorkspace.h | RooWorkspace.h | |||
---|---|---|---|---|
skipping to change at line 57 | skipping to change at line 57 | |||
RooWorkspace(const char* name, const char* title=0) ; | RooWorkspace(const char* name, const char* title=0) ; | |||
RooWorkspace(const RooWorkspace& other) ; | RooWorkspace(const RooWorkspace& other) ; | |||
~RooWorkspace() ; | ~RooWorkspace() ; | |||
void exportToCint(const char* namespaceName=0) ; | void exportToCint(const char* namespaceName=0) ; | |||
Bool_t importClassCode(const char* pat="*", Bool_t doReplace=kFALSE) ; | Bool_t importClassCode(const char* pat="*", Bool_t doReplace=kFALSE) ; | |||
Bool_t importClassCode(TClass* theClass, Bool_t doReplace=kFALSE) ; | Bool_t importClassCode(TClass* theClass, Bool_t doReplace=kFALSE) ; | |||
// Import functions for dataset, functions, generic objects | // Import functions for dataset, functions, generic objects | |||
Bool_t import(const RooAbsArg& arg, const RooCmdArg& arg1=RooCmdArg(),con | Bool_t import(const RooAbsArg& arg, | |||
st RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg()) ; | const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooC | |||
Bool_t import(const RooArgSet& args, const RooCmdArg& arg1=RooCmdArg(),co | mdArg(),const RooCmdArg& arg3=RooCmdArg(), | |||
nst RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg()) ; | const RooCmdArg& arg4=RooCmdArg(),const RooCmdArg& arg5=RooC | |||
Bool_t import(RooAbsData& data, const RooCmdArg& arg1=RooCmdArg(),const R | mdArg(),const RooCmdArg& arg6=RooCmdArg(), | |||
ooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg()) ; | const RooCmdArg& arg7=RooCmdArg(),const RooCmdArg& arg8=RooC | |||
Bool_t import(const char *fileSpec, const RooCmdArg& arg1=RooCmdArg(),con | mdArg(),const RooCmdArg& arg9=RooCmdArg()) ; | |||
st RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg()) ; | Bool_t import(const RooArgSet& args, | |||
const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooC | ||||
mdArg(),const RooCmdArg& arg3=RooCmdArg(), | ||||
const RooCmdArg& arg4=RooCmdArg(),const RooCmdArg& arg5=RooC | ||||
mdArg(),const RooCmdArg& arg6=RooCmdArg(), | ||||
const RooCmdArg& arg7=RooCmdArg(),const RooCmdArg& arg8=RooC | ||||
mdArg(),const RooCmdArg& arg9=RooCmdArg()) ; | ||||
Bool_t import(RooAbsData& data, | ||||
const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooC | ||||
mdArg(),const RooCmdArg& arg3=RooCmdArg(), | ||||
const RooCmdArg& arg4=RooCmdArg(),const RooCmdArg& arg5=RooC | ||||
mdArg(),const RooCmdArg& arg6=RooCmdArg(), | ||||
const RooCmdArg& arg7=RooCmdArg(),const RooCmdArg& arg8=RooC | ||||
mdArg(),const RooCmdArg& arg9=RooCmdArg()) ; | ||||
Bool_t import(const char *fileSpec, | ||||
const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooC | ||||
mdArg(),const RooCmdArg& arg3=RooCmdArg(), | ||||
const RooCmdArg& arg4=RooCmdArg(),const RooCmdArg& arg5=RooC | ||||
mdArg(),const RooCmdArg& arg6=RooCmdArg(), | ||||
const RooCmdArg& arg7=RooCmdArg(),const RooCmdArg& arg8=RooC | ||||
mdArg(),const RooCmdArg& arg9=RooCmdArg()) ; | ||||
Bool_t import(TObject& object, Bool_t replaceExisting=kFALSE) ; | Bool_t import(TObject& object, Bool_t replaceExisting=kFALSE) ; | |||
Bool_t import(TObject& object, const char* aliasName, Bool_t replaceExist ing=kFALSE) ; | Bool_t import(TObject& object, const char* aliasName, Bool_t replaceExist ing=kFALSE) ; | |||
// Transaction management interface for multi-step import operations | // Transaction management interface for multi-step import operations | |||
Bool_t startTransaction() ; | Bool_t startTransaction() ; | |||
Bool_t cancelTransaction() ; | Bool_t cancelTransaction() ; | |||
Bool_t commitTransaction() ; | Bool_t commitTransaction() ; | |||
// Named set management | // Named set management | |||
Bool_t defineSet(const char* name, const RooArgSet& aset, Bool_t importMi ssing=kFALSE) ; | Bool_t defineSet(const char* name, const RooArgSet& aset, Bool_t importMi ssing=kFALSE) ; | |||
Bool_t defineSet(const char* name, const char* contentList) ; | Bool_t defineSet(const char* name, const char* contentList) ; | |||
Bool_t extendSet(const char* name, const char* newContents) ; | Bool_t extendSet(const char* name, const char* newContents) ; | |||
Bool_t renameSet(const char* name, const char* newName) ; | Bool_t renameSet(const char* name, const char* newName) ; | |||
Bool_t removeSet(const char* name) ; | Bool_t removeSet(const char* name) ; | |||
const RooArgSet* set(const char* name) ; | const RooArgSet* set(const char* name) ; | |||
// Import, load and save parameter value snapshots | // Import, load and save parameter value snapshots | |||
Bool_t saveSnapshot(const char* name, const char* paramNames) ; | Bool_t saveSnapshot(const char* name, const char* paramNames) ; | |||
Bool_t saveSnapshot(const char* name, const RooArgSet& params, Bool_t imp ortValues=kFALSE) ; | Bool_t saveSnapshot(const char* name, const RooArgSet& params, Bool_t imp ortValues=kFALSE) ; | |||
Bool_t loadSnapshot(const char* name) ; | Bool_t loadSnapshot(const char* name) ; | |||
const RooArgSet* getSnapshot(const char* name) const ; | ||||
void merge(const RooWorkspace& /*other*/) {} ; | void merge(const RooWorkspace& /*other*/) {} ; | |||
// Join p.d.f.s and datasets for simultaneous analysis | // Join p.d.f.s and datasets for simultaneous analysis | |||
// RooAbsPdf* joinPdf(const char* jointPdfName, const char* indexName, const char* inputMapping) ; | // RooAbsPdf* joinPdf(const char* jointPdfName, const char* indexName, const char* inputMapping) ; | |||
// RooAbsData* joinData(const char* jointDataName, const char* indexNam e, const char* inputMapping) ; | // RooAbsData* joinData(const char* jointDataName, const char* indexNam e, const char* inputMapping) ; | |||
// Accessor functions | // Accessor functions | |||
RooAbsPdf* pdf(const char* name) const ; | RooAbsPdf* pdf(const char* name) const ; | |||
RooAbsReal* function(const char* name) const ; | RooAbsReal* function(const char* name) const ; | |||
End of changes. 2 change blocks. | ||||
8 lines changed or deleted | 29 lines changed or added | |||
RooXYChi2Var.h | RooXYChi2Var.h | |||
---|---|---|---|---|
/************************************************************************** *** | /************************************************************************** *** | |||
* Project: RooFit * | * Project: RooFit * | |||
* Package: RooFitCore * | * Package: RooFitCore * | |||
* File: $Id: RooXYChi2Var.h 28259 2009-04-16 16:21:16Z wouter $ | * File: $Id: RooXYChi2Var.h 49228 2013-04-12 10:56:12Z wouter $ | |||
* Authors: * | * Authors: * | |||
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * | |||
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | * DK, David Kirkby, UC Irvine, dkirkby@uci.edu * | |||
* * | * * | |||
* Copyright (c) 2000-2005, Regents of the University of California * | * Copyright (c) 2000-2005, Regents of the University of California * | |||
* and Stanford University. All rights reserved. * | * and Stanford University. All rights reserved. * | |||
* * | * * | |||
* Redistribution and use in source and binary forms, * | * Redistribution and use in source and binary forms, * | |||
* with or without modification, are permitted according to the terms * | * with or without modification, are permitted according to the terms * | |||
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | * listed in LICENSE (http://roofit.sourceforge.net/license.txt) * | |||
skipping to change at line 42 | skipping to change at line 42 | |||
RooXYChi2Var() ; | RooXYChi2Var() ; | |||
RooXYChi2Var(const char *name, const char* title, RooAbsReal& func, RooDa taSet& data, Bool_t integrate=kFALSE) ; | RooXYChi2Var(const char *name, const char* title, RooAbsReal& func, RooDa taSet& data, Bool_t integrate=kFALSE) ; | |||
RooXYChi2Var(const char *name, const char* title, RooAbsReal& func, RooDa taSet& data, RooRealVar& yvar, Bool_t integrate=kFALSE) ; | RooXYChi2Var(const char *name, const char* title, RooAbsReal& func, RooDa taSet& data, RooRealVar& yvar, Bool_t integrate=kFALSE) ; | |||
RooXYChi2Var(const char *name, const char* title, RooAbsPdf& extPdf, RooD ataSet& data, Bool_t integrate=kFALSE) ; | RooXYChi2Var(const char *name, const char* title, RooAbsPdf& extPdf, RooD ataSet& data, Bool_t integrate=kFALSE) ; | |||
RooXYChi2Var(const char *name, const char* title, RooAbsPdf& extPdf, RooD ataSet& data, RooRealVar& yvar, Bool_t integrate=kFALSE) ; | RooXYChi2Var(const char *name, const char* title, RooAbsPdf& extPdf, RooD ataSet& data, RooRealVar& yvar, Bool_t integrate=kFALSE) ; | |||
RooXYChi2Var(const RooXYChi2Var& other, const char* name=0); | RooXYChi2Var(const RooXYChi2Var& other, const char* name=0); | |||
virtual TObject* clone(const char* newname) const { return new RooXYChi2V ar(*this,newname); } | virtual TObject* clone(const char* newname) const { return new RooXYChi2V ar(*this,newname); } | |||
virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& pdf, RooAbsData& adata, | virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& pdf, RooAbsData& adata, | |||
const RooArgSet&, const char*, const c har*,Int_t, Bool_t,Bool_t, Bool_t) { | const RooArgSet&, const char*, const c har*,Int_t, RooFit::MPSplit,Bool_t, Bool_t) { | |||
// Virtual constructor | // Virtual constructor | |||
return new RooXYChi2Var(name,title,pdf,(RooDataSet&)adata) ; | return new RooXYChi2Var(name,title,pdf,(RooDataSet&)adata) ; | |||
} | } | |||
virtual ~RooXYChi2Var(); | virtual ~RooXYChi2Var(); | |||
virtual Double_t defaultErrorLevel() const { | virtual Double_t defaultErrorLevel() const { | |||
// The default error level for MINUIT error analysis for a chi^2 is 1.0 | // The default error level for MINUIT error analysis for a chi^2 is 1.0 | |||
return 1.0 ; | return 1.0 ; | |||
} | } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
RootFinder.h | RootFinder.h | |||
---|---|---|---|---|
// @(#)root/mathmore:$Id: RootFinder.h 33942 2010-06-16 13:12:17Z moneta $ | // @(#)root/mathmore:$Id: RootFinder.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 46 | skipping to change at line 46 | |||
#endif | #endif | |||
#ifndef ROOT_Math_IRootFinderMethod | #ifndef ROOT_Math_IRootFinderMethod | |||
#include "Math/IRootFinderMethod.h" | #include "Math/IRootFinderMethod.h" | |||
#endif | #endif | |||
/** | /** | |||
@defgroup RootFinders One-dimensional Root-Finding algorithms | @defgroup RootFinders One-dimensional Root-Finding algorithms | |||
Various implementation esists in MathCore and MathMore | Various implementation esists in MathCore and MathMore | |||
The user interacts with a proxy class ROOT::Math::RootFinder which creat es behing | The user interacts with a proxy class ROOT::Math::RootFinder which creat es behing | |||
the choosen algorithms which are implemented using the ROOT::Math::IRoot FinderMethod interface | the chosen algorithms which are implemented using the ROOT::Math::IRootF inderMethod interface | |||
@ingroup NumAlgo | @ingroup NumAlgo | |||
*/ | */ | |||
namespace ROOT { | namespace ROOT { | |||
namespace Math { | namespace Math { | |||
//_________________________________________________________________________ ____________ | //_________________________________________________________________________ ____________ | |||
/** | /** | |||
User Class to find the Root of one dimensional functions. | User Class to find the Root of one dimensional functions. | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
Rule.h | Rule.h | |||
---|---|---|---|---|
// @(#)root/tmva $Id: Rule.h 40005 2011-06-27 15:29:10Z stelzer $ | // @(#)root/tmva $Id: Rule.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 : Rule * | * Class : Rule * | |||
* * | * * | |||
* Description: * | * Description: * | |||
* A class describung a 'rule' * | * A class describung a 'rule' * | |||
* Each internal node of a tree defines a rule from all the parental n odes. * | * Each internal node of a tree defines a rule from all the parental n odes. * | |||
skipping to change at line 58 | skipping to change at line 58 | |||
namespace TMVA { | namespace TMVA { | |||
class RuleEnsemble; | class RuleEnsemble; | |||
class MsgLogger; | class MsgLogger; | |||
class Rule; | class Rule; | |||
ostream& operator<<( ostream& os, const Rule & rule ); | ostream& operator<<( ostream& os, const Rule & rule ); | |||
class Rule { | class Rule { | |||
// ouput operator for a Rule | // output operator for a Rule | |||
friend ostream& operator<< ( ostream& os, const Rule & rule ); | friend ostream& operator<< ( ostream& os, const Rule & rule ); | |||
public: | public: | |||
// main constructor | // main constructor | |||
Rule( RuleEnsemble *re, const std::vector< const TMVA::Node * > & nod es ); | Rule( RuleEnsemble *re, const std::vector< const TMVA::Node * > & nod es ); | |||
// main constructor | // main constructor | |||
Rule( RuleEnsemble *re ); | Rule( RuleEnsemble *re ); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
SVector.h | SVector.h | |||
---|---|---|---|---|
// @(#)root/smatrix:$Id: SVector.h 21553 2007-12-21 10:55:46Z moneta $ | // @(#)root/smatrix:$Id: SVector.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: T. Glebe, L. Moneta, J. Palacios 2005 | // Author: T. Glebe, L. Moneta, J. Palacios 2005 | |||
#ifndef ROOT_Math_SVector | #ifndef ROOT_Math_SVector | |||
#define ROOT_Math_SVector | #define ROOT_Math_SVector | |||
/******************************************************************** | /******************************************************************** | |||
// | // | |||
// source: | // source: | |||
// | // | |||
// type: source code | // type: source code | |||
// | // | |||
skipping to change at line 289 | skipping to change at line 289 | |||
template <class A> | template <class A> | |||
SVector<T,D>& operator*=(const VecExpr<A,T,D>& rhs); | SVector<T,D>& operator*=(const VecExpr<A,T,D>& rhs); | |||
/// self element-wise division with a vector expression | /// self element-wise division with a vector expression | |||
template <class A> | template <class A> | |||
SVector<T,D>& operator/=(const VecExpr<A,T,D>& rhs); | SVector<T,D>& operator/=(const VecExpr<A,T,D>& rhs); | |||
#endif | #endif | |||
#endif | #endif | |||
/** @name --- Expert functions --- */ | /** @name --- Expert functions --- */ | |||
/// transform vector into a vector of lenght 1 | /// transform vector into a vector of length 1 | |||
SVector<T,D>& Unit(); | SVector<T,D>& Unit(); | |||
/// place a sub-vector starting from the given position | /// place a sub-vector starting from the given position | |||
template <unsigned int D2> | template <unsigned int D2> | |||
SVector<T,D>& Place_at(const SVector<T,D2>& rhs, unsigned int row); | SVector<T,D>& Place_at(const SVector<T,D2>& rhs, unsigned int row); | |||
/// place a sub-vector expression starting from the given position | /// place a sub-vector expression starting from the given position | |||
template <class A, unsigned int D2> | template <class A, unsigned int D2> | |||
SVector<T,D>& Place_at(const VecExpr<A,T,D2>& rhs, unsigned int row); | SVector<T,D>& Place_at(const VecExpr<A,T,D2>& rhs, unsigned int row); | |||
/** | /** | |||
return a subvector of size N starting at the value row | return a subvector of size N starting at the value row | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
SeparationBase.h | SeparationBase.h | |||
---|---|---|---|---|
// @(#)root/tmva $Id: SeparationBase.h 40005 2011-06-27 15:29:10Z stelzer $ | // @(#)root/tmva $Id: SeparationBase.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss | // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai 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 : SeparationBase * | * Class : SeparationBase * | |||
* Web : http://tmva.sourceforge.net * | * Web : http://tmva.sourceforge.net * | |||
* * | * * | |||
* Description: An interface to different separation critiera useded in var ious * | * Description: An interface to different separation critiera useded in var ious * | |||
* training algorithms, as there are: * | * training algorithms, as there are: * | |||
skipping to change at line 101 | skipping to change at line 101 | |||
// default constructor | // default constructor | |||
SeparationBase(); | SeparationBase(); | |||
//copy constructor | //copy constructor | |||
SeparationBase( const SeparationBase& s ); | SeparationBase( const SeparationBase& s ); | |||
// destructor | // destructor | |||
virtual ~SeparationBase(){} | virtual ~SeparationBase(){} | |||
// Return the gain in separation of the original sample is splitted i n two sub-samples | // Return the gain in separation of the original sample is split in t wo sub-samples | |||
// (N * Index_parent) - (N_left * Index_left) - (N_right * Index_righ t) | // (N * Index_parent) - (N_left * Index_left) - (N_right * Index_righ t) | |||
Double_t GetSeparationGain( const Double_t& nSelS, const Double_t& nS elB, | Double_t GetSeparationGain( const Double_t& nSelS, const Double_t& nS elB, | |||
const Double_t& nTotS, const Double_t& nT otB ); | const Double_t& nTotS, const Double_t& nT otB ); | |||
// Return the separation index (a measure for "purity" of the sample" ) | // Return the separation index (a measure for "purity" of the sample" ) | |||
virtual Double_t GetSeparationIndex( const Double_t &s, const Double_ t &b ) = 0; | virtual Double_t GetSeparationIndex( const Double_t &s, const Double_ t &b ) = 0; | |||
// Return the name of the concrete Index implementation | // Return the name of the concrete Index implementation | |||
const TString& GetName() { return fName; } | const TString& GetName() { return fName; } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TBranch.h | TBranch.h | |||
---|---|---|---|---|
// @(#)root/tree:$Id: TBranch.h 40872 2011-09-13 21:33:33Z pcanal $ | // @(#)root/tree:$Id: TBranch.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 89 | skipping to change at line 89 | |||
Long64_t fFirstBasketEntry;//! First entry in the current basket. | Long64_t fFirstBasketEntry;//! First entry in the current basket. | |||
Long64_t fNextBasketEntry; //! Next entry that will requires us to go to the next basket | Long64_t fNextBasketEntry; //! Next entry that will requires us to go to the next basket | |||
TBasket *fCurrentBasket; //! Pointer to the current basket. | TBasket *fCurrentBasket; //! Pointer to the current basket. | |||
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 | |||
TObjArray fBaskets; //-> List of baskets of this branch | TObjArray fBaskets; //-> List of baskets of this branch | |||
Int_t *fBasketBytes; //[fMaxBaskets] Lenght of baskets on file | Int_t *fBasketBytes; //[fMaxBaskets] Length of baskets on file | |||
Long64_t *fBasketEntry; //[fMaxBaskets] Table of first entry in ea ck basket | Long64_t *fBasketEntry; //[fMaxBaskets] Table of first entry in ea ck basket | |||
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() | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TBuffer.h | TBuffer.h | |||
---|---|---|---|---|
// @(#)root/base:$Id: TBuffer.h 40872 2011-09-13 21:33:33Z pcanal $ | // @(#)root/base:$Id: TBuffer.h 48931 2013-03-25 16:43:38Z pcanal $ | |||
// Author: Rene Brun, Philippe Canal, Fons Rademakers 04/05/96 | // Author: Rene Brun, Philippe Canal, Fons Rademakers 04/05/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 216 | skipping to change at line 216 | |||
virtual void ReadFastArray(Int_t *i, Int_t n) = 0; | virtual void ReadFastArray(Int_t *i, Int_t n) = 0; | |||
virtual void ReadFastArray(UInt_t *i, Int_t n) = 0; | virtual void ReadFastArray(UInt_t *i, Int_t n) = 0; | |||
virtual void ReadFastArray(Long_t *l, Int_t n) = 0; | virtual void ReadFastArray(Long_t *l, Int_t n) = 0; | |||
virtual void ReadFastArray(ULong_t *l, Int_t n) = 0; | virtual void ReadFastArray(ULong_t *l, Int_t n) = 0; | |||
virtual void ReadFastArray(Long64_t *l, Int_t n) = 0; | virtual void ReadFastArray(Long64_t *l, Int_t n) = 0; | |||
virtual void ReadFastArray(ULong64_t *l, Int_t n) = 0; | virtual void ReadFastArray(ULong64_t *l, Int_t n) = 0; | |||
virtual void ReadFastArray(Float_t *f, Int_t n) = 0; | virtual void ReadFastArray(Float_t *f, Int_t n) = 0; | |||
virtual void ReadFastArray(Double_t *d, Int_t n) = 0; | virtual void ReadFastArray(Double_t *d, Int_t n) = 0; | |||
virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerE lement *ele=0) = 0; | virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerE lement *ele=0) = 0; | |||
virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreame rElement *ele=0) = 0; | virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreame rElement *ele=0) = 0; | |||
virtual void ReadFastArrayWithFactor(Float_t *ptr, Int_t n, Double | ||||
_t factor, Double_t minvalue) = 0; | ||||
virtual void ReadFastArrayWithNbits(Float_t *ptr, Int_t n, Int_t n | ||||
bits) = 0; | ||||
virtual void ReadFastArrayWithFactor(Double_t *ptr, Int_t n, Doubl | ||||
e_t factor, Double_t minvalue) = 0; | ||||
virtual void ReadFastArrayWithNbits(Double_t *ptr, Int_t n, Int_t | ||||
nbits) = 0; | ||||
virtual void ReadFastArray(void *start , const TClass *cl, Int_t n=1, TMemberStreamer *s=0, const TClass *onFileClass=0) = 0; | virtual void ReadFastArray(void *start , const TClass *cl, Int_t n=1, TMemberStreamer *s=0, const TClass *onFileClass=0) = 0; | |||
virtual void ReadFastArray(void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass *onFileCl ass=0) = 0; | virtual void ReadFastArray(void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass *onFileCl ass=0) = 0; | |||
virtual void WriteArray(const Bool_t *b, Int_t n) = 0; | virtual void WriteArray(const Bool_t *b, Int_t n) = 0; | |||
virtual void WriteArray(const Char_t *c, Int_t n) = 0; | virtual void WriteArray(const Char_t *c, Int_t n) = 0; | |||
virtual void WriteArray(const UChar_t *c, Int_t n) = 0; | virtual void WriteArray(const UChar_t *c, Int_t n) = 0; | |||
virtual void WriteArray(const Short_t *h, Int_t n) = 0; | virtual void WriteArray(const Short_t *h, Int_t n) = 0; | |||
virtual void WriteArray(const UShort_t *h, Int_t n) = 0; | virtual void WriteArray(const UShort_t *h, Int_t n) = 0; | |||
virtual void WriteArray(const Int_t *i, Int_t n) = 0; | virtual void WriteArray(const Int_t *i, Int_t n) = 0; | |||
virtual void WriteArray(const UInt_t *i, Int_t n) = 0; | virtual void WriteArray(const UInt_t *i, Int_t n) = 0; | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 9 lines changed or added | |||
TBufferFile.h | TBufferFile.h | |||
---|---|---|---|---|
// @(#)root/io:$Id: TBufferFile.h 40872 2011-09-13 21:33:33Z pcanal $ | // @(#)root/io:$Id: TBufferFile.h 48931 2013-03-25 16:43:38Z pcanal $ | |||
// Author: Rene Brun 17/01/2007 | // Author: Rene Brun 17/01/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 211 | skipping to change at line 211 | |||
virtual void ReadFastArray(Int_t *i, Int_t n); | virtual void ReadFastArray(Int_t *i, Int_t n); | |||
virtual void ReadFastArray(UInt_t *i, Int_t n); | virtual void ReadFastArray(UInt_t *i, Int_t n); | |||
virtual void ReadFastArray(Long_t *l, Int_t n); | virtual void ReadFastArray(Long_t *l, Int_t n); | |||
virtual void ReadFastArray(ULong_t *l, Int_t n); | virtual void ReadFastArray(ULong_t *l, Int_t n); | |||
virtual void ReadFastArray(Long64_t *l, Int_t n); | virtual void ReadFastArray(Long64_t *l, Int_t n); | |||
virtual void ReadFastArray(ULong64_t *l, Int_t n); | virtual void ReadFastArray(ULong64_t *l, Int_t n); | |||
virtual void ReadFastArray(Float_t *f, Int_t n); | virtual void ReadFastArray(Float_t *f, Int_t n); | |||
virtual void ReadFastArray(Double_t *d, Int_t n); | virtual void ReadFastArray(Double_t *d, Int_t n); | |||
virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerE lement *ele=0); | virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerE lement *ele=0); | |||
virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreame rElement *ele=0); | virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreame rElement *ele=0); | |||
virtual void ReadFastArrayWithFactor(Float_t *ptr, Int_t n, Double | ||||
_t factor, Double_t minvalue) ; | ||||
virtual void ReadFastArrayWithNbits(Float_t *ptr, Int_t n, Int_t n | ||||
bits); | ||||
virtual void ReadFastArrayWithFactor(Double_t *ptr, Int_t n, Doubl | ||||
e_t factor, Double_t minvalue); | ||||
virtual void ReadFastArrayWithNbits(Double_t *ptr, Int_t n, Int_t | ||||
nbits) ; | ||||
virtual void ReadFastArray(void *start , const TClass *cl, Int_t n=1, TMemberStreamer *s=0, const TClass* onFileClass=0 ); | virtual void ReadFastArray(void *start , const TClass *cl, Int_t n=1, TMemberStreamer *s=0, const TClass* onFileClass=0 ); | |||
virtual void ReadFastArray(void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass* onFileCl ass=0); | virtual void ReadFastArray(void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass* onFileCl ass=0); | |||
virtual void WriteArray(const Bool_t *b, Int_t n); | virtual void WriteArray(const Bool_t *b, Int_t n); | |||
virtual void WriteArray(const Char_t *c, Int_t n); | virtual void WriteArray(const Char_t *c, Int_t n); | |||
virtual void WriteArray(const UChar_t *c, Int_t n); | virtual void WriteArray(const UChar_t *c, Int_t n); | |||
virtual void WriteArray(const Short_t *h, Int_t n); | virtual void WriteArray(const Short_t *h, Int_t n); | |||
virtual void WriteArray(const UShort_t *h, Int_t n); | virtual void WriteArray(const UShort_t *h, Int_t n); | |||
virtual void WriteArray(const Int_t *i, Int_t n); | virtual void WriteArray(const Int_t *i, Int_t n); | |||
virtual void WriteArray(const UInt_t *i, Int_t n); | virtual void WriteArray(const UInt_t *i, Int_t n); | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 9 lines changed or added | |||
TBufferSQL.h | TBufferSQL.h | |||
---|---|---|---|---|
// @(#)root/tree:$Id: TBufferSQL.h 25450 2008-09-18 21:13:42Z pcanal $ | // @(#)root/tree:$Id: TBufferSQL.h 48931 2013-03-25 16:43:38Z pcanal $ | |||
// Author: Philippe Canal 2005 | // Author: Philippe Canal 2005 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 120 | skipping to change at line 120 | |||
virtual void ReadFastArray(Int_t *, Int_t ); | virtual void ReadFastArray(Int_t *, Int_t ); | |||
virtual void ReadFastArray(UInt_t *, Int_t ); | virtual void ReadFastArray(UInt_t *, Int_t ); | |||
virtual void ReadFastArray(Long_t *, Int_t ); | virtual void ReadFastArray(Long_t *, Int_t ); | |||
virtual void ReadFastArray(ULong_t *, Int_t ); | virtual void ReadFastArray(ULong_t *, Int_t ); | |||
virtual void ReadFastArray(Long64_t *, Int_t ); | virtual void ReadFastArray(Long64_t *, Int_t ); | |||
virtual void ReadFastArray(ULong64_t *, Int_t ); | virtual void ReadFastArray(ULong64_t *, Int_t ); | |||
virtual void ReadFastArray(Float_t *, Int_t ); | virtual void ReadFastArray(Float_t *, Int_t ); | |||
virtual void ReadFastArray(Double_t *, Int_t ); | virtual void ReadFastArray(Double_t *, Int_t ); | |||
virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerE lement *ele=0); | virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerE lement *ele=0); | |||
virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreame rElement *ele=0); | virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreame rElement *ele=0); | |||
virtual void ReadFastArrayWithFactor(Float_t *ptr, Int_t n, Double | ||||
_t factor, Double_t minvalue) ; | ||||
virtual void ReadFastArrayWithNbits(Float_t *ptr, Int_t n, Int_t n | ||||
bits); | ||||
virtual void ReadFastArrayWithFactor(Double_t *ptr, Int_t n, Doubl | ||||
e_t factor, Double_t minvalue); | ||||
virtual void ReadFastArrayWithNbits(Double_t *ptr, Int_t n, Int_t | ||||
nbits) ; | ||||
virtual void ReadFastArray(void *, const TClass *, Int_t n=1, TMe mberStreamer *s=0, const TClass *onFileClass=0); | virtual void ReadFastArray(void *, const TClass *, Int_t n=1, TMe mberStreamer *s=0, const TClass *onFileClass=0); | |||
virtual void ReadFastArray(void **, const TClass *, Int_t n=1, Boo l_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass *onFileClass=0); | virtual void ReadFastArray(void **, const TClass *, Int_t n=1, Boo l_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass *onFileClass=0); | |||
ClassDef(TBufferSQL, 1); // Implementation of TBuffer to load and write to a SQL database | ClassDef(TBufferSQL, 1); // Implementation of TBuffer to load and write to a SQL database | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 9 lines changed or added | |||
TBufferSQL2.h | TBufferSQL2.h | |||
---|---|---|---|---|
// @(#)root/sql:$Id: TBufferSQL2.h 40872 2011-09-13 21:33:33Z pcanal $ | // @(#)root/sql:$Id: TBufferSQL2.h 48931 2013-03-25 16:43:38Z pcanal $ | |||
// Author: Sergey Linev 20/11/2005 | // Author: Sergey Linev 20/11/2005 | |||
#ifndef ROOT_TBufferSQL2 | #ifndef ROOT_TBufferSQL2 | |||
#define ROOT_TBufferSQL2 | #define ROOT_TBufferSQL2 | |||
///////////////////////////////////////////////////////////////////////// | ///////////////////////////////////////////////////////////////////////// | |||
// // | // // | |||
// TBufferSQL2 class used in TSQLFile to convert binary object data // | // TBufferSQL2 class used in TSQLFile to convert binary object data // | |||
// to SQL statements, supplied to DB server // | // to SQL statements, supplied to DB server // | |||
// // | // // | |||
skipping to change at line 225 | skipping to change at line 225 | |||
virtual void ReadFastArray(Int_t *i, Int_t n); | virtual void ReadFastArray(Int_t *i, Int_t n); | |||
virtual void ReadFastArray(UInt_t *i, Int_t n); | virtual void ReadFastArray(UInt_t *i, Int_t n); | |||
virtual void ReadFastArray(Long_t *l, Int_t n); | virtual void ReadFastArray(Long_t *l, Int_t n); | |||
virtual void ReadFastArray(ULong_t *l, Int_t n); | virtual void ReadFastArray(ULong_t *l, Int_t n); | |||
virtual void ReadFastArray(Long64_t *l, Int_t n); | virtual void ReadFastArray(Long64_t *l, Int_t n); | |||
virtual void ReadFastArray(ULong64_t *l, Int_t n); | virtual void ReadFastArray(ULong64_t *l, Int_t n); | |||
virtual void ReadFastArray(Float_t *f, Int_t n); | virtual void ReadFastArray(Float_t *f, Int_t n); | |||
virtual void ReadFastArray(Double_t *d, Int_t n); | virtual void ReadFastArray(Double_t *d, Int_t n); | |||
virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerEle ment *ele=0); | virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerEle ment *ele=0); | |||
virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerE lement *ele=0); | virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerE lement *ele=0); | |||
virtual void ReadFastArrayWithFactor(Float_t *ptr, Int_t n, Double_t | ||||
factor, Double_t minvalue) ; | ||||
virtual void ReadFastArrayWithNbits(Float_t *ptr, Int_t n, Int_t nbi | ||||
ts); | ||||
virtual void ReadFastArrayWithFactor(Double_t *ptr, Int_t n, Double_ | ||||
t factor, Double_t minvalue); | ||||
virtual void ReadFastArrayWithNbits(Double_t *ptr, Int_t n, Int_t nb | ||||
its) ; | ||||
virtual void WriteArray(const Bool_t *b, Int_t n); | virtual void WriteArray(const Bool_t *b, Int_t n); | |||
virtual void WriteArray(const Char_t *c, Int_t n); | virtual void WriteArray(const Char_t *c, Int_t n); | |||
virtual void WriteArray(const UChar_t *c, Int_t n); | virtual void WriteArray(const UChar_t *c, Int_t n); | |||
virtual void WriteArray(const Short_t *h, Int_t n); | virtual void WriteArray(const Short_t *h, Int_t n); | |||
virtual void WriteArray(const UShort_t *h, Int_t n); | virtual void WriteArray(const UShort_t *h, Int_t n); | |||
virtual void WriteArray(const Int_t *i, Int_t n); | virtual void WriteArray(const Int_t *i, Int_t n); | |||
virtual void WriteArray(const UInt_t *i, Int_t n); | virtual void WriteArray(const UInt_t *i, Int_t n); | |||
virtual void WriteArray(const Long_t *l, Int_t n); | virtual void WriteArray(const Long_t *l, Int_t n); | |||
virtual void WriteArray(const ULong_t *l, Int_t n); | virtual void WriteArray(const ULong_t *l, Int_t n); | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 9 lines changed or added | |||
TBufferXML.h | TBufferXML.h | |||
---|---|---|---|---|
// @(#)root/xml:$Id: TBufferXML.h 40872 2011-09-13 21:33:33Z pcanal $ | // @(#)root/xml:$Id: TBufferXML.h 48931 2013-03-25 16:43:38Z 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 140 | skipping to change at line 140 | |||
virtual void ReadFastArray(Int_t *i, Int_t n); | virtual void ReadFastArray(Int_t *i, Int_t n); | |||
virtual void ReadFastArray(UInt_t *i, Int_t n); | virtual void ReadFastArray(UInt_t *i, Int_t n); | |||
virtual void ReadFastArray(Long_t *l, Int_t n); | virtual void ReadFastArray(Long_t *l, Int_t n); | |||
virtual void ReadFastArray(ULong_t *l, Int_t n); | virtual void ReadFastArray(ULong_t *l, Int_t n); | |||
virtual void ReadFastArray(Long64_t *l, Int_t n); | virtual void ReadFastArray(Long64_t *l, Int_t n); | |||
virtual void ReadFastArray(ULong64_t *l, Int_t n); | virtual void ReadFastArray(ULong64_t *l, Int_t n); | |||
virtual void ReadFastArray(Float_t *f, Int_t n); | virtual void ReadFastArray(Float_t *f, Int_t n); | |||
virtual void ReadFastArray(Double_t *d, Int_t n); | virtual void ReadFastArray(Double_t *d, Int_t n); | |||
virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerEle ment *ele=0); | virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerEle ment *ele=0); | |||
virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerE lement *ele=0); | virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerE lement *ele=0); | |||
virtual void ReadFastArrayWithFactor(Float_t *ptr, Int_t n, Double_t | ||||
factor, Double_t minvalue) ; | ||||
virtual void ReadFastArrayWithNbits(Float_t *ptr, Int_t n, Int_t nbi | ||||
ts); | ||||
virtual void ReadFastArrayWithFactor(Double_t *ptr, Int_t n, Double_ | ||||
t factor, Double_t minvalue); | ||||
virtual void ReadFastArrayWithNbits(Double_t *ptr, Int_t n, Int_t nb | ||||
its) ; | ||||
virtual void WriteArray(const Bool_t *b, Int_t n); | virtual void WriteArray(const Bool_t *b, Int_t n); | |||
virtual void WriteArray(const Char_t *c, Int_t n); | virtual void WriteArray(const Char_t *c, Int_t n); | |||
virtual void WriteArray(const UChar_t *c, Int_t n); | virtual void WriteArray(const UChar_t *c, Int_t n); | |||
virtual void WriteArray(const Short_t *h, Int_t n); | virtual void WriteArray(const Short_t *h, Int_t n); | |||
virtual void WriteArray(const UShort_t *h, Int_t n); | virtual void WriteArray(const UShort_t *h, Int_t n); | |||
virtual void WriteArray(const Int_t *i, Int_t n); | virtual void WriteArray(const Int_t *i, Int_t n); | |||
virtual void WriteArray(const UInt_t *i, Int_t n); | virtual void WriteArray(const UInt_t *i, Int_t n); | |||
virtual void WriteArray(const Long_t *l, Int_t n); | virtual void WriteArray(const Long_t *l, Int_t n); | |||
virtual void WriteArray(const ULong_t *l, Int_t n); | virtual void WriteArray(const ULong_t *l, Int_t n); | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 9 lines changed or added | |||
TChain.h | TChain.h | |||
---|---|---|---|---|
// @(#)root/tree:$Id: TChain.h 48256 2013-01-10 14:24:07Z axel $ | // @(#)root/tree:$Id: TChain.h 49055 2013-04-01 13:18:39Z pcanal $ | |||
// Author: Rene Brun 03/02/97 | // Author: Rene Brun 03/02/97 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TCint.h | TCint.h | |||
---|---|---|---|---|
// @(#)root/meta:$Id: TCint.h 43515 2012-03-27 21:15:53Z pcanal $ | // @(#)root/meta:$Id: TCint.h 48771 2013-02-28 19:49:49Z 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 281 | skipping to change at line 281 | |||
virtual Bool_t MethodInfo_IsValid(MethodInfo_t *minfo) const; | virtual Bool_t MethodInfo_IsValid(MethodInfo_t *minfo) const; | |||
virtual int MethodInfo_NArg(MethodInfo_t *minfo) const; | virtual int MethodInfo_NArg(MethodInfo_t *minfo) const; | |||
virtual int MethodInfo_NDefaultArg(MethodInfo_t *minfo) const; | virtual int MethodInfo_NDefaultArg(MethodInfo_t *minfo) const; | |||
virtual int MethodInfo_Next(MethodInfo_t *minfo) const; | virtual int MethodInfo_Next(MethodInfo_t *minfo) const; | |||
virtual Long_t MethodInfo_Property(MethodInfo_t *minfo) const; | virtual Long_t MethodInfo_Property(MethodInfo_t *minfo) const; | |||
virtual TypeInfo_t *MethodInfo_Type(MethodInfo_t *minfo) const; | virtual TypeInfo_t *MethodInfo_Type(MethodInfo_t *minfo) const; | |||
virtual const char *MethodInfo_GetMangledName(MethodInfo_t *minfo) const ; | virtual const char *MethodInfo_GetMangledName(MethodInfo_t *minfo) const ; | |||
virtual const char *MethodInfo_GetPrototype(MethodInfo_t *minfo) const; | virtual const char *MethodInfo_GetPrototype(MethodInfo_t *minfo) const; | |||
virtual const char *MethodInfo_Name(MethodInfo_t *minfo) const; | virtual const char *MethodInfo_Name(MethodInfo_t *minfo) const; | |||
virtual const char *MethodInfo_TypeName(MethodInfo_t *minfo) const; | virtual const char *MethodInfo_TypeName(MethodInfo_t *minfo) const; | |||
virtual std::string MethodInfo_TypeNormalizedName(MethodInfo_t *minfo) c onst; | ||||
virtual const char *MethodInfo_Title(MethodInfo_t *minfo) const; | virtual const char *MethodInfo_Title(MethodInfo_t *minfo) const; | |||
// G__MethodArgInfo interface | // G__MethodArgInfo interface | |||
virtual void MethodArgInfo_Delete(MethodArgInfo_t *marginfo) const; | virtual void MethodArgInfo_Delete(MethodArgInfo_t *marginfo) const; | |||
virtual MethodArgInfo_t *MethodArgInfo_Factory() const; | virtual MethodArgInfo_t *MethodArgInfo_Factory() const; | |||
virtual MethodArgInfo_t *MethodArgInfo_FactoryCopy(MethodArgInfo_t *mar ginfo) const; | virtual MethodArgInfo_t *MethodArgInfo_FactoryCopy(MethodArgInfo_t *mar ginfo) const; | |||
virtual Bool_t MethodArgInfo_IsValid(MethodArgInfo_t *marginfo) const; | virtual Bool_t MethodArgInfo_IsValid(MethodArgInfo_t *marginfo) const; | |||
virtual int MethodArgInfo_Next(MethodArgInfo_t *marginfo) const; | virtual int MethodArgInfo_Next(MethodArgInfo_t *marginfo) const; | |||
virtual Long_t MethodArgInfo_Property(MethodArgInfo_t *marginfo) const; | virtual Long_t MethodArgInfo_Property(MethodArgInfo_t *marginfo) const; | |||
virtual const char *MethodArgInfo_DefaultValue(MethodArgInfo_t *marginfo ) const; | virtual const char *MethodArgInfo_DefaultValue(MethodArgInfo_t *marginfo ) const; | |||
virtual const char *MethodArgInfo_Name(MethodArgInfo_t *marginfo) const; | virtual const char *MethodArgInfo_Name(MethodArgInfo_t *marginfo) const; | |||
virtual const char *MethodArgInfo_TypeName(MethodArgInfo_t *marginfo) co nst; | virtual const char *MethodArgInfo_TypeName(MethodArgInfo_t *marginfo) co nst; | |||
virtual std::string MethodArgInfo_TypeNormalizedName(MethodArgInfo_t *ma rginfo) const; | ||||
// G__TypeInfo interface | // G__TypeInfo interface | |||
virtual void TypeInfo_Delete(TypeInfo_t *tinfo) const; | virtual void TypeInfo_Delete(TypeInfo_t *tinfo) const; | |||
virtual TypeInfo_t *TypeInfo_Factory() const; | virtual TypeInfo_t *TypeInfo_Factory() const; | |||
virtual TypeInfo_t *TypeInfo_Factory(G__value * /* value */) const; | virtual TypeInfo_t *TypeInfo_Factory(G__value * /* value */) const; | |||
virtual TypeInfo_t *TypeInfo_FactoryCopy(TypeInfo_t * /* tinfo */) const ; | virtual TypeInfo_t *TypeInfo_FactoryCopy(TypeInfo_t * /* tinfo */) const ; | |||
virtual void TypeInfo_Init(TypeInfo_t *tinfo, const char *funcname) co nst; | virtual void TypeInfo_Init(TypeInfo_t *tinfo, const char *funcname) co nst; | |||
virtual Bool_t TypeInfo_IsValid(TypeInfo_t *tinfo) const; | virtual Bool_t TypeInfo_IsValid(TypeInfo_t *tinfo) const; | |||
virtual const char *TypeInfo_Name(TypeInfo_t * /* info */) const; | virtual const char *TypeInfo_Name(TypeInfo_t * /* info */) const; | |||
virtual Long_t TypeInfo_Property(TypeInfo_t *tinfo) const; | virtual Long_t TypeInfo_Property(TypeInfo_t *tinfo) const; | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 3 lines changed or added | |||
TClassRef.h | TClassRef.h | |||
---|---|---|---|---|
// @(#)root/meta:$Id: TClassRef.h 36061 2010-10-04 16:05:51Z pcanal $ | // @(#)root/meta:$Id: TClassRef.h 48980 2013-03-28 14:13:32Z pcanal $ | |||
// Author: Philippe Canal 15/03/2005 | // Author: Philippe Canal 15/03/2005 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 54 | skipping to change at line 54 | |||
void Assign(TClass *); | void Assign(TClass *); | |||
TClass *InternalGetClass() const; | TClass *InternalGetClass() const; | |||
void ListReset(); | void ListReset(); | |||
public: | public: | |||
TClassRef() : fClassName(), fClassPtr(0), fPrevious(0), fNext(0) {} | TClassRef() : fClassName(), fClassPtr(0), fPrevious(0), fNext(0) {} | |||
TClassRef(TClass *cl); | TClassRef(TClass *cl); | |||
TClassRef(const char *classname); | TClassRef(const char *classname); | |||
TClassRef(const TClassRef&); | TClassRef(const TClassRef&); | |||
inline TClassRef &operator=(const TClassRef &rhs) { | inline TClassRef &operator=(const TClassRef &rhs) { | |||
// Inline implementation of operator= to speed the no-op case. | // Inline implementation of operator= to speed the no-op case. | |||
if (this != &rhs && fClassPtr != rhs.fClassPtr) { | if (this != &rhs && (fClassPtr == 0 || fClassPtr != rhs.fClassPtr)) { | |||
this->Assign(rhs); | this->Assign(rhs); | |||
} | } | |||
return *this; | return *this; | |||
} | } | |||
inline TClassRef &operator=(TClass *rhs) { | inline TClassRef &operator=(TClass *rhs) { | |||
// Inline implementation of operator= to speed the no-op case. | // Inline implementation of operator= to speed the no-op case. | |||
if (this->fClassPtr != rhs) { | if (this->fClassPtr != rhs) { | |||
this->Assign(rhs); | this->Assign(rhs); | |||
} | } | |||
return *this; | return *this; | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TCollectionProxyInfo.h | TCollectionProxyInfo.h | |||
---|---|---|---|---|
// @(#)root/cont:$Id: TCollectionProxyInfo.h 43515 2012-03-27 21:15:53Z pca nal $ | // @(#)root/cont:$Id: TCollectionProxyInfo.h 49056 2013-04-01 13:19:26Z pca nal $ | |||
// 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 47 | skipping to change at line 47 | |||
namespace ROOT { | namespace ROOT { | |||
class TCollectionProxyInfo { | class TCollectionProxyInfo { | |||
// This class is a place holder for the information needed | // This class is a place holder for the information needed | |||
// to create the proper Collection Proxy. | // to create the proper Collection Proxy. | |||
// This is similar to Reflex's CollFuncTable. | // This is similar to Reflex's CollFuncTable. | |||
public: | public: | |||
// Same value as TVirtualCollectionProxy. | ||||
static const UInt_t fgIteratorArenaSize = 16; // greater than sizeof( | ||||
void*) + sizeof(UInt_t) | ||||
/** @class template TCollectionProxyInfo::IteratorValue | ||||
* | ||||
* Small helper to encapsulate whether to return the value | ||||
* pointed to by the iterator or its address. | ||||
* | ||||
**/ | ||||
template <typename Cont_t, typename value> struct IteratorValue { | ||||
static void* get(typename Cont_t::iterator &iter) { | ||||
return (void*)&(*iter); | ||||
} | ||||
}; | ||||
template <typename Cont_t, typename value_ptr> struct IteratorValue<C | ||||
ont_t, value_ptr*> { | ||||
static void* get(typename Cont_t::iterator &iter) { | ||||
return (void*)(*iter); | ||||
} | ||||
}; | ||||
/** @class template TCollectionProxyInfo::Iterators | ||||
* | ||||
* Small helper to implement the function to create,access and destroy | ||||
* iterators. | ||||
* | ||||
**/ | ||||
template <typename Cont_t, bool large = false> | ||||
struct Iterators { | ||||
typedef Cont_t *PCont_t; | ||||
typedef typename Cont_t::iterator iterator; | ||||
static void create(void *coll, void **begin_arena, void **end_aren | ||||
a) { | ||||
PCont_t c = PCont_t(coll); | ||||
new (*begin_arena) iterator(c->begin()); | ||||
new (*end_arena) iterator(c->end()); | ||||
} | ||||
static void* copy(void *dest_arena, const void *source_ptr) { | ||||
iterator *source = (iterator *)(source_ptr); | ||||
new (dest_arena) iterator(*source); | ||||
return dest_arena; | ||||
} | ||||
static void* next(void *iter_loc, const void *end_loc) { | ||||
iterator *end = (iterator *)(end_loc); | ||||
iterator *iter = (iterator *)(iter_loc); | ||||
if (*iter != *end) { | ||||
void *result = IteratorValue<Cont_t, typename Cont_t::value_ | ||||
type>::get(*iter); | ||||
++(*iter); | ||||
return result; | ||||
} | ||||
return 0; | ||||
} | ||||
static void destruct1(void *iter_ptr) { | ||||
iterator *start = (iterator *)(iter_ptr); | ||||
start->~iterator(); | ||||
} | ||||
static void destruct2(void *begin_ptr, void *end_ptr) { | ||||
iterator *start = (iterator *)(begin_ptr); | ||||
iterator *end = (iterator *)(end_ptr); | ||||
start->~iterator(); | ||||
end->~iterator(); | ||||
} | ||||
}; | ||||
// For Vector we take an extra short cut to avoid derefencing | ||||
// the iterator all the time and redefine the 'address' of the | ||||
// iterator as the iterator itself. This requires special handling | ||||
// in the looper (see TStreamerInfoAction) but is much faster. | ||||
template <typename T> struct Iterators<std::vector<T>, false> { | ||||
typedef std::vector<T> Cont_t; | ||||
typedef Cont_t *PCont_t; | ||||
typedef typename Cont_t::iterator iterator; | ||||
static void create(void *coll, void **begin_arena, void **end_aren | ||||
a) { | ||||
PCont_t c = PCont_t(coll); | ||||
if (c->empty()) { | ||||
*begin_arena = 0; | ||||
*end_arena = 0; | ||||
return; | ||||
} | ||||
*begin_arena = &(*c->begin()); | ||||
#ifdef R__VISUAL_CPLUSPLUS | ||||
*end_arena = &(*(c->end()-1)) + 1; // On windows we can not der | ||||
erence the end iterator at all. | ||||
#else | ||||
// coverity[past_the_end] Safe on other platforms | ||||
*end_arena = &(*c->end()); | ||||
#endif | ||||
} | ||||
static void* copy(void *dest, const void *source) { | ||||
*(void**)dest = *(void**)(const_cast<void*>(source)); | ||||
return dest; | ||||
} | ||||
static void* next(void * /* iter_loc */, const void * /* end_loc * | ||||
/) { | ||||
// Should not be used. | ||||
R__ASSERT(0 && "Intentionally not implemented, do not use."); | ||||
return 0; | ||||
} | ||||
static void destruct1(void * /* iter_ptr */) { | ||||
// Nothing to do | ||||
} | ||||
static void destruct2(void * /* begin_ptr */, void * /* end_ptr */ | ||||
) { | ||||
// Nothing to do | ||||
} | ||||
}; | ||||
template <typename Cont_t> struct Iterators<Cont_t, /* large= */ true | ||||
> { | ||||
typedef Cont_t *PCont_t; | ||||
typedef typename Cont_t::iterator iterator; | ||||
static void create(void *coll, void **begin_arena, void **end_aren | ||||
a) { | ||||
PCont_t c = PCont_t(coll); | ||||
*begin_arena = new iterator(c->begin()); | ||||
*end_arena = new iterator(c->end()); | ||||
} | ||||
static void* copy(void * /*dest_arena*/, const void *source_ptr) { | ||||
iterator *source = (iterator *)(source_ptr); | ||||
void *iter = new iterator(*source); | ||||
return iter; | ||||
} | ||||
static void* next(void *iter_loc, const void *end_loc) { | ||||
iterator *end = (iterator *)(end_loc); | ||||
iterator *iter = (iterator *)(iter_loc); | ||||
if (*iter != *end) { | ||||
void *result = IteratorValue<Cont_t, typename Cont_t::value_ | ||||
type>::get(*iter); | ||||
++(*iter); | ||||
return result; | ||||
} | ||||
return 0; | ||||
} | ||||
static void destruct1(void *begin_ptr) { | ||||
iterator *start = (iterator *)(begin_ptr); | ||||
delete start; | ||||
} | ||||
static void destruct2(void *begin_ptr, void *end_ptr) { | ||||
iterator *start = (iterator *)(begin_ptr); | ||||
iterator *end = (iterator *)(end_ptr); | ||||
delete start; | ||||
delete end; | ||||
} | ||||
}; | ||||
/** @class TCollectionProxyInfo::Environ TCollectionProxyInfo.h TCollecti onProxyInfo.h | /** @class TCollectionProxyInfo::Environ TCollectionProxyInfo.h TCollecti onProxyInfo.h | |||
* | * | |||
* Small helper to save proxy environment in the event of | * Small helper to save proxy environment in the event of | |||
* recursive calls. | * recursive calls. | |||
* | * | |||
* @author M.Frank | * @author M.Frank | |||
* @version 1.0 | * @version 1.0 | |||
* @date 10/10/2004 | * @date 10/10/2004 | |||
*/ | */ | |||
#ifndef __CINT__ | #ifndef __CINT__ | |||
skipping to change at line 167 | skipping to change at line 310 | |||
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 Type<T>::address(ref); | return Type<T>::address(ref); | |||
} | } | |||
static void* construct(void *what, size_t size) { | static void* construct(void *what, size_t size) { | |||
PValue_t m = PValue_t(what); | PValue_t m = PValue_t(what); | |||
for (size_t i=0; i<size; ++i, ++m) | for (size_t i=0; i<size; ++i, ++m) | |||
::new(m) Value_t(); | ::new(m) Value_t(); | |||
return 0; | return 0; | |||
} | } | |||
static void* collect(void* env) { | static void* collect(void *coll, void *array) { | |||
PEnv_t e = PEnv_t(env); | PCont_t c = PCont_t(coll); | |||
PCont_t c = PCont_t(e->fObject); | PValue_t m = PValue_t(array); | |||
PValue_t m = PValue_t(e->fStart); | ||||
for (Iter_t i=c->begin(); i != c->end(); ++i, ++m ) | for (Iter_t i=c->begin(); i != c->end(); ++i, ++m ) | |||
::new(m) Value_t(*i); | ::new(m) Value_t(*i); | |||
return 0; | return 0; | |||
} | } | |||
static void destruct(void *what, size_t size) { | static void destruct(void *what, size_t size) { | |||
PValue_t m = PValue_t(what); | PValue_t m = PValue_t(what); | |||
for (size_t i=0; i < size; ++i, ++m ) | for (size_t i=0; i < size; ++i, ++m ) | |||
m->~Value_t(); | m->~Value_t(); | |||
} | } | |||
static const bool fgLargeIterator = sizeof(typename Cont_t::iterator) | ||||
> fgIteratorArenaSize; | ||||
typedef Iterators<Cont_t,fgLargeIterator> Iterators_t; | ||||
}; | }; | |||
/** @class TCollectionProxyInfo::Map TCollectionProxyInfo.h TCollectionP roxyInfo.h | /** @class TCollectionProxyInfo::Map TCollectionProxyInfo.h TCollectionP roxyInfo.h | |||
* | * | |||
* Small helper to encapsulate all necessary data accesses for | * Small helper to encapsulate all necessary data accesses for | |||
* containers like vector, list, deque | * containers like vector, list, deque | |||
* | * | |||
* @author M.Frank | * @author M.Frank | |||
* @version 1.0 | * @version 1.0 | |||
* @date 10/10/2004 | * @date 10/10/2004 | |||
skipping to change at line 294 | skipping to change at line 440 | |||
size_t fValueDiff; | size_t fValueDiff; | |||
int fValueOffset; | int fValueOffset; | |||
void* (*fSizeFunc)(void*); | void* (*fSizeFunc)(void*); | |||
void (*fResizeFunc)(void*,size_t); | void (*fResizeFunc)(void*,size_t); | |||
void* (*fClearFunc)(void*); | void* (*fClearFunc)(void*); | |||
void* (*fFirstFunc)(void*); | void* (*fFirstFunc)(void*); | |||
void* (*fNextFunc)(void*); | void* (*fNextFunc)(void*); | |||
void* (*fConstructFunc)(void*,size_t); | void* (*fConstructFunc)(void*,size_t); | |||
void (*fDestructFunc)(void*,size_t); | void (*fDestructFunc)(void*,size_t); | |||
void* (*fFeedFunc)(void*,void*,size_t); | void* (*fFeedFunc)(void*,void*,size_t); | |||
void* (*fCollectFunc)(void*); | void* (*fCollectFunc)(void*,void*); | |||
void* (*fCreateEnv)(); | void* (*fCreateEnv)(); | |||
// Set of function of direct iteration of the collections. | // Set of function of direct iteration of the collections. | |||
void (*fGetIterators)(void *collection, void *&begin_arena, void *&en d_arena); | void (*fCreateIterators)(void *collection, void **begin_arena, void * *end_arena); | |||
// begin_arena and end_arena should contain the location of memory ar ena of size fgIteratorSize. | // begin_arena and end_arena should contain the location of memory ar ena of size fgIteratorSize. | |||
// If the collection iterator are of that size or less, the iterators will be constructed in place in those location (new with placement) | // If the collection iterator are of that size or less, the iterators will be constructed in place in those location (new with placement) | |||
// Otherwise the iterators will be allocated via a regular new and th eir address returned by modifying the value of begin_arena and end_arena. | // Otherwise the iterators will be allocated via a regular new and th eir address returned by modifying the value of begin_arena and end_arena. | |||
void (*fCopyIterator)(void *&dest, const void *source); | void* (*fCopyIterator)(void *dest, const void *source); | |||
// Copy the iterator source, into dest. dest should contain should contain the location of memory arena of size fgIteratorSize. | // Copy the iterator source, into dest. dest should contain should contain the location of memory arena of size fgIteratorSize. | |||
// If the collection iterator are of that size or less, the iterator will be constructed in place in this location (new with placement) | // If the collection iterator are of that size or less, the iterator will be constructed in place in this location (new with placement) | |||
// Otherwise the iterator will be allocated via a regular new and its address returned by modifying the value of dest. | // Otherwise the iterator will be allocated via a regular new and its address returned by modifying the value of dest. | |||
void* (*fNext)(void *iter, void *end); | void* (*fNext)(void *iter, const void *end); | |||
// iter and end should be pointer to respectively an iterator to be i ncremented and the result of colleciton.end() | // iter and end should be pointer to respectively an iterator to be i ncremented and the result of colleciton.end() | |||
// 'Next' will increment the iterator 'iter' and return 0 if the iter ator reached the end. | // 'Next' will increment the iterator 'iter' and return 0 if the iter ator reached the end. | |||
// If the end is not reached, 'Next' will return the address of the c ontent unless the collection contains pointers in | // If the end is not reached, 'Next' will return the address of the c ontent unless the collection contains pointers in | |||
// which case 'Next' will return the value of the pointer. | // which case 'Next' will return the value of the pointer. | |||
void (*fDeleteSingleIterator)(void *iter); | void (*fDeleteSingleIterator)(void *iter); | |||
void (*fDeleteTwoIterators)(void *begin, void *end); | void (*fDeleteTwoIterators)(void *begin, void *end); | |||
// If the sizeof iterator is greater than fgIteratorArenaSize, call d elete on the addresses, | // If the sizeof iterator is greater than fgIteratorArenaSize, call d elete on the addresses, | |||
// Otherwise just call the iterator's destructor. | // Otherwise just call the iterator's destructor. | |||
skipping to change at line 332 | skipping to change at line 478 | |||
size_t value_diff, | size_t value_diff, | |||
int value_offset, | int value_offset, | |||
void* (*size_func)(void*), | void* (*size_func)(void*), | |||
void (*resize_func)(void*,size_t), | void (*resize_func)(void*,size_t), | |||
void* (*clear_func)(void*), | void* (*clear_func)(void*), | |||
void* (*first_func)(void*), | void* (*first_func)(void*), | |||
void* (*next_func)(void*), | void* (*next_func)(void*), | |||
void* (*construct_func)(void*,size_t), | void* (*construct_func)(void*,size_t), | |||
void (*destruct_func)(void*,size_t), | void (*destruct_func)(void*,size_t), | |||
void* (*feed_func)(void*,void*,size_t), | void* (*feed_func)(void*,void*,size_t), | |||
void* (*collect_func)(void*), | void* (*collect_func)(void*,void*), | |||
void* (*create_env)() | void* (*create_env)(), | |||
void (*getIterators)(void *collection, void ** | ||||
begin_arena, void **end_arena) = 0, | ||||
void* (*copyIterator)(void *dest, const void *s | ||||
ource) = 0, | ||||
void* (*next)(void *iter, const void *end) = 0, | ||||
void (*deleteSingleIterator)(void *iter) = 0, | ||||
void (*deleteTwoIterators)(void *begin, void * | ||||
end) = 0 | ||||
) : | ) : | |||
fInfo(info), fIterSize(iter_size), fValueDiff(value_diff), | fInfo(info), fIterSize(iter_size), fValueDiff(value_diff), | |||
fValueOffset(value_offset), | fValueOffset(value_offset), | |||
fSizeFunc(size_func),fResizeFunc(resize_func),fClearFunc(clear_fun c), | fSizeFunc(size_func),fResizeFunc(resize_func),fClearFunc(clear_fun c), | |||
fFirstFunc(first_func),fNextFunc(next_func),fConstructFunc(constru ct_func), | fFirstFunc(first_func),fNextFunc(next_func),fConstructFunc(constru ct_func), | |||
fDestructFunc(destruct_func),fFeedFunc(feed_func),fCollectFunc(col lect_func), | fDestructFunc(destruct_func),fFeedFunc(feed_func),fCollectFunc(col lect_func), | |||
fCreateEnv(create_env), | fCreateEnv(create_env), | |||
fGetIterators(0),fCopyIterator(0),fNext(0),fDeleteSingleIterator(0 | fCreateIterators(getIterators),fCopyIterator(copyIterator),fNext(n | |||
),fDeleteTwoIterators(0) | ext), | |||
fDeleteSingleIterator(deleteSingleIterator),fDeleteTwoIterators(de | ||||
leteTwoIterators) | ||||
{ | { | |||
} | } | |||
/// Generate proxy from template | /// Generate proxy from template | |||
template <class T> static ROOT::TCollectionProxyInfo* Generate(const T&) { | template <class T> static ROOT::TCollectionProxyInfo* Generate(const T&) { | |||
// Generate a TCollectionProxyInfo given a TCollectionProxyInfo::T ype | // Generate a TCollectionProxyInfo given a TCollectionProxyInfo::T ype | |||
// template (used to described the behavior of the stl collection. | // template (used to described the behavior of the stl collection. | |||
// Typical use looks like: | // Typical use looks like: | |||
// ::ROOT::TCollectionProxyInfo::Generate(TCollectionProxyInf o::Pushback< vector<string> >())); | // ::ROOT::TCollectionProxyInfo::Generate(TCollectionProxyInf o::Pushback< vector<string> >())); | |||
skipping to change at line 367 | skipping to change at line 519 | |||
T::value_offset(), | T::value_offset(), | |||
T::size, | T::size, | |||
T::resize, | T::resize, | |||
T::clear, | T::clear, | |||
T::first, | T::first, | |||
T::next, | T::next, | |||
T::construct, | T::construct, | |||
T::destruct, | T::destruct, | |||
T::feed, | T::feed, | |||
T::collect, | T::collect, | |||
T::Env_t::Create); | T::Env_t::Create, | |||
T::Iterators_t::create, | ||||
T::Iterators_t::copy, | ||||
T::Iterators_t::next, | ||||
T::Iterators_t::destruct1, | ||||
T::Iterators_t::destruct2); | ||||
} | } | |||
template <class T> static ROOT::TCollectionProxyInfo Get(const T&) { | template <class T> static ROOT::TCollectionProxyInfo Get(const T&) { | |||
// Generate a TCollectionProxyInfo given a TCollectionProxyInfo::T ype | // Generate a TCollectionProxyInfo given a TCollectionProxyInfo::T ype | |||
// template (used to described the behavior of the stl collection. | // template (used to described the behavior of the stl collection. | |||
// Typical use looks like: | // Typical use looks like: | |||
// ::ROOT::TCollectionProxyInfo::Get(TCollectionProxyInfo::Pu shback< vector<string> >())); | // ::ROOT::TCollectionProxyInfo::Get(TCollectionProxyInfo::Pu shback< vector<string> >())); | |||
PairHolder<TYPENAME T::Value_t, TYPENAME T::Value_t>* p = | PairHolder<TYPENAME T::Value_t, TYPENAME T::Value_t>* p = | |||
skipping to change at line 444 | skipping to change at line 601 | |||
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.... | |||
return 0; | return 0; | |||
} | } | |||
static void* construct(void*,size_t) { | static void* construct(void*,size_t) { | |||
// Nothing to construct. | // Nothing to construct. | |||
return 0; | return 0; | |||
} | } | |||
static void* collect(void* env) { | static void* collect(void *coll, void *array) { | |||
PEnv_t e = PEnv_t(env); | PCont_t c = PCont_t(coll); | |||
PCont_t c = PCont_t(e->fObject); | PValue_t m = PValue_t(array); // 'start' is a buffer outside the c | |||
PValue_t m = PValue_t(e->fStart); // 'start' is a buffer outside t | ontainer. | |||
he container. | ||||
for (Iter_t i=c->begin(); i != c->end(); ++i, ++m ) | for (Iter_t i=c->begin(); i != c->end(); ++i, ++m ) | |||
::new(m) Value_t(*i); | ::new(m) Value_t(*i); | |||
return 0; | return 0; | |||
} | } | |||
static void destruct(void*,size_t) { | static void destruct(void*,size_t) { | |||
// Nothing to destruct. | // Nothing to destruct. | |||
} | } | |||
//static const bool fgLargeIterator = sizeof(Cont_t::iterator) > fgIt | ||||
eratorArenaSize; | ||||
//typedef Iterators<Cont_t,fgLargeIterator> Iterators_t; | ||||
struct Iterators { | ||||
typedef Cont_t *PCont_t; | ||||
typedef Cont_t::iterator iterator; | ||||
static void create(void *coll, void **begin_arena, void **end_aren | ||||
a) { | ||||
PCont_t c = PCont_t(coll); | ||||
new (*begin_arena) iterator(c->begin()); | ||||
new (*end_arena) iterator(c->end()); | ||||
} | ||||
static void* copy(void *dest_arena, const void *source_ptr) { | ||||
const iterator *source = (const iterator *)(source_ptr); | ||||
new (dest_arena) iterator(*source); | ||||
return dest_arena; | ||||
} | ||||
static void* next(void *iter_loc, const void *end_loc) { | ||||
const iterator *end = (const iterator *)(end_loc); | ||||
iterator *iter = (iterator *)(iter_loc); | ||||
if (*iter != *end) { | ||||
++(*iter); | ||||
//if (*iter != *end) { | ||||
// return IteratorValue<Cont_t, Cont_t::value_type>::get(* | ||||
iter); | ||||
//} | ||||
} | ||||
return 0; | ||||
} | ||||
static void destruct1(void *iter_ptr) { | ||||
iterator *start = (iterator *)(iter_ptr); | ||||
start->~iterator(); | ||||
} | ||||
static void destruct2(void *begin_ptr, void *end_ptr) { | ||||
iterator *start = (iterator *)(begin_ptr); | ||||
iterator *end = (iterator *)(end_ptr); | ||||
start->~iterator(); | ||||
end->~iterator(); | ||||
} | ||||
}; | ||||
typedef Iterators Iterators_t; | ||||
}; | }; | |||
template <> struct TCollectionProxyInfo::Pushback<std::vector<bool> > : public TCollectionProxyInfo::Type<std::vector<Bool_t> > { | template <> struct TCollectionProxyInfo::Pushback<std::vector<bool> > : public TCollectionProxyInfo::Type<std::vector<Bool_t> > { | |||
typedef std::vector<Bool_t> Cont_t; | typedef std::vector<Bool_t> Cont_t; | |||
typedef Cont_t::iterator Iter_t; | typedef Cont_t::iterator Iter_t; | |||
typedef Cont_t::value_type Value_t; | typedef Cont_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; | |||
skipping to change at line 540 | skipping to change at line 738 | |||
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->fIterator.first != c->size(); ++(e->fIter ator.first), --e->fIdx){ } | for (; e->fIdx > 0 && e->fIterator.first != c->size(); ++(e->fIter ator.first), --e->fIdx){ } | |||
e->fIterator.second = (e->fIterator.first != c->size()) ? c->test( e->fIterator.first) : false; | e->fIterator.second = (e->fIterator.first != c->size()) ? c->test( e->fIterator.first) : false; | |||
return 0; | return 0; | |||
} | } | |||
static void* construct(void*,size_t) { | static void* construct(void*,size_t) { | |||
// Nothing to construct. | // Nothing to construct. | |||
return 0; | return 0; | |||
} | } | |||
static void* collect(void* env) { | static void* collect(void *coll, void *array) { | |||
PEnv_t e = PEnv_t(env); | PCont_t c = PCont_t(coll); | |||
PCont_t c = PCont_t(e->fObject); | PValue_t m = PValue_t(array); // 'start' is a buffer outside the c | |||
PValue_t m = PValue_t(e->fStart); // 'start' is a buffer outside t | ontainer. | |||
he container. | ||||
for (size_t i=0; i != c->size(); ++i, ++m ) | for (size_t i=0; i != c->size(); ++i, ++m ) | |||
*m = c->test(i); | *m = c->test(i); | |||
return 0; | return 0; | |||
} | } | |||
static void destruct(void*,size_t) { | static void destruct(void*,size_t) { | |||
// Nothing to destruct. | // Nothing to destruct. | |||
} | } | |||
}; | }; | |||
template <typename Bitset_t> | template <typename Bitset_t> | |||
End of changes. 14 change blocks. | ||||
24 lines changed or deleted | 240 lines changed or added | |||
TDatabasePDG.h | TDatabasePDG.h | |||
---|---|---|---|---|
// @(#)root/eg:$Id: TDatabasePDG.h 43982 2012-04-27 11:01:54Z pcanal $ | // @(#)root/eg:$Id: TDatabasePDG.h 49276 2013-04-19 12:33:41Z moneta $ | |||
// 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. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 33 | skipping to change at line 33 | |||
class TExMap; | class TExMap; | |||
class TDatabasePDG: public TNamed { | class TDatabasePDG: public TNamed { | |||
protected: | protected: | |||
static TDatabasePDG *fgInstance; // protect against multiple inst ances | static TDatabasePDG *fgInstance; // protect against multiple inst ances | |||
THashList *fParticleList; // list of PDG particles | THashList *fParticleList; // list of PDG particles | |||
TObjArray *fListOfClasses; // list of classes (leptons etc. ) | TObjArray *fListOfClasses; // list of classes (leptons etc. ) | |||
mutable TExMap *fPdgMap; //!hash-map from pdg-code to par ticle | mutable TExMap *fPdgMap; //!hash-map from pdg-code to par ticle | |||
// make copy-constructor and assigment protected since class cannot be c opied | ||||
TDatabasePDG(const TDatabasePDG& db) | TDatabasePDG(const TDatabasePDG& db) | |||
: TNamed(db), fParticleList(db.fParticleList), | : TNamed(db), fParticleList(db.fParticleList), | |||
fListOfClasses(db.fListOfClasses), fPdgMap(0) { } | fListOfClasses(db.fListOfClasses), fPdgMap(0) { } | |||
TDatabasePDG& operator=(const TDatabasePDG& db) | TDatabasePDG& operator=(const TDatabasePDG& db) | |||
{if(this!=&db) {TNamed::operator=(db); fParticleList=db.fParticleList; | {if(this!=&db) {TNamed::operator=(db); fParticleList=db.fParticleList; | |||
fListOfClasses=db.fListOfClasses;} return *this;} | fListOfClasses=db.fListOfClasses; fPdgMap=db.fPdgMap;} | |||
return *this;} | ||||
void BuildPdgMap() const; | void BuildPdgMap() const; | |||
public: | public: | |||
TDatabasePDG(); | TDatabasePDG(); | |||
virtual ~TDatabasePDG(); | virtual ~TDatabasePDG(); | |||
static TDatabasePDG* Instance(); | static TDatabasePDG* Instance(); | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 5 lines changed or added | |||
TEmulatedCollectionProxy.h | TEmulatedCollectionProxy.h | |||
---|---|---|---|---|
// @(#)root/io:$Id: TEmulatedCollectionProxy.h 43271 2012-03-07 05:53:52Z p canal $ | // @(#)root/io:$Id: TEmulatedCollectionProxy.h 49000 2013-03-29 10:47:59Z p canal $ | |||
// Author: Markus Frank 28/10/04 | // Author: Markus Frank 28/10/04 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TEmulatedCollectionProxy | #ifndef ROOT_TEmulatedCollectionProxy | |||
skipping to change at line 87 | skipping to change at line 87 | |||
// Virtual in-place constructor | // Virtual in-place constructor | |||
virtual void* New(void* memory) const { return new(memory) Cont_t; } | virtual void* New(void* memory) const { return new(memory) Cont_t; } | |||
// Virtual array constructor | // Virtual array constructor | |||
virtual void* NewArray(Int_t nElements) const { return ne w Cont_t[nElements]; } | virtual void* NewArray(Int_t nElements) const { return ne w Cont_t[nElements]; } | |||
// Virtual in-place constructor | // Virtual in-place constructor | |||
virtual void* NewArray(Int_t nElements, void* memory) const { return new(memory) Cont_t[nElements]; } | virtual void* NewArray(Int_t nElements, void* memory) const { return new(memory) Cont_t[nElements]; } | |||
// Virtual destructor | // Virtual destructor | |||
virtual void Destructor(void* p, Bool_t dtorOnly = kFALSE); | virtual void Destructor(void* p, Bool_t dtorOnly = kFALSE) const; | |||
// Virtual array destructor | // Virtual array destructor | |||
virtual void DeleteArray(void* p, Bool_t dtorOnly = kFALSE); | virtual void DeleteArray(void* p, Bool_t dtorOnly = kFALSE) const; | |||
// TVirtualCollectionProxy overload: Return the sizeof the collection ob ject. | // TVirtualCollectionProxy overload: Return the sizeof the collection ob ject. | |||
virtual UInt_t Sizeof() const { return sizeof(Cont_t); } | virtual UInt_t Sizeof() const { return sizeof(Cont_t); } | |||
// Return the address of the value at index 'idx' | // Return the address of the value at index 'idx' | |||
virtual void *At(UInt_t idx); | virtual void *At(UInt_t idx); | |||
// Clear the container | // Clear the container | |||
virtual void Clear(const char *opt = ""); | virtual void Clear(const char *opt = ""); | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
TEveVSD.h | TEveVSD.h | |||
---|---|---|---|---|
// @(#)root/eve:$Id: TEveVSD.h 31363 2009-11-21 11:31:07Z matevz $ | // @(#)root/eve:$Id: TEveVSD.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 67 | skipping to change at line 67 | |||
virtual void DeleteTrees(); | virtual void DeleteTrees(); | |||
virtual void CreateBranches(); | virtual void CreateBranches(); | |||
virtual void WriteTrees(); | virtual void WriteTrees(); | |||
virtual void LoadTrees(); | virtual void LoadTrees(); | |||
virtual void SetBranchAddresses(); | virtual void SetBranchAddresses(); | |||
static void DisableTObjectStreamersForVSDStruct(); | static void DisableTObjectStreamersForVSDStruct(); | |||
ClassDef(TEveVSD, 1); // Visualization Summary Data - a collection of tr ees holding standard event data in experiment independant format. | ClassDef(TEveVSD, 1); // Visualization Summary Data - a collection of tr ees holding standard event data in experiment independent format. | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TFitEditor.h | TFitEditor.h | |||
---|---|---|---|---|
// @(#)root/fitpanel:$Id: TFitEditor.h 39109 2011-05-05 13:06:38Z moneta $ | // @(#)root/fitpanel:$Id: TFitEditor.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Ilka Antcheva, Lorenzo Moneta, David Gonzalez Maline 10/08/2006 | // Author: Ilka Antcheva, Lorenzo Moneta, David Gonzalez Maline 10/08/2006 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 134 | skipping to change at line 134 | |||
// structure holding parameter value and limits | // structure holding parameter value and limits | |||
struct FuncParamData_t { | struct FuncParamData_t { | |||
FuncParamData_t() { | FuncParamData_t() { | |||
fP[0] = 0; fP[1] = 0; fP[2] = 0; | fP[0] = 0; fP[1] = 0; fP[2] = 0; | |||
} | } | |||
Double_t & operator[](UInt_t i) { return fP[i];} | Double_t & operator[](UInt_t i) { return fP[i];} | |||
Double_t fP[3]; | Double_t fP[3]; | |||
}; | }; | |||
std::vector<FuncParamData_t> fFuncPars; // function parameters (value + limits) | std::vector<FuncParamData_t> fFuncPars; // function parameters (value + limits) | |||
std::multimap<TObject*, TF1*> fPrevFit; // Previous succesful fits. | std::multimap<TObject*, TF1*> fPrevFit; // Previous successful fits. | |||
std::vector<TF1*> fSystemFuncs; // functions managed by the fitp anel | std::vector<TF1*> fSystemFuncs; // functions managed by the fitp anel | |||
TGRadioButton *fLibMinuit; // set default minimization libr ary (Minuit) | TGRadioButton *fLibMinuit; // set default minimization libr ary (Minuit) | |||
TGRadioButton *fLibMinuit2; // set Minuit2 as minimization l ibrary | TGRadioButton *fLibMinuit2; // set Minuit2 as minimization l ibrary | |||
TGRadioButton *fLibFumili; // set Fumili as minimization li brary | TGRadioButton *fLibFumili; // set Fumili as minimization li brary | |||
TGRadioButton *fLibGSL; // set GSL as minimization libra ry | TGRadioButton *fLibGSL; // set GSL as minimization libra ry | |||
TGRadioButton *fLibGenetics; // set Genetic/GALib as minimiza tion library | TGRadioButton *fLibGenetics; // set Genetic/GALib as minimiza tion library | |||
TGComboBox *fMinMethodList; // set the minimization method | TGComboBox *fMinMethodList; // set the minimization method | |||
TGNumberEntryField *fErrorScale; // contains error scale set for minimization | TGNumberEntryField *fErrorScale; // contains error scale set for minimization | |||
TGNumberEntryField *fTolerance; // contains tolerance set for mi nimization | TGNumberEntryField *fTolerance; // contains tolerance set for mi nimization | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TFormLeafInfo.h | TFormLeafInfo.h | |||
---|---|---|---|---|
// @(#)root/treeplayer:$Id: TFormLeafInfo.h 43286 2012-03-08 13:30:37Z pcan al $ | // @(#)root/treeplayer:$Id: TFormLeafInfo.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Philippe Canal 01/06/2004 | // Author: Philippe Canal 01/06/2004 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers and al. * | * Copyright (C) 1995-2000, Rene Brun and 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 340 | skipping to change at line 340 | |||
virtual Bool_t IsString() const; | virtual Bool_t IsString() const; | |||
virtual Double_t ReadValue(char *where, Int_t instance = 0); | virtual Double_t ReadValue(char *where, Int_t instance = 0); | |||
virtual Bool_t Update(); | virtual Bool_t Update(); | |||
}; | }; | |||
//_________________________________________________________________________ _____ | //_________________________________________________________________________ _____ | |||
// | // | |||
// TFormLeafInfoMultiVarDim is a small helper class to implement reading a | // TFormLeafInfoMultiVarDim is a small helper class to implement reading a | |||
// data member on a variable size array inside a TClonesArray object stored in | // data member on a variable size array inside a TClonesArray object stored in | |||
// a TTree. This is the version used when the data member is inside a | // a TTree. This is the version used when the data member is inside a | |||
// non-splitted object. | // non-split object. | |||
class TFormLeafInfoMultiVarDim : public TFormLeafInfo { | class TFormLeafInfoMultiVarDim : public TFormLeafInfo { | |||
public: | public: | |||
Int_t fNsize; | Int_t fNsize; | |||
TArrayI fSizes; // Array of sizes of the variable dimension | TArrayI fSizes; // Array of sizes of the variable dimension | |||
TFormLeafInfo *fCounter2; // Information on how to read the secondary di mensions | TFormLeafInfo *fCounter2; // Information on how to read the secondary di mensions | |||
Int_t fSumOfSizes; // Sum of the content of fSizes | Int_t fSumOfSizes; // Sum of the content of fSizes | |||
Int_t fDim; // physical number of the dimension that is va riable | Int_t fDim; // physical number of the dimension that is va riable | |||
Int_t fVirtDim; // number of the virtual dimension to which th is object correspond. | Int_t fVirtDim; // number of the virtual dimension to which th is object correspond. | |||
Int_t fPrimaryIndex; // Index of the dimensions that is indexing th e second dimension's size | Int_t fPrimaryIndex; // Index of the dimensions that is indexing th e second dimension's size | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TFunction.h | TFunction.h | |||
---|---|---|---|---|
// @(#)root/meta:$Id: TFunction.h 42030 2011-11-15 22:23:12Z pcanal $ | // @(#)root/meta:$Id: TFunction.h 48771 2013-02-28 19:49:49Z pcanal $ | |||
// Author: Fons Rademakers 07/02/97 | // Author: Fons Rademakers 07/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 51 | skipping to change at line 51 | |||
public: | public: | |||
TFunction(MethodInfo_t *info = 0); | TFunction(MethodInfo_t *info = 0); | |||
TFunction(const TFunction &orig); | TFunction(const TFunction &orig); | |||
TFunction& operator=(const TFunction &rhs); | TFunction& operator=(const TFunction &rhs); | |||
virtual ~TFunction(); | virtual ~TFunction(); | |||
virtual TObject *Clone(const char *newname="") const; | virtual TObject *Clone(const char *newname="") const; | |||
virtual const char *GetMangledName() const; | virtual const char *GetMangledName() const; | |||
virtual const char *GetPrototype() const; | virtual const char *GetPrototype() const; | |||
const char *GetSignature(); | const char *GetSignature(); | |||
const char *GetReturnTypeName() const; | const char *GetReturnTypeName() const; | |||
std::string GetReturnTypeNormalizedName() const; | ||||
TList *GetListOfMethodArgs(); | TList *GetListOfMethodArgs(); | |||
Int_t GetNargs() const; | Int_t GetNargs() const; | |||
Int_t GetNargsOpt() const; | Int_t GetNargsOpt() const; | |||
void *InterfaceMethod() const; | void *InterfaceMethod() const; | |||
Long_t Property() const; | Long_t Property() const; | |||
ClassDef(TFunction,0) //Dictionary for global function | ClassDef(TFunction,0) //Dictionary for global function | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 2 lines changed or added | |||
TGHtml.h | TGHtml.h | |||
---|---|---|---|---|
skipping to change at line 152 | skipping to change at line 152 | |||
// An instance of the following structure is used to record style | // An instance of the following structure is used to record style | |||
// information on each Html element. | // information on each Html element. | |||
struct SHtmlStyle_t { | struct SHtmlStyle_t { | |||
unsigned int fFont : 6; // Font to use for display | unsigned int fFont : 6; // Font to use for display | |||
unsigned int fColor : 6; // Foreground color | unsigned int fColor : 6; // Foreground color | |||
signed int fSubscript : 4; // Positive for <sup>, negative for <su b> | signed int fSubscript : 4; // Positive for <sup>, negative for <su b> | |||
unsigned int fAlign : 2; // Horizontal alignment | unsigned int fAlign : 2; // Horizontal alignment | |||
unsigned int fBgcolor : 6; // Background color | unsigned int fBgcolor : 6; // Background color | |||
unsigned int fExpbg : 1; // Set to 1 if bgcolor explicitely set | unsigned int fExpbg : 1; // Set to 1 if bgcolor explicitly set | |||
unsigned int fFlags : 7; // the STY_ flags below | unsigned int fFlags : 7; // the STY_ flags below | |||
}; | }; | |||
// We allow 8 different font families: Normal, Bold, Italic and Bold-Italic | // We allow 8 different font families: Normal, Bold, Italic and Bold-Italic | |||
// in either variable or constant width. Within each family there can be up | // in either variable or constant width. Within each family there can be up | |||
// to 7 font sizes from 1 (the smallest) up to 7 (the largest). Hence, the | // to 7 font sizes from 1 (the smallest) up to 7 (the largest). Hence, the | |||
// widget can use a maximum of 56 fonts. The ".font" field of the style is | // widget can use a maximum of 56 fonts. The ".font" field of the style is | |||
// an integer between 0 and 55 which indicates which font to use. | // an integer between 0 and 55 which indicates which font to use. | |||
// HP: we further subdivide the .font field into two 3-bit subfields (size | // HP: we further subdivide the .font field into two 3-bit subfields (size | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TGLCamera.h | TGLCamera.h | |||
---|---|---|---|---|
// @(#)root/gl:$Id: TGLCamera.h 46586 2012-10-16 20:43:26Z matevz $ | // @(#)root/gl:$Id: TGLCamera.h 49071 2013-04-04 05:21: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. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TGLCamera | #ifndef ROOT_TGLCamera | |||
#define ROOT_TGLCamera | #define ROOT_TGLCamera | |||
#include "TGLUtil.h" | #include "TGLUtil.h" | |||
#include "TGLBoundingBox.h" | #include "TGLBoundingBox.h" | |||
#include "TPoint.h" | #include "TPoint.h" | |||
#include "TObject.h" | ||||
#include <cassert> | #include <cassert> | |||
#include <cmath> | #include <cmath> | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
// // | // // | |||
// TGLCamera // | // TGLCamera // | |||
// // | // // | |||
// Abstract base camera class - concrete classes for orthographic and // | // Abstract base camera class - concrete classes for orthographic and // | |||
// persepctive cameras derive from it. This class maintains values for // | // persepctive cameras derive from it. This class maintains values for // | |||
skipping to change at line 42 | skipping to change at line 43 | |||
// iv) Expanded frustum interest box // | // iv) Expanded frustum interest box // | |||
// // | // // | |||
// It provides methods for various projection, overlap and intersection // | // It provides methods for various projection, overlap and intersection // | |||
// tests for viewport and world locations, against the true frustum and // | // tests for viewport and world locations, against the true frustum and // | |||
// expanded interest box, and for extracting eye position and direction.// | // expanded interest box, and for extracting eye position and direction.// | |||
// // | // // | |||
// It also defines the pure virtual manipulation interface methods the // | // It also defines the pure virtual manipulation interface methods the // | |||
// concrete ortho and prespective classes must implement. // | // concrete ortho and prespective classes must implement. // | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
class TGLCamera | class TGLCamera : public TObject | |||
{ | { | |||
public: | public: | |||
enum EFrustumPlane | enum EFrustumPlane | |||
{ | { | |||
kNear = 0, | kNear = 0, | |||
kLeft = 1, | kLeft = 1, | |||
kRight = 2, | kRight = 2, | |||
kTop = 3, | kTop = 3, | |||
kBottom = 4, | kBottom = 4, | |||
kFar = 5, | kFar = 5, | |||
skipping to change at line 74 | skipping to change at line 75 | |||
static const Double_t fgInterestBoxExpansion; //! expansion c.f. aligned current frustum box | static const Double_t fgInterestBoxExpansion; //! expansion c.f. aligned current frustum box | |||
// Methods | // Methods | |||
TGLBoundingBox Frustum(Bool_t asBox = kTRUE) const; // current frustum | TGLBoundingBox Frustum(Bool_t asBox = kTRUE) const; // current frustum | |||
// Non-copyable class | // Non-copyable class | |||
TGLCamera(const TGLCamera &); | TGLCamera(const TGLCamera &); | |||
TGLCamera & operator=(const TGLCamera &); | TGLCamera & operator=(const TGLCamera &); | |||
protected: | protected: | |||
// Fields | // Fields | |||
TGLMatrix fCamBase; //! tranformation to center and rotation f | TGLMatrix fCamBase; // tranformation to center and rotation | |||
rom up to x vector | from up to x vector | |||
TGLMatrix fCamTrans; //! transformation relative to fCamTrans | TGLMatrix fCamTrans; // transformation relative to fCamTrans | |||
Bool_t fExternalCenter; //! use external center insead of scene ce | Bool_t fExternalCenter; // use external center insead of scene c | |||
nter | enter | |||
Bool_t fFixDefCenter; //! use fixed default center | Bool_t fFixDefCenter; // use fixed default center | |||
Bool_t fWasArcBalled; //! set when arc-ball rotation is used | Bool_t fWasArcBalled; // set when arc-ball rotation is used | |||
TGLVector3 fExtCenter; //! external camera center | TGLVector3 fExtCenter; // external camera center | |||
TGLVector3 fDefCenter; //! deafult camera center | TGLVector3 fDefCenter; // default camera center | |||
TGLVector3 fFDCenter; //! fixed deafult camera center | TGLVector3 fFDCenter; // fixed default camera center | |||
TGLVector3 *fCenter; //! current camera center | TGLVector3 *fCenter; //! current camera center | |||
mutable Double_t fNearClip; //! last applied near-clip | mutable Double_t fNearClip; //! last applied near-clip | |||
mutable Double_t fFarClip; //! last applied far-clip | mutable Double_t fFarClip; //! last applied far-clip | |||
// Set in Setup() | // Set in Setup() | |||
Double_t fDollyDefault; //! default distnce from viewing centre | Double_t fDollyDefault; // default distnce from viewing centre | |||
Double_t fDollyDistance; //! unit distance for camera movement in f | Double_t fDollyDistance; // unit distance for camera movement in f | |||
wd/bck direction | wd/bck direction | |||
Float_t fVAxisMinAngle; //! minimal allowed angle between up and fC | Float_t fVAxisMinAngle; // minimal allowed angle between u | |||
amTrans Z vector | p and fCamTrans Z vector | |||
// Internal cached matrices and frustum planes | // Internal cached matrices and frustum planes | |||
mutable Bool_t fCacheDirty; //! cached items dir ty? | mutable Bool_t fCacheDirty; //! cached items dir ty? | |||
mutable UInt_t fTimeStamp; //! timestamp | mutable UInt_t fTimeStamp; //! timestamp | |||
mutable TGLMatrix fLastNoPickProjM; //! no-pick projecti on matrix (cached) | mutable TGLMatrix fLastNoPickProjM; //! no-pick projecti on matrix (cached) | |||
mutable TGLMatrix fProjM; //! projection matri x (cached) | mutable TGLMatrix fProjM; //! projection matri x (cached) | |||
mutable TGLMatrix fModVM; //! modelView matrix (cached) | mutable TGLMatrix fModVM; //! modelView matrix (cached) | |||
mutable TGLMatrix fClipM; //! object space cli p matrix (cached) | mutable TGLMatrix fClipM; //! object space cli p matrix (cached) | |||
mutable TGLPlane fFrustumPlanes[kPlanesPerFrustum]; //! frustum planes (cached) | mutable TGLPlane fFrustumPlanes[kPlanesPerFrustum]; //! frustum planes (cached) | |||
skipping to change at line 215 | skipping to change at line 216 | |||
virtual void Configure(Double_t zoom, Double_t dolly, Double_t center[3] , | virtual void Configure(Double_t zoom, Double_t dolly, Double_t center[3] , | |||
Double_t hRotate, Double_t vRotate) = 0; | Double_t hRotate, Double_t vRotate) = 0; | |||
// Cameras expanded-frustum interest box | // Cameras expanded-frustum interest box | |||
Bool_t OfInterest(const TGLBoundingBox & box, Bool_t ignoreSize) const; | Bool_t OfInterest(const TGLBoundingBox & box, Bool_t ignoreSize) const; | |||
Bool_t UpdateInterest(Bool_t force); | Bool_t UpdateInterest(Bool_t force); | |||
void ResetInterest(); | void ResetInterest(); | |||
// Debuging - draw frustum and interest boxes | // Debuging - draw frustum and interest boxes | |||
void DrawDebugAids() const; | void DrawDebugAids() const; | |||
ClassDef(TGLCamera,0); // Camera abstract base class. | ClassDef(TGLCamera,1); // Camera abstract base class. | |||
}; | }; | |||
inline const TGLPlane & TGLCamera::FrustumPlane(EFrustumPlane plane) const | inline const TGLPlane & TGLCamera::FrustumPlane(EFrustumPlane plane) const | |||
{ | { | |||
// Return one of the planes forming the camera frustum | // Return one of the planes forming the camera frustum | |||
if (fCacheDirty) { | if (fCacheDirty) { | |||
Error("TGLCamera::FrustumBox()", "cache dirty"); | Error("TGLCamera::FrustumBox()", "cache dirty"); | |||
} | } | |||
return fFrustumPlanes[plane]; | return fFrustumPlanes[plane]; | |||
} | } | |||
End of changes. 5 change blocks. | ||||
25 lines changed or deleted | 26 lines changed or added | |||
TGLFormat.h | TGLFormat.h | |||
---|---|---|---|---|
// @(#)root/gl:$Id: TGLFormat.h 36675 2010-11-15 20:33:58Z matevz $ | // @(#)root/gl:$Id: TGLFormat.h 48649 2013-02-20 08:49:29Z tpochep $ | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TGLFormat | #ifndef ROOT_TGLFormat | |||
#define ROOT_TGLFormat | #define ROOT_TGLFormat | |||
#include "TVirtualGL.h" | ||||
#include "Rtypes.h" | #include "Rtypes.h" | |||
#include <vector> | #include <vector> | |||
/* | /* | |||
TGLFormat class describes the pixel format of a drawing surface. | TGLFormat class describes the pixel format of a drawing surface. | |||
It's a generic analog of PIXELFORMATDESCRIPTOR (win32) or | It's a generic analog of PIXELFORMATDESCRIPTOR (win32) or | |||
array of integer constants array for glXChooseVisual (X11). | array of integer constants array for glXChooseVisual (X11). | |||
This class is in a very preliminary state, different | This class is in a very preliminary state, different | |||
options have not been tested yet, only defaults. | options have not been tested yet, only defaults. | |||
skipping to change at line 34 | skipping to change at line 35 | |||
Surface can be: | Surface can be: | |||
-RGBA | -RGBA | |||
-with/without depth buffer | -with/without depth buffer | |||
-with/without stencil buffer | -with/without stencil buffer | |||
-with/without accum buffer | -with/without accum buffer | |||
-double/single buffered | -double/single buffered | |||
*/ | */ | |||
class TGLFormat | class TGLFormat | |||
{ | { | |||
public: | ||||
enum EFormatOptions | ||||
{ | ||||
kNone = 0, | ||||
kDoubleBuffer = 1, | ||||
kDepth = 2, | ||||
kAccum = 4, | ||||
kStencil = 8, | ||||
kStereo = 16, | ||||
kMultiSample = 32 | ||||
}; | ||||
private: | private: | |||
Bool_t fDoubleBuffered; | Bool_t fDoubleBuffered; | |||
Bool_t fStereo; | Bool_t fStereo; | |||
Int_t fDepthSize; | Int_t fDepthSize; | |||
Int_t fAccumSize; | Int_t fAccumSize; | |||
Int_t fStencilSize; | Int_t fStencilSize; | |||
Int_t fSamples; | Int_t fSamples; | |||
static std::vector<Int_t> fgAvailableSamples; | static std::vector<Int_t> fgAvailableSamples; | |||
static Int_t GetDefaultSamples(); | static Int_t GetDefaultSamples(); | |||
static void InitAvailableSamples(); | static void InitAvailableSamples(); | |||
public: | public: | |||
TGLFormat(); | TGLFormat(); | |||
TGLFormat(EFormatOptions options); | TGLFormat(Rgl::EFormatOptions options); | |||
//Virtual dtor only to supress warnings from g++ - | //Virtual dtor only to supress warnings from g++ - | |||
//ClassDef adds virtual functions, so g++ wants virtual dtor. | //ClassDef adds virtual functions, so g++ wants virtual dtor. | |||
virtual ~TGLFormat(); | virtual ~TGLFormat(); | |||
Bool_t operator == (const TGLFormat &rhs)const; | Bool_t operator == (const TGLFormat &rhs)const; | |||
Bool_t operator != (const TGLFormat &rhs)const; | Bool_t operator != (const TGLFormat &rhs)const; | |||
Int_t GetDepthSize()const; | Int_t GetDepthSize()const; | |||
void SetDepthSize(Int_t depth); | void SetDepthSize(Int_t depth); | |||
End of changes. 4 change blocks. | ||||
14 lines changed or deleted | 3 lines changed or added | |||
TGLOrthoCamera.h | TGLOrthoCamera.h | |||
---|---|---|---|---|
// @(#)root/gl:$Id: TGLOrthoCamera.h 28212 2009-04-15 11:05:29Z matevz $ | // @(#)root/gl:$Id: TGLOrthoCamera.h 49071 2013-04-04 05:21: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 38 | skipping to change at line 38 | |||
// rotations about them. // | // rotations about them. // | |||
// // | // // | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
class TGLPaintDevice; | class TGLPaintDevice; | |||
class TGLOrthoCamera : public TGLCamera | class TGLOrthoCamera : public TGLCamera | |||
{ | { | |||
public: | public: | |||
enum EType { kZOY, kXOZ, kXOY, // Pair of world axes aligned to h/v screen. | enum EType { kZOY, kXOZ, kXOY, // Pair of world axes aligned to h/v screen. | |||
kZnOY, kXnOZ, kXnOY }; // 'n' means preceeding axis is nega ted. | kZnOY, kXnOZ, kXnOY }; // 'n' means preceding axis is negat ed. | |||
private: | private: | |||
// Fields | // Fields | |||
EType fType; //! camera type | EType fType; // camera type | |||
Bool_t fEnableRotate; //! enable rotation | Bool_t fEnableRotate; // enable rotation | |||
Bool_t fDollyToZoom; //! zoom when dolly is requested | Bool_t fDollyToZoom; // zoom when dolly is requested | |||
// Limits - set in Setup() | // Limits - set in Setup() | |||
Double_t fZoomMin; //! minimum zoom factor | Double_t fZoomMin; // minimum zoom factor | |||
Double_t fZoomDefault; //! default zoom factor | Double_t fZoomDefault; // default zoom factor | |||
Double_t fZoomMax; //! maximum zoom factor | Double_t fZoomMax; // maximum zoom factor | |||
TGLBoundingBox fVolume; //! scene volume | TGLBoundingBox fVolume; //! scene volume | |||
// Current interaction | // Current interaction | |||
Double_t fDefXSize, fDefYSize; //! x, y size of scene from camera view | Double_t fDefXSize, fDefYSize; //! x, y size of scene from camera view | |||
Double_t fZoom; //! current zoom | Double_t fZoom; // current zoom | |||
static UInt_t fgZoomDeltaSens; | static UInt_t fgZoomDeltaSens; | |||
public: | public: | |||
TGLOrthoCamera(); | ||||
TGLOrthoCamera(EType type, const TGLVector3 & hAxis, const TGLVector3 & vAxis); | TGLOrthoCamera(EType type, const TGLVector3 & hAxis, const TGLVector3 & vAxis); | |||
virtual ~TGLOrthoCamera(); | virtual ~TGLOrthoCamera(); | |||
virtual Bool_t IsOrthographic() const { return kTRUE; } | virtual Bool_t IsOrthographic() const { return kTRUE; } | |||
virtual void Setup(const TGLBoundingBox & box, Bool_t reset=kTRUE); | virtual void Setup(const TGLBoundingBox & box, Bool_t reset=kTRUE); | |||
virtual void Reset(); | virtual void Reset(); | |||
virtual Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2); | virtual Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2); | |||
virtual Bool_t Zoom (Int_t delta, Bool_t mod1, Bool_t mod2); | virtual Bool_t Zoom (Int_t delta, Bool_t mod1, Bool_t mod2); | |||
skipping to change at line 90 | skipping to change at line 91 | |||
Double_t GetZoomMin() const { return fZoomMin; } | Double_t GetZoomMin() const { return fZoomMin; } | |||
Double_t GetZoomMax() const { return fZoomMax; } | Double_t GetZoomMax() const { return fZoomMax; } | |||
void SetZoomMin(Double_t z); | void SetZoomMin(Double_t z); | |||
void SetZoomMax(Double_t z); | void SetZoomMax(Double_t z); | |||
void SetZoomMinMax(Double_t min, Double_t max) { SetZoomMin(min); Se tZoomMax(max); } | void SetZoomMinMax(Double_t min, Double_t max) { SetZoomMin(min); Se tZoomMax(max); } | |||
void SetDollyToZoom(Bool_t x) { fDollyToZoom = x; } | void SetDollyToZoom(Bool_t x) { fDollyToZoom = x; } | |||
Bool_t GetDollyToZoom() const { return fDollyToZoom; } | Bool_t GetDollyToZoom() const { return fDollyToZoom; } | |||
ClassDef(TGLOrthoCamera,0) // Camera for orthographic view. | void SetZoom(Double_t x) { fZoom = x; } | |||
Double_t GetZoom() const { return fZoom; } | ||||
ClassDef(TGLOrthoCamera,1) // Camera for orthographic view. | ||||
}; | }; | |||
#endif // ROOT_TGLOrthoCamera | #endif // ROOT_TGLOrthoCamera | |||
End of changes. 7 change blocks. | ||||
10 lines changed or deleted | 14 lines changed or added | |||
TGLPerspectiveCamera.h | TGLPerspectiveCamera.h | |||
---|---|---|---|---|
// @(#)root/gl:$Id: TGLPerspectiveCamera.h 46586 2012-10-16 20:43:26Z matev z $ | // @(#)root/gl:$Id: TGLPerspectiveCamera.h 49071 2013-04-04 05:21:42Z matev z $ | |||
// Author: Richard Maunder 25/05/2005 | // Author: Richard Maunder 25/05/2005 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 29 | skipping to change at line 29 | |||
// TGLPerspectiveCamera // | // TGLPerspectiveCamera // | |||
// // | // // | |||
// Perspective projection camera - with characteristic foreshortening. // | // Perspective projection camera - with characteristic foreshortening. // | |||
// // | // // | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
class TGLPerspectiveCamera : public TGLCamera | class TGLPerspectiveCamera : public TGLCamera | |||
{ | { | |||
private: | private: | |||
// Fields | // Fields | |||
Double_t fFOV; //! | Double_t fFOV; | |||
static Double_t fgFOVMin, fgFOVDefault, fgFOVMax; | static Double_t fgFOVMin, fgFOVDefault, fgFOVMax; | |||
static UInt_t fgFOVDeltaSens; | static UInt_t fgFOVDeltaSens; | |||
public: | public: | |||
TGLPerspectiveCamera(); | ||||
TGLPerspectiveCamera(const TGLVector3 & hAxis, const TGLVector3 & vAxis) ; | TGLPerspectiveCamera(const TGLVector3 & hAxis, const TGLVector3 & vAxis) ; | |||
virtual ~TGLPerspectiveCamera(); | virtual ~TGLPerspectiveCamera(); | |||
virtual Bool_t IsPerspective() const { return kTRUE; } | virtual Bool_t IsPerspective() const { return kTRUE; } | |||
Double_t GetFOV() const { return fFOV; } | Double_t GetFOV() const { return fFOV; } | |||
virtual void Setup(const TGLBoundingBox & box, Bool_t reset=kTRUE); | virtual void Setup(const TGLBoundingBox & box, Bool_t reset=kTRUE); | |||
virtual void Reset(); | virtual void Reset(); | |||
virtual Bool_t Zoom (Int_t delta, Bool_t mod1, Bool_t mod2); | virtual Bool_t Zoom (Int_t delta, Bool_t mod1, Bool_t mod2); | |||
using TGLCamera::Truck; | using TGLCamera::Truck; | |||
virtual Bool_t Truck(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod 2); | virtual Bool_t Truck(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod 2); | |||
virtual void Apply(const TGLBoundingBox & box, const TGLRect * pickRec t = 0) const; | virtual void Apply(const TGLBoundingBox & box, const TGLRect * pickRec t = 0) const; | |||
// External scripting control | // External scripting control | |||
virtual void Configure(Double_t fov, Double_t dolly, Double_t center[3], | virtual void Configure(Double_t fov, Double_t dolly, Double_t center[3], | |||
Double_t hRotate, Double_t vRotate); | Double_t hRotate, Double_t vRotate); | |||
ClassDef(TGLPerspectiveCamera,0) // Camera for perspective view. | ClassDef(TGLPerspectiveCamera,1) // Camera for perspective view. | |||
}; | }; | |||
#endif // ROOT_TGLPerspectiveCamera | #endif // ROOT_TGLPerspectiveCamera | |||
End of changes. 4 change blocks. | ||||
3 lines changed or deleted | 4 lines changed or added | |||
TGLUtil.h | TGLUtil.h | |||
---|---|---|---|---|
// @(#)root/gl:$Id: TGLUtil.h 47130 2012-11-09 03:05:52Z matevz $ | // @(#)root/gl:$Id: TGLUtil.h 49071 2013-04-04 05:21: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 133 | skipping to change at line 133 | |||
Double_t Y() const { return fVals[1]; } | Double_t Y() const { return fVals[1]; } | |||
Double_t & Y() { return fVals[1]; } | Double_t & Y() { return fVals[1]; } | |||
Double_t Z() const { return fVals[2]; } | Double_t Z() const { return fVals[2]; } | |||
Double_t & Z() { return fVals[2]; } | Double_t & Z() { return fVals[2]; } | |||
const Double_t * CArr() const { return fVals; } | const Double_t * CArr() const { return fVals; } | |||
Double_t * Arr() { return fVals; } | Double_t * Arr() { return fVals; } | |||
void Dump() const; | void Dump() const; | |||
ClassDef(TGLVertex3,0); // GL 3 component vertex helper/wrapper class | ClassDef(TGLVertex3,1); // GL 3 component vertex helper/wrapper class | |||
}; | }; | |||
//_________________________________________________________________________ _____ | //_________________________________________________________________________ _____ | |||
inline TGLVertex3 operator*(Double_t f, const TGLVertex3& v) | inline TGLVertex3 operator*(Double_t f, const TGLVertex3& v) | |||
{ | { | |||
return TGLVertex3(f*v.X(), f*v.Y(), f*v.Z()); | return TGLVertex3(f*v.X(), f*v.Y(), f*v.Z()); | |||
} | } | |||
//_________________________________________________________________________ _____ | //_________________________________________________________________________ _____ | |||
inline void TGLVertex3::Negate() | inline void TGLVertex3::Negate() | |||
skipping to change at line 266 | skipping to change at line 266 | |||
TGLVector3& operator = (const TGLVertex3& v) | TGLVector3& operator = (const TGLVertex3& v) | |||
{ fVals[0] = v[0]; fVals[1] = v[1]; fVals[2] = v[2]; return *this; } | { fVals[0] = v[0]; fVals[1] = v[1]; fVals[2] = v[2]; return *this; } | |||
TGLVector3 & operator /= (Double_t val); | TGLVector3 & operator /= (Double_t val); | |||
TGLVector3 operator - () const; | TGLVector3 operator - () const; | |||
Double_t Mag() const; | Double_t Mag() const; | |||
void Normalise(); | void Normalise(); | |||
ClassDef(TGLVector3,0); // GL 3 component vector helper/wrapper class | ClassDef(TGLVector3,1); // GL 3 component vector helper/wrapper class | |||
}; | }; | |||
// Inline for TGLVertex3 requiring full TGLVector definition | // Inline for TGLVertex3 requiring full TGLVector definition | |||
//_________________________________________________________________________ _____ | //_________________________________________________________________________ _____ | |||
inline const TGLVertex3 & TGLVertex3::operator -= (const TGLVector3 & vec) | inline const TGLVertex3 & TGLVertex3::operator -= (const TGLVector3 & vec) | |||
{ | { | |||
fVals[0] -= vec[0]; fVals[1] -= vec[1]; fVals[2] -= vec[2]; | fVals[0] -= vec[0]; fVals[1] -= vec[1]; fVals[2] -= vec[2]; | |||
return *this; | return *this; | |||
} | } | |||
skipping to change at line 669 | skipping to change at line 669 | |||
TGLVector3 Rotate(const TGLVector3& v) const; | TGLVector3 Rotate(const TGLVector3& v) const; | |||
void MultiplyIP(TGLVector3& v, Double_t w=1) const; | void MultiplyIP(TGLVector3& v, Double_t w=1) const; | |||
void RotateIP(TGLVector3& v) const; | void RotateIP(TGLVector3& v) const; | |||
// Internal data accessors - for GL API | // Internal data accessors - for GL API | |||
const Double_t * CArr() const { return fVals; } | const Double_t * CArr() const { return fVals; } | |||
Double_t * Arr() { return fVals; } | Double_t * Arr() { return fVals; } | |||
void Dump() const; | void Dump() const; | |||
ClassDef(TGLMatrix,0); // GL matrix helper/wrapper class | ClassDef(TGLMatrix,1); // GL matrix helper/wrapper class | |||
}; | }; | |||
//_________________________________________________________________________ _____ | //_________________________________________________________________________ _____ | |||
inline TGLMatrix & TGLMatrix::operator =(const TGLMatrix & rhs) | inline TGLMatrix & TGLMatrix::operator =(const TGLMatrix & rhs) | |||
{ | { | |||
// Check for self-assignment | // Check for self-assignment | |||
if (this != &rhs) { | if (this != &rhs) { | |||
Set(rhs.fVals); | Set(rhs.fVals); | |||
} | } | |||
return *this; | return *this; | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
TGListBox.h | TGListBox.h | |||
---|---|---|---|---|
// @(#)root/gui:$Id: TGListBox.h 36119 2010-10-06 14:10:03Z rdm $ | // @(#)root/gui:$Id: TGListBox.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Fons Rademakers 12/01/98 | // Author: Fons Rademakers 12/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 155 | skipping to change at line 155 | |||
class TGLineLBEntry : public TGTextLBEntry { | class TGLineLBEntry : public TGTextLBEntry { | |||
private: | private: | |||
TGLineLBEntry(const TGLineLBEntry&); // Not implemented | TGLineLBEntry(const TGLineLBEntry&); // Not implemented | |||
TGLineLBEntry operator=(const TGLineLBEntry&); // Not implemented | TGLineLBEntry operator=(const TGLineLBEntry&); // Not implemented | |||
protected: | protected: | |||
UInt_t fLineWidth; // line width | UInt_t fLineWidth; // line width | |||
Style_t fLineStyle; // line style | Style_t fLineStyle; // line style | |||
UInt_t fLineLength; // line lenght | UInt_t fLineLength; // line length | |||
TGGC *fLineGC; // line graphics context | TGGC *fLineGC; // line graphics context | |||
virtual void DoRedraw(); | virtual void DoRedraw(); | |||
public: | public: | |||
TGLineLBEntry(const TGWindow *p = 0, Int_t id = -1, const char *str = 0, | TGLineLBEntry(const TGWindow *p = 0, Int_t id = -1, const char *str = 0, | |||
UInt_t w = 0, Style_t s = 0, | UInt_t w = 0, Style_t s = 0, | |||
UInt_t options = kHorizontalFrame, | UInt_t options = kHorizontalFrame, | |||
Pixel_t back = GetWhitePixel()); | Pixel_t back = GetWhitePixel()); | |||
virtual ~TGLineLBEntry(); | virtual ~TGLineLBEntry(); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TGMdiMainFrame.h | TGMdiMainFrame.h | |||
---|---|---|---|---|
// @(#)root/gui:$Id: TGMdiMainFrame.h 40531 2011-08-10 13:56:13Z bellenot $ | // @(#)root/gui:$Id: TGMdiMainFrame.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Bertrand Bellenot 20/08/2004 | // Author: Bertrand Bellenot 20/08/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 151 | skipping to change at line 151 | |||
friend class TGMdiFrame; | friend class TGMdiFrame; | |||
protected: | protected: | |||
enum { | enum { | |||
// the width of minimized windows, in "height" units | // the width of minimized windows, in "height" units | |||
kMinimizedWidth = 5 | kMinimizedWidth = 5 | |||
}; | }; | |||
Int_t fCurrentX, fCurrentY, fResizeMode; // current MDI chi ld XY position and resize mode | Int_t fCurrentX, fCurrentY, fResizeMode; // current MDI chi ld XY position and resize mode | |||
Int_t fArrangementMode; // MDI childs arra | Int_t fArrangementMode; // MDI children ar | |||
ngement mode | rangement mode | |||
TGFont *fFontCurrent, *fFontNotCurrent; // fonts for activ | TGFont *fFontCurrent, *fFontNotCurrent; // fonts for activ | |||
e and inactive MDI childs | e and inactive MDI children | |||
Pixel_t fBackCurrent, fForeCurrent; // back and fore c | Pixel_t fBackCurrent, fForeCurrent; // back and fore c | |||
olors for active MDI childs | olors for active MDI children | |||
Pixel_t fBackNotCurrent, fForeNotCurrent; // back and fore c | Pixel_t fBackNotCurrent, fForeNotCurrent; // back and fore c | |||
olors for inactive MDI childs | olors for inactive MDI children | |||
TGGC *fBoxGC; // GC used to draw resizing box (rectangle) | TGGC *fBoxGC; // GC used to draw resizing box (rectangle) | |||
Long_t fNumberOfFrames; // number of MDI c hild windows | Long_t fNumberOfFrames; // number of MDI c hild windows | |||
TGMdiMenuBar *fMenuBar; // menu bar | TGMdiMenuBar *fMenuBar; // menu bar | |||
TGFrame *fContainer; // MDI container | TGFrame *fContainer; // MDI container | |||
TGPopupMenu *fWinListMenu; // popup menu with list of MDI child windows | TGPopupMenu *fWinListMenu; // popup menu with list of MDI child windows | |||
TGMdiFrameList *fChildren; // list of MDI chi ld windows | TGMdiFrameList *fChildren; // list of MDI chi ld windows | |||
TGMdiFrameList *fCurrent; // current list of MDI child windows | TGMdiFrameList *fCurrent; // current list of MDI child windows | |||
End of changes. 2 change blocks. | ||||
9 lines changed or deleted | 9 lines changed or added | |||
TGPack.h | TGPack.h | |||
---|---|---|---|---|
// @(#)root/eve:$Id: TGPack.h 29129 2009-06-22 09:39:20Z brun $ | // @(#)root/eve:$Id: TGPack.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 104 | skipping to change at line 104 | |||
void EqualizeFrames(); | void EqualizeFrames(); | |||
void HandleSplitterStart(); | void HandleSplitterStart(); | |||
void HandleSplitterResize(Int_t delta); | void HandleSplitterResize(Int_t delta); | |||
// ---------------------------------------------------------------- | // ---------------------------------------------------------------- | |||
Bool_t GetVertical() const { return fVertical; } | Bool_t GetVertical() const { return fVertical; } | |||
void SetVertical(Bool_t x); | void SetVertical(Bool_t x); | |||
// For now assume this is always true. Lenght of splitter = 4 pixels. | // For now assume this is always true. Length of splitter = 4 pixels. | |||
Bool_t GetUseSplitters() const { return fUseSplitters; } | Bool_t GetUseSplitters() const { return fUseSplitters; } | |||
void SetUseSplitters(Bool_t x) { fUseSplitters = x; } | void SetUseSplitters(Bool_t x) { fUseSplitters = x; } | |||
ClassDef(TGPack, 0); // Horizontal or vertical stack of frames. | ClassDef(TGPack, 0); // Horizontal or vertical stack of frames. | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TGText.h | TGText.h | |||
---|---|---|---|---|
// @(#)root/gui:$Id: TGText.h 23115 2008-04-10 13:35:37Z rdm $ | // @(#)root/gui:$Id: TGText.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Fons Rademakers 26/04/98 | // Author: Fons Rademakers 26/04/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 39 | skipping to change at line 39 | |||
#ifndef ROOT_TGDimension | #ifndef ROOT_TGDimension | |||
#include "TGDimension.h" | #include "TGDimension.h" | |||
#endif | #endif | |||
class TGTextLine { | class TGTextLine { | |||
friend class TGText; | friend class TGText; | |||
protected: | protected: | |||
char *fString; // line of text | char *fString; // line of text | |||
ULong_t fLength; // lenght of line | ULong_t fLength; // length of line | |||
TGTextLine *fPrev; // previous line | TGTextLine *fPrev; // previous line | |||
TGTextLine *fNext; // next line | TGTextLine *fNext; // next line | |||
TGTextLine(const TGTextLine&); | TGTextLine(const TGTextLine&); | |||
TGTextLine& operator=(const TGTextLine&); | TGTextLine& operator=(const TGTextLine&); | |||
public: | public: | |||
TGTextLine(); | TGTextLine(); | |||
TGTextLine(TGTextLine *line); | TGTextLine(TGTextLine *line); | |||
TGTextLine(const char *string); | TGTextLine(const char *string); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TGenCollectionProxy.h | TGenCollectionProxy.h | |||
---|---|---|---|---|
// @(#)root/io:$Id: TGenCollectionProxy.h 43276 2012-03-07 17:13:42Z pcanal $ | // @(#)root/io:$Id: TGenCollectionProxy.h 49000 2013-03-29 10:47:59Z pcanal $ | |||
// Author: Markus Frank 28/10/04 | // Author: Markus Frank 28/10/04 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TGenCollectionProxy | #ifndef ROOT_TGenCollectionProxy | |||
skipping to change at line 313 | skipping to change at line 313 | |||
protected: | protected: | |||
typedef ROOT::TCollectionProxyInfo::Environ<char[64]> Env_t; | typedef ROOT::TCollectionProxyInfo::Environ<char[64]> Env_t; | |||
typedef ROOT::TCollectionProxyInfo::EnvironBase EnvironBase_t; | typedef ROOT::TCollectionProxyInfo::EnvironBase EnvironBase_t; | |||
typedef std::vector<TStaging*> Staged_t; // Collection of pre- allocated staged array for associative containers. | typedef std::vector<TStaging*> Staged_t; // Collection of pre- allocated staged array for associative containers. | |||
typedef std::vector<EnvironBase_t*> Proxies_t; | typedef std::vector<EnvironBase_t*> Proxies_t; | |||
mutable TObjArray *fReadMemberWise; // Array of bundle of TStreamerInfoActions to stream out (read) | mutable TObjArray *fReadMemberWise; // Array of bundle of TStreamerInfoActions to stream out (read) | |||
mutable std::map<std::string, TObjArray*> *fConversionReadMemberWise; // Array of bundle of TStreamerInfoActions to stream out (read) derived from a nother class. | mutable std::map<std::string, TObjArray*> *fConversionReadMemberWise; // Array of bundle of TStreamerInfoActions to stream out (read) derived from a nother class. | |||
mutable TStreamerInfoActions::TActionSequence *fWriteMemberWise; | mutable TStreamerInfoActions::TActionSequence *fWriteMemberWise; | |||
typedef void (*Sizing_t)(void *obj, size_t size); | typedef void (*Sizing_t)(void *obj, size_t size); | |||
typedef void* (*Feedfunc_t)(void *from, void *to, size_t size); | typedef void* (*Feedfunc_t)(void *from, void *to, size_t size); | |||
typedef void* (*Collectfunc_t)(void *from, void *to); | ||||
typedef void* (*ArrIterfunc_t)(void *from, size_t size); | typedef void* (*ArrIterfunc_t)(void *from, size_t size); | |||
std::string fName; // Name of the class being proxied. | std::string fName; // Name of the class being proxied. | |||
Bool_t fPointers; // Flag to indicate if containee has pointers (key or value) | Bool_t fPointers; // Flag to indicate if containee has pointers (key or value) | |||
Method fClear; // Method cache for container accessors: clear container | Method fClear; // Method cache for container accessors: clear container | |||
Method fSize; // Container accessors: size of container | Method fSize; // Container accessors: size of container | |||
Sizing_t fResize; // Container accessors: resize container | Sizing_t fResize; // Container accessors: resize container | |||
Method fFirst; // Container accessors: generic iteration: fir st | Method fFirst; // Container accessors: generic iteration: fir st | |||
Method fNext; // Container accessors: generic iteration: nex t | Method fNext; // Container accessors: generic iteration: nex t | |||
ArrIterfunc_t fConstruct; // Container accessors: block construct | ArrIterfunc_t fConstruct; // Container accessors: block construct | |||
Sizing_t fDestruct; // Container accessors: block destruct | Sizing_t fDestruct; // Container accessors: block destruct | |||
Feedfunc_t fFeed; // Container accessors: block feed | Feedfunc_t fFeed; // Container accessors: block feed | |||
Method fCollect; // Method to collect objects from container | Collectfunc_t fCollect; // Method to collect objects from container | |||
Method0 fCreateEnv; // Method to allocate an Environment holder. | Method0 fCreateEnv; // Method to allocate an Environment holder. | |||
Value* fValue; // Descriptor of the container value type | Value* fValue; // Descriptor of the container value type | |||
Value* fVal; // Descriptor of the Value_type | Value* fVal; // Descriptor of the Value_type | |||
Value* fKey; // Descriptor of the key_type | Value* fKey; // Descriptor of the key_type | |||
EnvironBase_t*fEnv; // Address of the currently proxied object | EnvironBase_t*fEnv; // Address of the currently proxied object | |||
int fValOffset; // Offset from key to value (in maps) | int fValOffset; // Offset from key to value (in maps) | |||
int fValDiff; // Offset between two consecutive value_types (memory layout). | int fValDiff; // Offset between two consecutive value_types (memory layout). | |||
Proxies_t fProxyList; // Stack of recursive proxies | Proxies_t fProxyList; // Stack of recursive proxies | |||
Proxies_t fProxyKept; // Optimization: Keep proxies once they were c reated | Proxies_t fProxyKept; // Optimization: Keep proxies once they were c reated | |||
Staged_t fStaged; // Optimization: Keep staged array once they w ere created | Staged_t fStaged; // Optimization: Keep staged array once they w ere created | |||
int fSTL_type; // STL container type | int fSTL_type; // STL container type | |||
Info_t fTypeinfo; // Type information | Info_t fTypeinfo; // Type information | |||
TClass* fOnFileClass; // On file class | TClass* fOnFileClass; // On file class | |||
CreateIterators_t fFunctionCreateIterators; | CreateIterators_t fFunctionCreateIterators; | |||
CopyIterator_t fFunctionCopyIterator; | ||||
Next_t fFunctionNextIterator; | ||||
DeleteIterator_t fFunctionDeleteIterator; | ||||
DeleteTwoIterators_t fFunctionDeleteTwoIterators; | DeleteTwoIterators_t fFunctionDeleteTwoIterators; | |||
// Late initialization of collection proxy | // Late initialization of collection proxy | |||
TGenCollectionProxy* Initialize(Bool_t silent) const; | TGenCollectionProxy* Initialize(Bool_t silent) const; | |||
// Some hack to avoid const-ness. | // Some hack to avoid const-ness. | |||
virtual TGenCollectionProxy* InitializeEx(Bool_t silent); | virtual TGenCollectionProxy* InitializeEx(Bool_t silent); | |||
// Call to delete/destruct individual contained item. | // Call to delete/destruct individual contained item. | |||
virtual void DeleteItem(Bool_t force, void* ptr) const; | virtual void DeleteItem(Bool_t force, void* ptr) const; | |||
// Allow to check function pointers. | // Allow to check function pointers. | |||
void CheckFunctions() const; | void CheckFunctions() const; | |||
skipping to change at line 375 | skipping to change at line 379 | |||
public: | public: | |||
// Initializing constructor | // Initializing constructor | |||
TGenCollectionProxy(Info_t typ, size_t iter_size); | TGenCollectionProxy(Info_t typ, size_t iter_size); | |||
TGenCollectionProxy(const ROOT::TCollectionProxyInfo &info, TClass *cl); | TGenCollectionProxy(const ROOT::TCollectionProxyInfo &info, TClass *cl); | |||
// Standard destructor. | // Standard destructor. | |||
virtual ~TGenCollectionProxy(); | virtual ~TGenCollectionProxy(); | |||
// Return a pointer to the TClass representing the container. | // Return a pointer to the TClass representing the container. | |||
virtual TClass *GetCollectionClass(); | virtual TClass *GetCollectionClass() const; | |||
// Return the type of collection see TClassEdit::ESTLType | // Return the type of collection see TClassEdit::ESTLType | |||
virtual Int_t GetCollectionType(); | virtual Int_t GetCollectionType() const; | |||
// Return the offset between two consecutive value_types (memory layout) . | // Return the offset between two consecutive value_types (memory layout) . | |||
virtual ULong_t GetIncrement(); | virtual ULong_t GetIncrement() const; | |||
// Return the sizeof the collection object. | // Return the sizeof the collection object. | |||
virtual UInt_t Sizeof() const; | virtual UInt_t Sizeof() const; | |||
// Push new proxy environment. | // Push new proxy environment. | |||
virtual void PushProxy(void *objstart); | virtual void PushProxy(void *objstart); | |||
// Pop old proxy environment. | // Pop old proxy environment. | |||
virtual void PopProxy(); | virtual void PopProxy(); | |||
// Return true if the content is of type 'pointer to'. | // Return true if the content is of type 'pointer to'. | |||
virtual Bool_t HasPointers() const; | virtual Bool_t HasPointers() const; | |||
// Return a pointer to the TClass representing the content. | // Return a pointer to the TClass representing the content. | |||
virtual TClass *GetValueClass(); | virtual TClass *GetValueClass() const; | |||
// Set pointer to the TClass representing the content. | // Set pointer to the TClass representing the content. | |||
virtual void SetValueClass(TClass *newcl); | virtual void SetValueClass(TClass *newcl); | |||
// If the content is a simple numerical value, return its type (see TDat aType). | // If the content is a simple numerical value, return its type (see TDat aType). | |||
virtual EDataType GetType(); | virtual EDataType GetType() const; | |||
// Return the address of the value at index 'idx'. | // Return the address of the value at index 'idx'. | |||
virtual void *At(UInt_t idx); | virtual void *At(UInt_t idx); | |||
// Clear the container. | // Clear the container. | |||
virtual void Clear(const char *opt = ""); | virtual void Clear(const char *opt = ""); | |||
// Resize the container. | // Resize the container. | |||
virtual void Resize(UInt_t n, Bool_t force_delete); | virtual void Resize(UInt_t n, Bool_t force_delete); | |||
skipping to change at line 452 | skipping to change at line 456 | |||
// Set of functions to iterate easily throught the collection | // Set of functions to iterate easily throught the collection | |||
virtual CreateIterators_t GetFunctionCreateIterators(Bool_t read = kTRUE ); | virtual CreateIterators_t GetFunctionCreateIterators(Bool_t read = kTRUE ); | |||
// typedef void (*CreateIterators_t)(void *collection, void **begin_aren a, void **end_arena); | // typedef void (*CreateIterators_t)(void *collection, void **begin_aren a, void **end_arena); | |||
// begin_arena and end_arena should contain the location of a memory are na of size fgIteratorSize. | // begin_arena and end_arena should contain the location of a memory are na of size fgIteratorSize. | |||
// If the collection iterator are of that size or less, the iterators wi ll be constructed in place in those location (new with placement) | // If the collection iterator are of that size or less, the iterators wi ll be constructed in place in those location (new with placement) | |||
// Otherwise the iterators will be allocated via a regular new and their address returned by modifying the value of begin_arena and end_arena. | // Otherwise the iterators will be allocated via a regular new and their address returned by modifying the value of begin_arena and end_arena. | |||
virtual CopyIterator_t GetFunctionCopyIterator(Bool_t read = kTRUE); | virtual CopyIterator_t GetFunctionCopyIterator(Bool_t read = kTRUE); | |||
// typedef void* (*CopyIterator_t)(void *dest, const void *source); | // typedef void* (*CopyIterator_t)(void **dest, const void *source); | |||
// Copy the iterator source, into dest. dest should contain the locati on of a memory arena of size fgIteratorSize. | // Copy the iterator source, into dest. dest should contain the locati on of a memory arena of size fgIteratorSize. | |||
// If the collection iterator is of that size or less, the iterator will be constructed in place in this location (new with placement) | // If the collection iterator is of that size or less, the iterator will be constructed in place in this location (new with placement) | |||
// Otherwise the iterator will be allocated via a regular new and its ad | // Otherwise the iterator will be allocated via a regular new. | |||
dress returned by modifying the value of dest. | // The actual address of the iterator is returned in both case. | |||
virtual Next_t GetFunctionNext(Bool_t read = kTRUE); | virtual Next_t GetFunctionNext(Bool_t read = kTRUE); | |||
// typedef void* (*Next_t)(void *iter, const void *end); | // typedef void* (*Next_t)(void *iter, const void *end); | |||
// iter and end should be pointers to respectively an iterator to be inc remented and the result of collection.end() | // iter and end should be pointers to respectively an iterator to be inc remented and the result of collection.end() | |||
// If the iterator has not reached the end of the collection, 'Next' inc rement the iterator 'iter' and return 0 if | // If the iterator has not reached the end of the collection, 'Next' inc rement the iterator 'iter' and return 0 if | |||
// the iterator reached the end. | // the iterator reached the end. | |||
// If the end was not reached, 'Next' returns the address of the content pointed to by the iterator before the | // If the end was not reached, 'Next' returns the address of the content pointed to by the iterator before the | |||
// incrementation ; if the collection contains pointers, 'Next' will ret urn the value of the pointer. | // incrementation ; if the collection contains pointers, 'Next' will ret urn the value of the pointer. | |||
virtual DeleteIterator_t GetFunctionDeleteIterator(Bool_t read = kTRUE); | virtual DeleteIterator_t GetFunctionDeleteIterator(Bool_t read = kTRUE); | |||
End of changes. 11 change blocks. | ||||
10 lines changed or deleted | 14 lines changed or added | |||
TGenCollectionStreamer.h | TGenCollectionStreamer.h | |||
---|---|---|---|---|
// @(#)root/io:$Id: TGenCollectionStreamer.h 43271 2012-03-07 05:53:52Z pca nal $ | // @(#)root/io:$Id: TGenCollectionStreamer.h 49000 2013-03-29 10:47:59Z pca nal $ | |||
// Author: Markus Frank 28/10/04 | // Author: Markus Frank 28/10/04 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TGenCollectionStreamer | #ifndef ROOT_TGenCollectionStreamer | |||
skipping to change at line 30 | skipping to change at line 30 | |||
// | // | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
#include "TGenCollectionProxy.h" | #include "TGenCollectionProxy.h" | |||
#include "TCollectionProxyFactory.h" | #include "TCollectionProxyFactory.h" | |||
class TGenCollectionStreamer : public TGenCollectionProxy { | class TGenCollectionStreamer : public TGenCollectionProxy { | |||
protected: | protected: | |||
void ReadMapHelper(StreamHelper *i, Value *v, Bool_t vsn3, TBuffer &b); | void ReadMapHelper(StreamHelper *i, Value *v, Bool_t vsn3, TBuffer &b); | |||
void ReadMap(int nElements, TBuffer &b); | void ReadMap(int nElements, TBuffer &b, const TClass *onfileClass); | |||
void ReadPairFromMap(int nElements, TBuffer &b); | void ReadPairFromMap(int nElements, TBuffer &b); | |||
void ReadObjects(int nElements, TBuffer &b); | void ReadObjects(int nElements, TBuffer &b, const TClass *onfileClass); | |||
void ReadPrimitives(int nElements, TBuffer &b); | void ReadPrimitives(int nElements, TBuffer &b, const TClass *onfileClass | |||
); | ||||
void WriteMap(int nElements, TBuffer &b); | void WriteMap(int nElements, TBuffer &b); | |||
void WriteObjects(int nElements, TBuffer &b); | void WriteObjects(int nElements, TBuffer &b); | |||
void WritePrimitives(int nElements, TBuffer &b); | void WritePrimitives(int nElements, TBuffer &b); | |||
// typedef void (TGenCollectionStreamer::*ReadBufferConv_t)(TBuffer &b, v oid *obj, const TClass *onfileClass); | // typedef void (TGenCollectionStreamer::*ReadBufferConv_t)(TBuffer &b, v oid *obj, const TClass *onFileClass); | |||
// ReadBufferConv_t fReadBufferConvFunc; | // ReadBufferConv_t fReadBufferConvFunc; | |||
typedef void (TGenCollectionStreamer::*ReadBuffer_t)(TBuffer &b, void *o bj); | typedef void (TGenCollectionStreamer::*ReadBuffer_t)(TBuffer &b, void *o bj, const TClass *onFileClass); | |||
ReadBuffer_t fReadBufferFunc; | ReadBuffer_t fReadBufferFunc; | |||
template <typename basictype> void ReadBufferVectorPrimitives(TBuffer &b | template <typename From, typename To> void ConvertBufferVectorPrimitives | |||
, void *obj); | (TBuffer &b, void *obj, Int_t nElements); | |||
void ReadBufferVectorPrimitivesFloat16(TBuffer &b, void *obj); | template <typename To> void ConvertBufferVectorPrimitivesFloat16(TBuffer | |||
void ReadBufferVectorPrimitivesDouble32(TBuffer &b, void *obj); | &b, void *obj, Int_t nElements); | |||
void ReadBufferDefault(TBuffer &b, void *obj); | template <typename To> void ConvertBufferVectorPrimitivesDouble32(TBuffe | |||
void ReadBufferGeneric(TBuffer &b, void *obj); | r &b, void *obj, Int_t nElements); | |||
template <typename To> void DispatchConvertBufferVectorPrimitives(TBuffe | ||||
r &b, void *obj, Int_t nElements, const TVirtualCollectionProxy *onfileProx | ||||
y); | ||||
template <typename basictype> void ReadBufferVectorPrimitives(TBuffer &b | ||||
, void *obj, const TClass *onFileClass); | ||||
void ReadBufferVectorPrimitivesFloat16(TBuffer &b, void *obj, const TCla | ||||
ss *onFileClass); | ||||
void ReadBufferVectorPrimitivesDouble32(TBuffer &b, void *obj, const TCl | ||||
ass *onFileClass); | ||||
void ReadBufferDefault(TBuffer &b, void *obj, const TClass *onFileClass) | ||||
; | ||||
void ReadBufferGeneric(TBuffer &b, void *obj, const TClass *onFileClass) | ||||
; | ||||
private: | private: | |||
TGenCollectionStreamer &operator=(const TGenCollectionStreamer&); // Not implemented. | TGenCollectionStreamer &operator=(const TGenCollectionStreamer&); // Not implemented. | |||
public: | public: | |||
// Virtual copy constructor | // Virtual copy constructor | |||
virtual TVirtualCollectionProxy* Generate() const; | virtual TVirtualCollectionProxy* Generate() const; | |||
// Copy constructor | // Copy constructor | |||
TGenCollectionStreamer(const TGenCollectionStreamer& copy); | TGenCollectionStreamer(const TGenCollectionStreamer& copy); | |||
skipping to change at line 96 | skipping to change at line 100 | |||
struct AnyCollectionStreamer : public TGenCollectionStreamer { | struct AnyCollectionStreamer : public TGenCollectionStreamer { | |||
AnyCollectionStreamer() | AnyCollectionStreamer() | |||
: TGenCollectionStreamer(typeid(T::Cont_t),sizeof(T::Iter_t)) { | : TGenCollectionStreamer(typeid(T::Cont_t),sizeof(T::Iter_t)) { | |||
fValDiff = sizeof(T::Value_t); | fValDiff = sizeof(T::Value_t); | |||
fValOffset = T::value_offset(); | fValOffset = T::value_offset(); | |||
fSize.call = T::size; | fSize.call = T::size; | |||
fFirst.call = T::first; | fFirst.call = T::first; | |||
fNext.call = T::next; | fNext.call = T::next; | |||
fClear.call = T::clear; | fClear.call = T::clear; | |||
fResize = T::resize; | fResize = T::resize; | |||
fCollect.call = T::collect; | fCollect = T::collect; | |||
fConstruct = T::construct; | fConstruct = T::construct; | |||
fDestruct = T::destruct; | fDestruct = T::destruct; | |||
fFeed = T::feed; | fFeed = T::feed; | |||
CheckFunctions(); | CheckFunctions(); | |||
} | } | |||
virtual ~AnyCollectionStreamer() { } | virtual ~AnyCollectionStreamer() { } | |||
}; | }; | |||
// Forward declaration in the event of later seperation | // Forward declaration in the event of later seperation | |||
typedef TGenCollectionStreamer TGenMapStreamer; | typedef TGenCollectionStreamer TGenMapStreamer; | |||
End of changes. 7 change blocks. | ||||
13 lines changed or deleted | 27 lines changed or added | |||
TGeoBoolNode.h | TGeoBoolNode.h | |||
---|---|---|---|---|
// @(#):$Id: TGeoBoolNode.h 42999 2012-02-14 13:42:55Z agheata $ | // @(#):$Id: TGeoBoolNode.h 49273 2013-04-19 07:48:30Z agheata $ | |||
// 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 90 | skipping to change at line 90 | |||
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() = 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 TGeoBoolNode *MakeClone() const = 0; | ||||
virtual void Paint(Option_t *option); | virtual void Paint(Option_t *option); | |||
void RegisterMatrices(); | void RegisterMatrices(); | |||
Bool_t ReplaceMatrix(TGeoMatrix *mat, TGeoMatrix *newmat); | ||||
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; | virtual void SetPoints(Double_t *points) const; | |||
virtual void SetPoints(Float_t *points) const; | virtual void SetPoints(Float_t *points) const; | |||
void SetSelected(Int_t sel); | void SetSelected(Int_t sel); | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoBoolNode, 1) // a boolean node | ClassDef(TGeoBoolNode, 1) // a boolean node | |||
}; | }; | |||
skipping to change at line 134 | skipping to change at line 136 | |||
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(); | 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 Sizeof3D() const; | virtual void Sizeof3D() const; | |||
//CS specific | //CS specific | |||
virtual TGeoBoolNode *MakeClone() const; | ||||
virtual void Paint(Option_t *option); | virtual void Paint(Option_t *option); | |||
ClassDef(TGeoUnion, 1) // union node | ClassDef(TGeoUnion, 1) // union node | |||
}; | }; | |||
/////////////////////////////////////////////////////////////////////////// /// | /////////////////////////////////////////////////////////////////////////// /// | |||
// // | // // | |||
// TGeoIntersection - Boolean node representing an intersection between two // | // TGeoIntersection - Boolean node representing an intersection between two // | |||
// components. // | // components. // | |||
// // | // // | |||
skipping to change at line 172 | skipping to change at line 175 | |||
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(); | 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 Sizeof3D() const; | virtual void Sizeof3D() const; | |||
//CS specific | //CS specific | |||
virtual TGeoBoolNode *MakeClone() const; | ||||
virtual void Paint(Option_t *option); | virtual void Paint(Option_t *option); | |||
ClassDef(TGeoIntersection, 1) // intersection node | ClassDef(TGeoIntersection, 1) // intersection node | |||
}; | }; | |||
/////////////////////////////////////////////////////////////////////////// /// | /////////////////////////////////////////////////////////////////////////// /// | |||
// // | // // | |||
// TGeoSubtraction - Boolean node representing a subtraction. // | // TGeoSubtraction - Boolean node representing a subtraction. // | |||
// // | // // | |||
/////////////////////////////////////////////////////////////////////////// /// | /////////////////////////////////////////////////////////////////////////// /// | |||
skipping to change at line 209 | skipping to change at line 213 | |||
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(); | 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 Sizeof3D() const; | virtual void Sizeof3D() const; | |||
//CS specific | //CS specific | |||
virtual TGeoBoolNode *MakeClone() const; | ||||
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. 6 change blocks. | ||||
1 lines changed or deleted | 6 lines changed or added | |||
TGeoChecker.h | TGeoChecker.h | |||
---|---|---|---|---|
// @(#)root/geom:$Id: TGeoChecker.h 39340 2011-05-23 13:04:56Z agheata $ | // @(#)root/geom:$Id: TGeoChecker.h 49273 2013-04-19 07:48:30Z agheata $ | |||
// Author: Andrei Gheata 01/11/01 | // Author: Andrei Gheata 01/11/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 82 | skipping to change at line 82 | |||
void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option=""); | void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option=""); | |||
void CheckOverlapsBySampling(TGeoVolume *vol, Double_t ovlp= 0.1, Int_t npoints=1000000) const; | void CheckOverlapsBySampling(TGeoVolume *vol, Double_t ovlp= 0.1, Int_t npoints=1000000) const; | |||
void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Op tion_t *option=""); | void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Op tion_t *option=""); | |||
void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsampl es, Option_t *option); | void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsampl es, Option_t *option); | |||
Double_t CheckVoxels(TGeoVolume *vol, TGeoVoxelFinder *voxels, D ouble_t *xyz, Int_t npoints); | Double_t CheckVoxels(TGeoVolume *vol, TGeoVoxelFinder *voxels, D ouble_t *xyz, Int_t npoints); | |||
TH2F *LegoPlot(Int_t ntheta=60, Double_t themin=0., Double_t themax=180., | TH2F *LegoPlot(Int_t ntheta=60, Double_t themin=0., Double_t themax=180., | |||
Int_t nphi=90, Double_t phimin=0., Double_t phi max=360., | Int_t nphi=90, Double_t phimin=0., Double_t phi max=360., | |||
Double_t rmin=0., Double_t rmax=9999999, Option _t *option=""); | Double_t rmin=0., Double_t rmax=9999999, Option _t *option=""); | |||
void PrintOverlaps() const; | void PrintOverlaps() const; | |||
void RandomPoints(TGeoVolume *vol, Int_t npoints, Option_t * option); | void RandomPoints(TGeoVolume *vol, Int_t npoints, Option_t * option); | |||
void RandomRays(Int_t nrays, Double_t startx, Double_t start y, Double_t startz); | void RandomRays(Int_t nrays, Double_t startx, Double_t start y, Double_t startz, const char *target_vol=0, Bool_t check_norm=kFALSE); | |||
TGeoOverlap *MakeCheckOverlap(const char *name, TGeoVolume *vol1, TG eoVolume *vol2, TGeoMatrix *mat1, TGeoMatrix *mat2, Bool_t isovlp, Double_t ovlp); | TGeoOverlap *MakeCheckOverlap(const char *name, TGeoVolume *vol1, TG eoVolume *vol2, TGeoMatrix *mat1, TGeoMatrix *mat2, Bool_t isovlp, Double_t ovlp); | |||
void OpProgress(const char *opname, Long64_t current, Long64 _t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE); | void OpProgress(const char *opname, Long64_t current, Long64 _t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE); | |||
TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t ep sil, const char* g3path); | TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t ep sil, const char* g3path); | |||
void ShapeDistances(TGeoShape *shape, Int_t nsamples, Option _t *option); | void ShapeDistances(TGeoShape *shape, Int_t nsamples, Option _t *option); | |||
void ShapeSafety(TGeoShape *shape, Int_t nsamples, Option_t *option); | void ShapeSafety(TGeoShape *shape, Int_t nsamples, Option_t *option); | |||
void ShapeNormal(TGeoShape *shape, Int_t nsamples, Option_t *option); | void ShapeNormal(TGeoShape *shape, Int_t nsamples, Option_t *option); | |||
Double_t *ShootRay(Double_t *start, Double_t dirx, Double_t diry, Double_t dirz, Double_t *array, Int_t &nelem, Int_t &dim, Double_t *enpoin t=0) const; | Double_t *ShootRay(Double_t *start, Double_t dirx, Double_t diry, Double_t dirz, Double_t *array, Int_t &nelem, Int_t &dim, Double_t *enpoin t=0) const; | |||
void SetSelectedNode(TGeoNode *node) {fSelectedNode=node;} | void SetSelectedNode(TGeoNode *node) {fSelectedNode=node;} | |||
void SetNmeshPoints(Int_t npoints=1000); | void SetNmeshPoints(Int_t npoints=1000); | |||
void Test(Int_t npoints, Option_t *option); | void Test(Int_t npoints, Option_t *option); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TGeoManager.h | TGeoManager.h | |||
---|---|---|---|---|
// @(#)root/geom:$Id: TGeoManager.h 43895 2012-04-23 07:03:47Z agheata $ | // @(#)root/geom:$Id: TGeoManager.h 49273 2013-04-19 07:48:30Z 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 242 | skipping to change at line 242 | |||
void CheckPoint(Double_t x=0,Double_t y=0, Double_t z= 0, Option_t *option=""); // *MENU* | void CheckPoint(Double_t x=0,Double_t y=0, Double_t z= 0, Option_t *option=""); // *MENU* | |||
void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option); | void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option); | |||
void ConvertReflections(); | void ConvertReflections(); | |||
void DrawCurrentPoint(Int_t color=2); // *MENU* | void DrawCurrentPoint(Int_t color=2); // *MENU* | |||
void DrawTracks(Option_t *option=""); // *MENU* | void DrawTracks(Option_t *option=""); // *MENU* | |||
void SetParticleName(const char *pname) {fParticleName =pname;} | void SetParticleName(const char *pname) {fParticleName =pname;} | |||
const char *GetParticleName() const {return fParticleName.Dat a();} | const char *GetParticleName() const {return fParticleName.Dat a();} | |||
void DrawPath(const char *path); | void DrawPath(const char *path); | |||
void PrintOverlaps() const; // *MENU* | void PrintOverlaps() const; // *MENU* | |||
void RandomPoints(const TGeoVolume *vol, Int_t npoints =10000, Option_t *option=""); | void RandomPoints(const TGeoVolume *vol, Int_t npoints =10000, Option_t *option=""); | |||
void RandomRays(Int_t nrays=1000, Double_t startx=0, D ouble_t starty=0, Double_t startz=0); | void RandomRays(Int_t nrays=1000, Double_t startx=0, D ouble_t starty=0, Double_t startz=0, const char *target_vol=0, Bool_t check _norm=kFALSE); | |||
TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Doubl e_t epsil=1E-5, | TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Doubl e_t epsil=1E-5, | |||
const char *g3path=""); | const char *g3path=""); | |||
void SetNmeshPoints(Int_t npoints=1000); | void SetNmeshPoints(Int_t npoints=1000); | |||
void SetCheckedNode(TGeoNode *node); | void SetCheckedNode(TGeoNode *node); | |||
void Test(Int_t npoints=1000000, Option_t *option=""); // *MENU* | void Test(Int_t npoints=1000000, Option_t *option=""); // *MENU* | |||
void TestOverlaps(const char* path=""); // *MENU* | void TestOverlaps(const char* path=""); // *MENU* | |||
Double_t Weight(Double_t precision=0.01, Option_t *option= "va"); // *MENU* | Double_t Weight(Double_t precision=0.01, Option_t *option= "va"); // *MENU* | |||
//--- GEANT3-like geometry creation | //--- GEANT3-like geometry creation | |||
TGeoVolume *Division(const char *name, const char *mother, In t_t iaxis, Int_t ndiv, | TGeoVolume *Division(const char *name, const char *mother, In t_t iaxis, Int_t ndiv, | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TGeoMatrix.h | TGeoMatrix.h | |||
---|---|---|---|---|
// @(#)root/geom:$Id: TGeoMatrix.h 40116 2011-07-04 12:00:32Z agheata $ | // @(#)root/geom:$Id: TGeoMatrix.h 49273 2013-04-19 07:48:30Z 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 45 | skipping to change at line 45 | |||
// / / | // / / | |||
// TGeoMatrix - base class for geometrical transformations. / / | // TGeoMatrix - base class for geometrical transformations. / / | |||
// / / | // / / | |||
/////////////////////////////////////////////////////////////////////////// / | /////////////////////////////////////////////////////////////////////////// / | |||
class TGeoMatrix : public TNamed | class TGeoMatrix : public TNamed | |||
{ | { | |||
public: | public: | |||
enum EGeoTransfTypes { | enum EGeoTransfTypes { | |||
kGeoIdentity = 0, | kGeoIdentity = 0, | |||
kGeoShared = BIT(14), | ||||
kGeoTranslation = BIT(17), | kGeoTranslation = BIT(17), | |||
kGeoRotation = BIT(18), | kGeoRotation = BIT(18), | |||
kGeoScale = BIT(19), | kGeoScale = BIT(19), | |||
kGeoReflection = BIT(20), | kGeoReflection = BIT(20), | |||
kGeoRegistered = BIT(21), | kGeoRegistered = BIT(21), | |||
kGeoSavePrimitive = BIT(22), | kGeoSavePrimitive = BIT(22), | |||
kGeoMatrixOwned = BIT(23), | kGeoMatrixOwned = BIT(23), | |||
kGeoCombiTrans = kGeoTranslation | kGeoRotation, | kGeoCombiTrans = kGeoTranslation | kGeoRotation, | |||
kGeoGenTrans = kGeoTranslation | kGeoRotation | kGeoScale | kGeoGenTrans = kGeoTranslation | kGeoRotation | kGeoScale | |||
}; | }; | |||
skipping to change at line 81 | skipping to change at line 82 | |||
#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 4060 0 | #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 4060 0 | |||
#pragma GCC diagnostic pop | #pragma GCC diagnostic pop | |||
#endif | #endif | |||
Bool_t operator ==(const TGeoMatrix &other) const; | Bool_t operator ==(const TGeoMatrix &other) const; | |||
Bool_t IsIdentity() const {return !TestBit(kGeoGenTrans );} | Bool_t IsIdentity() const {return !TestBit(kGeoGenTrans );} | |||
Bool_t IsTranslation() const {return TestBit(kGeoTranslati on);} | Bool_t IsTranslation() const {return TestBit(kGeoTranslati on);} | |||
Bool_t IsRotation() const {return TestBit(kGeoRotation) ;} | Bool_t IsRotation() const {return TestBit(kGeoRotation) ;} | |||
Bool_t IsReflection() const {return TestBit(kGeoReflectio n);} | Bool_t IsReflection() const {return TestBit(kGeoReflectio n);} | |||
Bool_t IsScale() const {return TestBit(kGeoScale);} | Bool_t IsScale() const {return TestBit(kGeoScale);} | |||
Bool_t IsShared() const {return TestBit(kGeoShared);} | ||||
Bool_t IsCombi() const {return (TestBit(kGeoTranslat ion) | Bool_t IsCombi() const {return (TestBit(kGeoTranslat ion) | |||
&& TestBit(kGeoRotation));} | && TestBit(kGeoRotation));} | |||
Bool_t IsGeneral() const {return (TestBit(kGeoTranslat ion) | Bool_t IsGeneral() const {return (TestBit(kGeoTranslat ion) | |||
&& TestBit(kGeoRotation) && TestBit(kGeoScale)) ;} | && TestBit(kGeoRotation) && TestBit(kGeoScale)) ;} | |||
Bool_t IsRegistered() const {return TestBit(kGeoRegistere d);} | Bool_t IsRegistered() const {return TestBit(kGeoRegistere d);} | |||
Bool_t IsRotAboutZ() const; | Bool_t IsRotAboutZ() const; | |||
void GetHomogenousMatrix(Double_t *hmat) const; | void GetHomogenousMatrix(Double_t *hmat) const; | |||
char *GetPointerName() const; | char *GetPointerName() const; | |||
virtual Int_t GetByteCount() const; | virtual Int_t GetByteCount() const; | |||
skipping to change at line 115 | skipping to change at line 117 | |||
virtual void RotateY(Double_t) {} | virtual void RotateY(Double_t) {} | |||
virtual void RotateZ(Double_t) {} | virtual void RotateZ(Double_t) {} | |||
virtual void ReflectX(Bool_t leftside,Bool_t rotonly=kFALSE); | virtual void ReflectX(Bool_t leftside,Bool_t rotonly=kFALSE); | |||
virtual void ReflectY(Bool_t leftside,Bool_t rotonly=kFALSE); | virtual void ReflectY(Bool_t leftside,Bool_t rotonly=kFALSE); | |||
virtual void ReflectZ(Bool_t leftside,Bool_t rotonly=kFALSE); | virtual void ReflectZ(Bool_t leftside,Bool_t rotonly=kFALSE); | |||
virtual void RegisterYourself(); | virtual void RegisterYourself(); | |||
void SetDefaultName(); | void SetDefaultName(); | |||
virtual void SetDx(Double_t) {} | virtual void SetDx(Double_t) {} | |||
virtual void SetDy(Double_t) {} | virtual void SetDy(Double_t) {} | |||
virtual void SetDz(Double_t) {} | virtual void SetDz(Double_t) {} | |||
void SetShared(Bool_t flag=kTRUE) {SetBit(kGeoShared, fl ag);} | ||||
ClassDef(TGeoMatrix, 1) // base geometrical transformati on class | ClassDef(TGeoMatrix, 1) // base geometrical transformati on class | |||
}; | }; | |||
/////////////////////////////////////////////////////////////////////////// / | /////////////////////////////////////////////////////////////////////////// / | |||
// / / | // / / | |||
// TGeoTranslation - class describing translations. A translation is / / | // TGeoTranslation - class describing translations. A translation is / / | |||
// basicaly an array of 3 doubles matching the positions 12, 13 / / | // basicaly an array of 3 doubles matching the positions 12, 13 / / | |||
// and 14 in the homogenous matrix description. / / | // and 14 in the homogenous matrix description. / / | |||
// / / | // / / | |||
End of changes. 4 change blocks. | ||||
1 lines changed or deleted | 4 lines changed or added | |||
TGeoPainter.h | TGeoPainter.h | |||
---|---|---|---|---|
skipping to change at line 150 | skipping to change at line 150 | |||
virtual void OpProgress(const char *opname, Long64_t current, Long 64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE); | virtual void OpProgress(const char *opname, Long64_t current, Long 64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE); | |||
virtual void Paint(Option_t *option=""); | virtual void Paint(Option_t *option=""); | |||
virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMa trix* global=0); | virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMa trix* global=0); | |||
Bool_t PaintShape(const TGeoShape & shape, Option_t * option ) const; | Bool_t PaintShape(const TGeoShape & shape, Option_t * option ) const; | |||
virtual void PaintShape(TGeoShape *shape, Option_t *option=""); | virtual void PaintShape(TGeoShape *shape, Option_t *option=""); | |||
virtual void PaintOverlap(void *ovlp, Option_t *option=""); | virtual void PaintOverlap(void *ovlp, Option_t *option=""); | |||
virtual void PaintVolume(TGeoVolume *vol, Option_t *option="", TGe oMatrix* global=0); | virtual void PaintVolume(TGeoVolume *vol, Option_t *option="", TGe oMatrix* global=0); | |||
virtual void PrintOverlaps() const; | virtual void PrintOverlaps() const; | |||
void PaintPhysicalNode(TGeoPhysicalNode *node, Option_t *o ption=""); | void PaintPhysicalNode(TGeoPhysicalNode *node, Option_t *o ption=""); | |||
virtual void RandomPoints(const TGeoVolume *vol, Int_t npoints, Op tion_t *option=""); | virtual void RandomPoints(const TGeoVolume *vol, Int_t npoints, Op tion_t *option=""); | |||
virtual void RandomRays(Int_t nrays, Double_t startx, Double_t sta rty, Double_t startz); | virtual void RandomRays(Int_t nrays, Double_t startx, Double_t sta rty, Double_t startz, const char *target_vol=0, Bool_t check_norm=kFALSE); | |||
virtual void Raytrace(Option_t *option=""); | virtual void Raytrace(Option_t *option=""); | |||
virtual TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char* g3path); | virtual TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char* g3path); | |||
virtual void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3 , Double_t bombz=1.3, Double_t bombr=1.3); | virtual void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3 , Double_t bombz=1.3, Double_t bombr=1.3); | |||
virtual void SetClippingShape(TGeoShape *shape) {fClippingShape = shape;} | virtual void SetClippingShape(TGeoShape *shape) {fClippingShape = shape;} | |||
virtual void SetExplodedView(Int_t iopt=0); | virtual void SetExplodedView(Int_t iopt=0); | |||
virtual void SetNsegments(Int_t nseg=20); | virtual void SetNsegments(Int_t nseg=20); | |||
virtual void SetNmeshPoints(Int_t npoints); | virtual void SetNmeshPoints(Int_t npoints); | |||
virtual void SetGeoManager(TGeoManager *geom) {fGeoManager=geom;} | virtual void SetGeoManager(TGeoManager *geom) {fGeoManager=geom;} | |||
virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin) {fPlugi n = plugin; ModifiedPad();} | virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin) {fPlugi n = plugin; ModifiedPad();} | |||
virtual void SetCheckedNode(TGeoNode *node); | virtual void SetCheckedNode(TGeoNode *node); | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TGeoPhysicalNode.h | TGeoPhysicalNode.h | |||
---|---|---|---|---|
// @(#)root/geom:$Id: TGeoPhysicalNode.h 25123 2008-08-12 09:59:46Z brun $ | // @(#)root/geom:$Id: TGeoPhysicalNode.h 49273 2013-04-19 07:48:30Z agheata $ | |||
// Author: Andrei Gheata 17/02/04 | // Author: Andrei Gheata 17/02/04 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 71 | skipping to change at line 71 | |||
kGeoPNodeVolAtt = BIT(12), // preserve volume attributes (defaul t) | kGeoPNodeVolAtt = BIT(12), // preserve volume attributes (defaul t) | |||
kGeoPNodeAligned = BIT(13) // alignment bit | kGeoPNodeAligned = BIT(13) // alignment bit | |||
}; | }; | |||
// constructors | // constructors | |||
TGeoPhysicalNode(); | TGeoPhysicalNode(); | |||
TGeoPhysicalNode(const char *path); | TGeoPhysicalNode(const char *path); | |||
// destructor | // destructor | |||
virtual ~TGeoPhysicalNode(); | virtual ~TGeoPhysicalNode(); | |||
void Align(TGeoMatrix *newmat=0, TGeoShape *newshape=0, Boo l_t check=kFALSE, Double_t ovlp=0.001); | Bool_t Align(TGeoMatrix *newmat=0, TGeoShape *newshape=0, Boo l_t check=kFALSE, Double_t ovlp=0.001); | |||
void cd() const; | void cd() const; | |||
void Draw(Option_t *option=""); | void Draw(Option_t *option=""); | |||
Int_t GetLevel() const {return fLevel;} | Int_t GetLevel() const {return fLevel;} | |||
TGeoHMatrix *GetMatrix(Int_t level=-1) const; | TGeoHMatrix *GetMatrix(Int_t level=-1) const; | |||
TGeoHMatrix *GetOriginalMatrix() const {return fMatrixOrig;} | TGeoHMatrix *GetOriginalMatrix() const {return fMatrixOrig;} | |||
TGeoNode *GetMother(Int_t levup=1) const; | TGeoNode *GetMother(Int_t levup=1) const; | |||
TGeoNode *GetNode(Int_t level=-1) const; | TGeoNode *GetNode(Int_t level=-1) const; | |||
TGeoShape *GetShape(Int_t level=-1) const; | TGeoShape *GetShape(Int_t level=-1) const; | |||
TGeoVolume *GetVolume(Int_t level=-1) const; | TGeoVolume *GetVolume(Int_t level=-1) const; | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TGeoVolume.h | TGeoVolume.h | |||
---|---|---|---|---|
// @(#)root/geom:$Id: TGeoVolume.h 42999 2012-02-14 13:42:55Z agheata $ | // @(#)root/geom:$Id: TGeoVolume.h 49273 2013-04-19 07:48:30Z agheata $ | |||
// 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. * | |||
*************************************************************************/ | *************************************************************************/ | |||
// Author : date : Wed 24 Oct 2001 01:39:36 PM CEST | // Author : date : Wed 24 Oct 2001 01:39:36 PM CEST | |||
skipping to change at line 195 | skipping to change at line 195 | |||
void GrabFocus(); // *MENU* | void GrabFocus(); // *MENU* | |||
void Gsord(Int_t /*iaxis*/) {;} | void Gsord(Int_t /*iaxis*/) {;} | |||
Bool_t IsStyleDefault() const; | Bool_t IsStyleDefault() const; | |||
void InspectMaterial() const; // *MENU* | void InspectMaterial() const; // *MENU* | |||
void InspectShape() const {fShape->InspectShape();} // *MENU* | void InspectShape() const {fShape->InspectShape();} // *MENU* | |||
virtual TGeoVolume *MakeCopyVolume(TGeoShape *newshape); | virtual TGeoVolume *MakeCopyVolume(TGeoShape *newshape); | |||
void MakeCopyNodes(const TGeoVolume *other); | void MakeCopyNodes(const TGeoVolume *other); | |||
TGeoVolume *MakeReflectedVolume(const char *newname="") const; | TGeoVolume *MakeReflectedVolume(const char *newname="") const; | |||
Bool_t OptimizeVoxels(); // *MENU* | Bool_t OptimizeVoxels(); // *MENU* | |||
void RandomPoints(Int_t npoints=1000000, Option_t *option="") ; // *MENU* | void RandomPoints(Int_t npoints=1000000, Option_t *option="") ; // *MENU* | |||
void RandomRays(Int_t nrays=10000, Double_t startx=0, Double_ t starty=0, Double_t startz=0); // *MENU* | void RandomRays(Int_t nrays=10000, Double_t startx=0, Double_ t starty=0, Double_t startz=0, const char *target_vol=0, Bool_t check_norm= kFALSE); // *MENU* | |||
void Raytrace(Bool_t flag=kTRUE); // *TOGGLE* *GETTER=IsRaytr acing | void Raytrace(Bool_t flag=kTRUE); // *TOGGLE* *GETTER=IsRaytr acing | |||
void RegisterYourself(Option_t *option=""); | void RegisterYourself(Option_t *option=""); | |||
void RemoveNode(TGeoNode *node); | void RemoveNode(TGeoNode *node); | |||
TGeoNode *ReplaceNode(TGeoNode *nodeorig, TGeoShape *newshape=0, T GeoMatrix *newpos=0, TGeoMedium *newmed=0); | TGeoNode *ReplaceNode(TGeoNode *nodeorig, TGeoShape *newshape=0, T GeoMatrix *newpos=0, TGeoMedium *newmed=0); | |||
void SaveAs(const char *filename,Option_t *option="") const; // *MENU* | void SaveAs(const char *filename,Option_t *option="") const; // *MENU* | |||
virtual void SavePrimitive(ostream &out, Option_t *option = ""); | virtual void SavePrimitive(ostream &out, Option_t *option = ""); | |||
void SelectVolume(Bool_t clear = kFALSE); | void SelectVolume(Bool_t clear = kFALSE); | |||
void SetActivity(Bool_t flag=kTRUE) {TGeoAtt::SetActivity(fla g);} | void SetActivity(Bool_t flag=kTRUE) {TGeoAtt::SetActivity(fla g);} | |||
void SetActiveDaughters(Bool_t flag=kTRUE) {TGeoAtt::SetActiv eDaughters(flag);} | void SetActiveDaughters(Bool_t flag=kTRUE) {TGeoAtt::SetActiv eDaughters(flag);} | |||
void SetAsTopVolume(); // *TOGGLE* *GETTER=IsTopVolume | void SetAsTopVolume(); // *TOGGLE* *GETTER=IsTopVolume | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TH1.h | TH1.h | |||
---|---|---|---|---|
// @(#)root/hist:$Id: TH1.h 48567 2013-02-14 08:59:17Z moneta $ | // @(#)root/hist:$Id: TH1.h 49134 2013-04-08 21:20:27Z moneta $ | |||
// Author: Rene Brun 26/12/94 | // Author: Rene Brun 26/12/94 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 384 | skipping to change at line 384 | |||
virtual void SetTitleSize(Float_t size=0.02, Option_t *axis="X"); | virtual void SetTitleSize(Float_t size=0.02, Option_t *axis="X"); | |||
virtual void SetTitle(const char *title); // *MENU* | virtual void SetTitle(const char *title); // *MENU* | |||
virtual void SetXTitle(const char *title) {fXaxis.SetTitle(title);} | virtual void SetXTitle(const char *title) {fXaxis.SetTitle(title);} | |||
virtual void SetYTitle(const char *title) {fYaxis.SetTitle(title);} | virtual void SetYTitle(const char *title) {fYaxis.SetTitle(title);} | |||
virtual void SetZTitle(const char *title) {fZaxis.SetTitle(title);} | virtual void SetZTitle(const char *title) {fZaxis.SetTitle(title);} | |||
virtual TH1 *ShowBackground(Int_t niter=20, Option_t *option="same") ; // *MENU* | virtual TH1 *ShowBackground(Int_t niter=20, Option_t *option="same") ; // *MENU* | |||
virtual Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double _t threshold=0.05); // *MENU* | virtual Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double _t threshold=0.05); // *MENU* | |||
virtual void Smooth(Int_t ntimes=1, Option_t *option=""); // *MENU* | virtual void Smooth(Int_t ntimes=1, Option_t *option=""); // *MENU* | |||
static void SmoothArray(Int_t NN, Double_t *XX, Int_t ntimes=1); | static void SmoothArray(Int_t NN, Double_t *XX, Int_t ntimes=1); | |||
static void StatOverflows(Bool_t flag=kTRUE); | static void StatOverflows(Bool_t flag=kTRUE); | |||
virtual void Sumw2(); | virtual void Sumw2(Bool_t flag = kTRUE); | |||
void UseCurrentStyle(); | void UseCurrentStyle(); | |||
static TH1 *TransformHisto(TVirtualFFT *fft, TH1* h_output, Option _t *option); | static TH1 *TransformHisto(TVirtualFFT *fft, TH1* h_output, Option _t *option); | |||
ClassDef(TH1,7) //1-Dim histogram base class | ClassDef(TH1,7) //1-Dim histogram base class | |||
}; | }; | |||
//________________________________________________________________________ | //________________________________________________________________________ | |||
class TH1C : public TH1, public TArrayC { | class TH1C : public TH1, public TArrayC { | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TInterpreter.h | TInterpreter.h | |||
---|---|---|---|---|
// @(#)root/meta:$Id: TInterpreter.h 43515 2012-03-27 21:15:53Z pcanal $ | // @(#)root/meta:$Id: TInterpreter.h 48771 2013-02-28 19:49:49Z 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 252 | skipping to change at line 252 | |||
virtual Bool_t MethodInfo_IsValid(MethodInfo_t * /* minfo */) const {ret urn 0;} | virtual Bool_t MethodInfo_IsValid(MethodInfo_t * /* minfo */) const {ret urn 0;} | |||
virtual int MethodInfo_NArg(MethodInfo_t * /* minfo */) const {return 0;} | virtual int MethodInfo_NArg(MethodInfo_t * /* minfo */) const {return 0;} | |||
virtual int MethodInfo_NDefaultArg(MethodInfo_t * /* minfo */) const {return 0;} | virtual int MethodInfo_NDefaultArg(MethodInfo_t * /* minfo */) const {return 0;} | |||
virtual int MethodInfo_Next(MethodInfo_t * /* minfo */) const {return 0;} | virtual int MethodInfo_Next(MethodInfo_t * /* minfo */) const {return 0;} | |||
virtual Long_t MethodInfo_Property(MethodInfo_t * /* minfo */) const {re turn 0;} | virtual Long_t MethodInfo_Property(MethodInfo_t * /* minfo */) const {re turn 0;} | |||
virtual TypeInfo_t *MethodInfo_Type(MethodInfo_t * /* minfo */) const { return 0;} | virtual TypeInfo_t *MethodInfo_Type(MethodInfo_t * /* minfo */) const { return 0;} | |||
virtual const char *MethodInfo_GetMangledName(MethodInfo_t * /* minfo */ ) const {return 0;} | virtual const char *MethodInfo_GetMangledName(MethodInfo_t * /* minfo */ ) const {return 0;} | |||
virtual const char *MethodInfo_GetPrototype(MethodInfo_t * /* minfo */) const {return 0;} | virtual const char *MethodInfo_GetPrototype(MethodInfo_t * /* minfo */) const {return 0;} | |||
virtual const char *MethodInfo_Name(MethodInfo_t * /* minfo */) const {r eturn 0;} | virtual const char *MethodInfo_Name(MethodInfo_t * /* minfo */) const {r eturn 0;} | |||
virtual const char *MethodInfo_TypeName(MethodInfo_t * /* minfo */) cons t {return 0;} | virtual const char *MethodInfo_TypeName(MethodInfo_t * /* minfo */) cons t {return 0;} | |||
virtual std::string MethodInfo_TypeNormalizedName(MethodInfo_t * /* minf o */) const {return "";} | ||||
virtual const char *MethodInfo_Title(MethodInfo_t * /* minfo */) const { return 0;} | virtual const char *MethodInfo_Title(MethodInfo_t * /* minfo */) const { return 0;} | |||
// G__MethodArgInfo interface | // G__MethodArgInfo interface | |||
virtual void MethodArgInfo_Delete(MethodArgInfo_t * /* marginfo */) co nst {;} | virtual void MethodArgInfo_Delete(MethodArgInfo_t * /* marginfo */) co nst {;} | |||
virtual MethodArgInfo_t *MethodArgInfo_Factory() const {return 0;} | virtual MethodArgInfo_t *MethodArgInfo_Factory() const {return 0;} | |||
virtual MethodArgInfo_t *MethodArgInfo_FactoryCopy(MethodArgInfo_t * /* marginfo */) const {return 0;} | virtual MethodArgInfo_t *MethodArgInfo_FactoryCopy(MethodArgInfo_t * /* marginfo */) const {return 0;} | |||
virtual Bool_t MethodArgInfo_IsValid(MethodArgInfo_t * /* marginfo */) c onst {return 0;} | virtual Bool_t MethodArgInfo_IsValid(MethodArgInfo_t * /* marginfo */) c onst {return 0;} | |||
virtual int MethodArgInfo_Next(MethodArgInfo_t * /* marginfo */) cons t {return 0;} | virtual int MethodArgInfo_Next(MethodArgInfo_t * /* marginfo */) cons t {return 0;} | |||
virtual Long_t MethodArgInfo_Property(MethodArgInfo_t * /* marginfo */) const {return 0;} | virtual Long_t MethodArgInfo_Property(MethodArgInfo_t * /* marginfo */) const {return 0;} | |||
virtual const char *MethodArgInfo_DefaultValue(MethodArgInfo_t * /* marg info */) const {return 0;} | virtual const char *MethodArgInfo_DefaultValue(MethodArgInfo_t * /* marg info */) const {return 0;} | |||
virtual const char *MethodArgInfo_Name(MethodArgInfo_t * /* marginfo */) const {return 0;} | virtual const char *MethodArgInfo_Name(MethodArgInfo_t * /* marginfo */) const {return 0;} | |||
virtual const char *MethodArgInfo_TypeName(MethodArgInfo_t * /* marginfo */) const {return 0;} | virtual const char *MethodArgInfo_TypeName(MethodArgInfo_t * /* marginfo */) const {return 0;} | |||
virtual std::string MethodArgInfo_TypeNormalizedName(MethodArgInfo_t * / * marginfo */) const {return 0;} | ||||
// G__TypeInfo interface | // G__TypeInfo interface | |||
virtual void TypeInfo_Delete(TypeInfo_t * /* tinfo */) const {;} | virtual void TypeInfo_Delete(TypeInfo_t * /* tinfo */) const {;} | |||
virtual TypeInfo_t *TypeInfo_Factory() const {return 0;} | virtual TypeInfo_t *TypeInfo_Factory() const {return 0;} | |||
virtual TypeInfo_t *TypeInfo_Factory(G__value * /* value */) const {retu rn 0;} | virtual TypeInfo_t *TypeInfo_Factory(G__value * /* value */) const {retu rn 0;} | |||
virtual TypeInfo_t *TypeInfo_FactoryCopy(TypeInfo_t * /* tinfo */) const {return 0;} | virtual TypeInfo_t *TypeInfo_FactoryCopy(TypeInfo_t * /* tinfo */) const {return 0;} | |||
virtual void TypeInfo_Init(TypeInfo_t * /* tinfo */, const char * /* f uncname */) const {;} | virtual void TypeInfo_Init(TypeInfo_t * /* tinfo */, const char * /* f uncname */) const {;} | |||
virtual Bool_t TypeInfo_IsValid(TypeInfo_t * /* tinfo */) const {return 0;} | virtual Bool_t TypeInfo_IsValid(TypeInfo_t * /* tinfo */) const {return 0;} | |||
virtual const char *TypeInfo_Name(TypeInfo_t * /* info */) const {return 0;} | virtual const char *TypeInfo_Name(TypeInfo_t * /* info */) const {return 0;} | |||
virtual Long_t TypeInfo_Property(TypeInfo_t * /* tinfo */) const {return 0;} | virtual Long_t TypeInfo_Property(TypeInfo_t * /* tinfo */) const {return 0;} | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 3 lines changed or added | |||
TMethodArg.h | TMethodArg.h | |||
---|---|---|---|---|
// @(#)root/meta:$Id: TMethodArg.h 25986 2008-10-28 08:39:44Z brun $ | // @(#)root/meta:$Id: TMethodArg.h 48771 2013-02-28 19:49:49Z pcanal $ | |||
// Author: Rene Brun 04/02/95 | // Author: Rene Brun 04/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 51 | skipping to change at line 51 | |||
TFunction *fMethod; //pointer to the method or global func tion | TFunction *fMethod; //pointer to the method or global func tion | |||
TDataMember *fDataMember; //TDataMember pointed by this arg,to g et values and options from. | TDataMember *fDataMember; //TDataMember pointed by this arg,to g et values and options from. | |||
public: | public: | |||
TMethodArg(MethodArgInfo_t *info = 0, TFunction *method = 0); | TMethodArg(MethodArgInfo_t *info = 0, TFunction *method = 0); | |||
virtual ~TMethodArg(); | virtual ~TMethodArg(); | |||
const char *GetDefault() const; | const char *GetDefault() const; | |||
TFunction *GetMethod() const { return fMethod; } | TFunction *GetMethod() const { return fMethod; } | |||
const char *GetTypeName() const; | const char *GetTypeName() const; | |||
const char *GetFullTypeName() const; | const char *GetFullTypeName() const; | |||
std::string GetTypeNormalizedName() const; | ||||
Long_t Property() const; | Long_t Property() const; | |||
TDataMember *GetDataMember() const; | TDataMember *GetDataMember() const; | |||
TList *GetOptions() const; | TList *GetOptions() const; | |||
ClassDef(TMethodArg,0) //Dictionary for a method argument | ClassDef(TMethodArg,0) //Dictionary for a method argument | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 2 lines changed or added | |||
TObject.h | TObject.h | |||
---|---|---|---|---|
// @(#)root/base:$Id: TObject.h 48256 2013-01-10 14:24:07Z axel $ | // @(#)root/base:$Id: TObject.h 49056 2013-04-01 13:19:26Z pcanal $ | |||
// Author: Rene Brun 26/12/94 | // Author: Rene Brun 26/12/94 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TOracleStatement.h | TOracleStatement.h | |||
---|---|---|---|---|
// @(#)root/oracle:$Id: TOracleStatement.h 44342 2012-05-29 15:17:27Z axel $ | // @(#)root/oracle:$Id: TOracleStatement.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Sergey Linev 6/02/2006 | // Author: Sergey Linev 6/02/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 44 | skipping to change at line 44 | |||
class TOracleStatement : public TSQLStatement { | class TOracleStatement : public TSQLStatement { | |||
protected: | protected: | |||
struct TBufferRec { | struct TBufferRec { | |||
char* strbuf; | char* strbuf; | |||
Long_t strbufsize; | Long_t strbufsize; | |||
char* namebuf; | char* namebuf; | |||
}; | }; | |||
oracle::occi::Environment *fEnv; // enviroment | oracle::occi::Environment *fEnv; // environment | |||
oracle::occi::Connection *fConn; // connection to Oracle | oracle::occi::Connection *fConn; // connection to Oracle | |||
oracle::occi::Statement *fStmt; // executed statement | oracle::occi::Statement *fStmt; // executed statement | |||
oracle::occi::ResultSet *fResult; // query result (rows) | oracle::occi::ResultSet *fResult; // query result (rows) | |||
std::vector<oracle::occi::MetaData> *fFieldInfo; // info for each fiel d in the row | std::vector<oracle::occi::MetaData> *fFieldInfo; // info for each fiel d in the row | |||
TBufferRec *fBuffer; // buffer of values and field name s | TBufferRec *fBuffer; // buffer of values and field name s | |||
Int_t fBufferSize; // size of fBuffer | Int_t fBufferSize; // size of fBuffer | |||
Int_t fNumIterations; // size of internal statement bu ffer | Int_t fNumIterations; // size of internal statement bu ffer | |||
Int_t fIterCounter; //counts nextiteration calls and pr ocess iterations, if required | Int_t fIterCounter; //counts nextiteration calls and pr ocess iterations, if required | |||
Int_t fWorkingMode; // 1 - settingpars, 2 - getting res ults | Int_t fWorkingMode; // 1 - settingpars, 2 - getting res ults | |||
TString fTimeFmt; // format for date to string conver sion, default "MM/DD/YYYY, HH24:MI:SS" | TString fTimeFmt; // format for date to string conver sion, default "MM/DD/YYYY, HH24:MI:SS" | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TPRegexp.h | TPRegexp.h | |||
---|---|---|---|---|
// @(#)root/base:$Id: TPRegexp.h 26600 2008-12-02 18:56:10Z brun $ | // @(#)root/base:$Id: TPRegexp.h 48662 2013-02-21 11:31:15Z rdm $ | |||
// Author: Eddy Offermann 24/06/05 | // Author: Eddy Offermann 24/06/05 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 55 | skipping to change at line 55 | |||
kPCRE_GLOBAL = 0x80000000, | kPCRE_GLOBAL = 0x80000000, | |||
kPCRE_OPTIMIZE = 0x40000000, | kPCRE_OPTIMIZE = 0x40000000, | |||
kPCRE_DEBUG_MSGS = 0x20000000, | kPCRE_DEBUG_MSGS = 0x20000000, | |||
kPCRE_INTMASK = 0x0FFF | kPCRE_INTMASK = 0x0FFF | |||
}; | }; | |||
TString fPattern; | TString fPattern; | |||
PCREPriv_t *fPriv; | PCREPriv_t *fPriv; | |||
UInt_t fPCREOpts; | UInt_t fPCREOpts; | |||
static Bool_t fgThrowAtCompileError; | ||||
void Compile(); | void Compile(); | |||
void Optimize(); | void Optimize(); | |||
UInt_t ParseMods(const TString &mods) const; | UInt_t ParseMods(const TString &mods) const; | |||
Int_t ReplaceSubs(const TString &s, TString &final, | Int_t ReplaceSubs(const TString &s, TString &final, | |||
const TString &replacePattern, | const TString &replacePattern, | |||
Int_t *ovec, Int_t nmatch) const; | Int_t *ovec, Int_t nmatch) const; | |||
Int_t MatchInternal(const TString& s, Int_t start, | Int_t MatchInternal(const TString& s, Int_t start, | |||
Int_t nMaxMatch, TArrayI *pos=0); | Int_t nMaxMatch, TArrayI *pos=0); | |||
Int_t SubstituteInternal(TString &s, const TString &replace, | Int_t SubstituteInternal(TString &s, const TString &replace, | |||
Int_t start, Int_t nMaxMatch0, | Int_t start, Int_t nMaxMatch0, | |||
Bool_t doDollarSubst); | Bool_t doDollarSubst); | |||
public: | public: | |||
TPRegexp(); | TPRegexp(); | |||
TPRegexp(const TString &pat); | TPRegexp(const TString &pat); | |||
TPRegexp(const TPRegexp &p); | TPRegexp(const TPRegexp &p); | |||
virtual ~TPRegexp(); | virtual ~TPRegexp(); | |||
Bool_t IsValid() const; | ||||
Int_t Match(const TString &s, const TString &mods="", | Int_t Match(const TString &s, const TString &mods="", | |||
Int_t start=0, Int_t nMaxMatch=10, TArrayI *pos=0); | Int_t start=0, Int_t nMaxMatch=10, TArrayI *pos=0); | |||
TObjArray *MatchS(const TString &s, const TString &mods="", | TObjArray *MatchS(const TString &s, const TString &mods="", | |||
Int_t start=0, Int_t nMaxMatch=10); | Int_t start=0, Int_t nMaxMatch=10); | |||
Bool_t MatchB(const TString &s, const TString &mods="", | Bool_t MatchB(const TString &s, const TString &mods="", | |||
Int_t start=0, Int_t nMaxMatch=10) { | Int_t start=0, Int_t nMaxMatch=10) { | |||
return (Match(s,mods,start,nMaxMatch) > 0); } | return (Match(s,mods,start,nMaxMatch) > 0); } | |||
Int_t Substitute(TString &s, const TString &replace, | Int_t Substitute(TString &s, const TString &replace, | |||
const TString &mods="", Int_t start=0, | const TString &mods="", Int_t start=0, | |||
Int_t nMatchMax=10); | Int_t nMatchMax=10); | |||
TString GetPattern() const { return fPattern; } | TString GetPattern() const { return fPattern; } | |||
TString GetModifiers() const; | TString GetModifiers() const; | |||
TPRegexp &operator=(const TPRegexp &p); | TPRegexp &operator=(const TPRegexp &p); | |||
static Bool_t GetThrowAtCompileError(); | ||||
static void SetThrowAtCompileError(Bool_t throwp); | ||||
ClassDef(TPRegexp,0) // Perl Compatible Regular Expression Class | ClassDef(TPRegexp,0) // Perl Compatible Regular Expression Class | |||
}; | }; | |||
class TPMERegexp : protected TPRegexp { | class TPMERegexp : protected TPRegexp { | |||
private: | private: | |||
TPMERegexp& operator=(const TPMERegexp&); // Not implemented | TPMERegexp& operator=(const TPMERegexp&); // Not implemented | |||
protected: | protected: | |||
Int_t fNMaxMatches; // maximum number of matches | Int_t fNMaxMatches; // maximum number of matches | |||
End of changes. 4 change blocks. | ||||
1 lines changed or deleted | 8 lines changed or added | |||
TParameter.h | TParameter.h | |||
---|---|---|---|---|
// @(#)root/base:$Id: TParameter.h 48256 2013-01-10 14:24:07Z axel $ | // @(#)root/base:$Id: TParameter.h 49118 2013-04-08 08:49:34Z rdm $ | |||
// Author: Maarten Ballintijn 21/06/2004 | // Author: Maarten Ballintijn 21/06/2004 | |||
/************************************************************************* | /************************************************************************* | |||
* 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 | |||
#endif | #endif | |||
#ifndef ROOT_TROOT | #ifndef ROOT_TROOT | |||
#include "TROOT.h" | #include "TROOT.h" | |||
#endif | #endif | |||
template <class AParamType> | template <class AParamType> | |||
class TParameter : public TObject { | class TParameter : public TObject { | |||
public: | public: | |||
enum EStatusBits { kMultiply = BIT(16) }; // Use multiplication while me | // Defines options / status while merging: | |||
rging | enum EStatusBits { kMultiply = BIT(16), // Use multiplication | |||
kMax = BIT(17), // Take max value | ||||
kMin = BIT(18), // Take min value | ||||
kFirst = BIT(19), // Take the first value | ||||
kLast = BIT(20), // Take the last value | ||||
kIsConst = BIT(21) // Set if all values are eq | ||||
ual | ||||
}; | ||||
private: | private: | |||
TString fName; | TString fName; | |||
AParamType fVal; | AParamType fVal; | |||
void Reset() { ResetBit(kMultiply); ResetBit(kMax); ResetBit(kMin | ||||
); | ||||
ResetBit(kFirst); ResetBit(kLast); } | ||||
public: | public: | |||
TParameter(): fVal() {} | TParameter(): fVal() { Reset(); SetBit(kIsConst); } | |||
TParameter(const char *name, const AParamType &val) | TParameter(const char *name, const AParamType &val) | |||
: fName(name), fVal(val) { ResetBit(kMultiply); } | : fName(name), fVal(val) { Reset(); SetBit(kIsConst);} | |||
TParameter(const char *name, const AParamType &val, char mergemode) | TParameter(const char *name, const AParamType &val, char mergemode) | |||
: fName(name), fVal(val) { SetMergeMode(mergemode); } | : fName(name), fVal(val) { SetMergeMode(mergemode); SetBit(kIs Const);} | |||
~TParameter() { } | ~TParameter() { } | |||
const char *GetName() const { return fName; } | const char *GetName() const { return fName; } | |||
const AParamType &GetVal() const { return fVal; } | const AParamType &GetVal() const { return fVal; } | |||
Bool_t IsConst() const { return (TestBit(kIsConst) ? kTRUE : kFALSE); } | ||||
void SetVal(const AParamType &val) { fVal = val; } | void SetVal(const AParamType &val) { fVal = val; } | |||
void SetMergeMode(char mergemode = '+') { ResetBit(kMultipl | ||||
y); | ||||
if (mergemode == | ||||
'*') SetBit(kMultiply); } | ||||
// Merging modes: | ||||
// '+' addition ('OR' for booleans) [default] | ||||
// '*' multiplication ('AND' for booleans) | ||||
// 'M' maximum ('OR' for booleans) | ||||
// 'm' minimum ('AND' for booleans) | ||||
// 'f' first value | ||||
// 'l' last value | ||||
void SetMergeMode(char mergemode = '+') { | ||||
Reset(); | ||||
if (mergemode == '*') { | ||||
SetBit(kMultiply); | ||||
} else if (mergemode == 'M') { | ||||
SetBit(kMax); | ||||
} else if (mergemode == 'm') { | ||||
SetBit(kMin); | ||||
} else if (mergemode == 'f') { | ||||
SetBit(kFirst); | ||||
} else if (mergemode == 'l') { | ||||
SetBit(kLast); | ||||
} | ||||
} | ||||
virtual ULong_t Hash() const { return fName.Hash(); } | virtual ULong_t Hash() const { return fName.Hash(); } | |||
virtual Bool_t IsSortable() const { return kTRUE; } | virtual Bool_t IsSortable() const { return kTRUE; } | |||
virtual Int_t Compare(const TObject *obj) const { | virtual Int_t Compare(const TObject *obj) const { | |||
// Compare two TParameter objects. Returns 0 when equal, -1 when this is | // Compare two TParameter objects. Returns 0 when equal, -1 when this is | |||
// smaller and +1 when bigger (like strcmp). | // smaller and +1 when bigger (like strcmp). | |||
if (this == obj) return 0; | if (this == obj) return 0; | |||
return fName.CompareTo(obj->GetName()); | return fName.CompareTo(obj->GetName()); | |||
} | } | |||
skipping to change at line 107 | skipping to change at line 137 | |||
template <class AParamType> | template <class AParamType> | |||
inline Int_t TParameter<AParamType>::Merge(TCollection *in) { | inline Int_t TParameter<AParamType>::Merge(TCollection *in) { | |||
// Merge objects in the list. | // Merge objects in the list. | |||
// Returns the number of objects that were in the list. | // Returns the number of objects that were in the list. | |||
TIter nxo(in); | TIter nxo(in); | |||
Int_t n = 0; | Int_t n = 0; | |||
while (TObject *o = nxo()) { | while (TObject *o = nxo()) { | |||
TParameter<AParamType> *c = dynamic_cast<TParameter<AParamType> *>(o) ; | TParameter<AParamType> *c = dynamic_cast<TParameter<AParamType> *>(o) ; | |||
if (c) { | if (c) { | |||
if (TestBit(kMultiply)) | // Check if constant | |||
if (fVal != c->GetVal()) ResetBit(kIsConst); | ||||
if (TestBit(kMultiply)) { | ||||
// Multiply | ||||
fVal *= c->GetVal(); | fVal *= c->GetVal(); | |||
else | } else if (TestBit(kMax)) { | |||
// Take max | ||||
if (c->GetVal() > fVal) fVal = c->GetVal(); | ||||
} else if (TestBit(kMin)) { | ||||
// Take min | ||||
if (c->GetVal() < fVal) fVal = c->GetVal(); | ||||
} else if (TestBit(kLast)) { | ||||
// Take the last | ||||
fVal = c->GetVal(); | ||||
} else if (!TestBit(kFirst)) { | ||||
// Add, if not asked to take the first | ||||
fVal += c->GetVal(); | fVal += c->GetVal(); | |||
} | ||||
n++; | n++; | |||
} | } | |||
} | } | |||
return n; | return n; | |||
} | } | |||
// Specialization of Merge for Bool_t | // Specialization of Merge for Bool_t | |||
template <> | template <> | |||
inline Int_t TParameter<Bool_t>::Merge(TCollection *in) | inline Int_t TParameter<Bool_t>::Merge(TCollection *in) | |||
{ | { | |||
// Merge bool objects in the list. | // Merge bool objects in the list. | |||
// Returns the number of objects that were in the list. | // Returns the number of objects that were in the list. | |||
TIter nxo(in); | TIter nxo(in); | |||
Int_t n = 0; | Int_t n = 0; | |||
while (TObject *o = nxo()) { | while (TObject *o = nxo()) { | |||
TParameter<Bool_t> *c = dynamic_cast<TParameter<Bool_t> *>(o); | TParameter<Bool_t> *c = dynamic_cast<TParameter<Bool_t> *>(o); | |||
if (c) { | if (c) { | |||
if (TestBit(TParameter::kMultiply)) | // Check if constant | |||
if (fVal != (Bool_t) c->GetVal()) ResetBit(kIsConst); | ||||
if (TestBit(TParameter::kMultiply) || TestBit(kMin)) { | ||||
// And | ||||
fVal &= (Bool_t) c->GetVal(); | fVal &= (Bool_t) c->GetVal(); | |||
else | } else if (TestBit(kLast)) { | |||
// Take the last | ||||
fVal = (Bool_t) c->GetVal(); | ||||
} else if (!TestBit(kFirst) || TestBit(kMax)) { | ||||
// Or | ||||
fVal |= (Bool_t) c->GetVal(); | fVal |= (Bool_t) c->GetVal(); | |||
} | ||||
n++; | n++; | |||
} | } | |||
} | } | |||
return n; | return n; | |||
} | } | |||
#endif | #endif | |||
End of changes. 15 change blocks. | ||||
14 lines changed or deleted | 65 lines changed or added | |||
TProfile.h | TProfile.h | |||
---|---|---|---|---|
// @(#)root/hist:$Id: TProfile.h 43802 2012-04-17 15:20:48Z moneta $ | // @(#)root/hist:$Id: TProfile.h 49134 2013-04-08 21:20:27Z moneta $ | |||
// Author: Rene Brun 29/09/95 | // Author: Rene Brun 29/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 132 | skipping to change at line 132 | |||
TH1 *Rebin(Int_t ngroup=2, const char*newname="", const Doub le_t *xbins=0); | TH1 *Rebin(Int_t ngroup=2, const char*newname="", const Doub le_t *xbins=0); | |||
virtual void RebinAxis(Double_t x, TAxis *axis); | virtual void RebinAxis(Double_t x, TAxis *axis); | |||
virtual void Reset(Option_t *option=""); | virtual void Reset(Option_t *option=""); | |||
virtual void SavePrimitive(ostream &out, Option_t *option = ""); | virtual void SavePrimitive(ostream &out, Option_t *option = ""); | |||
virtual void Scale(Double_t c1=1, Option_t *option=""); | virtual void Scale(Double_t c1=1, Option_t *option=""); | |||
virtual void SetBinEntries(Int_t bin, Double_t w); | virtual void SetBinEntries(Int_t bin, Double_t w); | |||
virtual void SetBins(Int_t nbins, Double_t xmin, Double_t xmax); | virtual void SetBins(Int_t nbins, Double_t xmin, Double_t xmax); | |||
virtual void SetBins(Int_t nx, const Double_t *xbins); | virtual void SetBins(Int_t nx, const Double_t *xbins); | |||
virtual void SetBuffer(Int_t buffersize, Option_t *option=""); | virtual void SetBuffer(Int_t buffersize, Option_t *option=""); | |||
virtual void SetErrorOption(Option_t *option=""); // *MENU* | virtual void SetErrorOption(Option_t *option=""); // *MENU* | |||
virtual void Sumw2(); | virtual void Sumw2(Bool_t flag = kTRUE); | |||
ClassDef(TProfile,6) //Profile histogram class | ClassDef(TProfile,6) //Profile histogram class | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TProfile2D.h | TProfile2D.h | |||
---|---|---|---|---|
// @(#)root/hist:$Id: TProfile2D.h 44515 2012-06-04 14:16:56Z moneta $ | // @(#)root/hist:$Id: TProfile2D.h 49134 2013-04-08 21:20:27Z moneta $ | |||
// Author: Rene Brun 16/04/2000 | // Author: Rene Brun 16/04/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 138 | skipping to change at line 138 | |||
virtual TProfile2D *Rebin2D(Int_t nxgroup=2, Int_t nygroup=2, const char *newname=""); | virtual TProfile2D *Rebin2D(Int_t nxgroup=2, Int_t nygroup=2, const char *newname=""); | |||
virtual TProfile2D *RebinX(Int_t ngroup=2, const char *newname=""); | virtual TProfile2D *RebinX(Int_t ngroup=2, const char *newname=""); | |||
virtual TProfile2D *RebinY(Int_t ngroup=2, const char *newname=""); | virtual TProfile2D *RebinY(Int_t ngroup=2, const char *newname=""); | |||
virtual void SavePrimitive(ostream &out, Option_t *option = ""); | virtual void SavePrimitive(ostream &out, Option_t *option = ""); | |||
virtual void Scale(Double_t c1=1, Option_t *option=""); | virtual void Scale(Double_t c1=1, Option_t *option=""); | |||
virtual void SetBinEntries(Int_t bin, Double_t w); | virtual void SetBinEntries(Int_t bin, Double_t w); | |||
virtual void SetBins(Int_t nbinsx, Double_t xmin, Double_t xmax, In t_t nbinsy, Double_t ymin, Double_t ymax); | virtual void SetBins(Int_t nbinsx, Double_t xmin, Double_t xmax, In t_t nbinsy, Double_t ymin, Double_t ymax); | |||
virtual void SetBins(Int_t nx, const Double_t *xBins, Int_t ny, con st Double_t *yBins); | virtual void SetBins(Int_t nx, const Double_t *xBins, Int_t ny, con st Double_t *yBins); | |||
virtual void SetBuffer(Int_t buffersize, Option_t *option=""); | virtual void SetBuffer(Int_t buffersize, Option_t *option=""); | |||
virtual void SetErrorOption(Option_t *option=""); // *MENU* | virtual void SetErrorOption(Option_t *option=""); // *MENU* | |||
virtual void Sumw2(); | virtual void Sumw2(Bool_t flag = kTRUE); | |||
ClassDef(TProfile2D,7) //Profile2D histogram class | ClassDef(TProfile2D,7) //Profile2D histogram class | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TProfile3D.h | TProfile3D.h | |||
---|---|---|---|---|
// @(#)root/hist:$Id: TProfile3D.h 44515 2012-06-04 14:16:56Z moneta $ | // @(#)root/hist:$Id: TProfile3D.h 49134 2013-04-08 21:20:27Z moneta $ | |||
// Author: Rene Brun 17/05/2006 | // Author: Rene Brun 17/05/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 137 | skipping to change at line 137 | |||
virtual void SavePrimitive(ostream &out, Option_t *option = ""); | virtual void SavePrimitive(ostream &out, Option_t *option = ""); | |||
virtual void Scale(Double_t c1=1, Option_t *option=""); | virtual void Scale(Double_t c1=1, Option_t *option=""); | |||
virtual void SetBinEntries(Int_t bin, Double_t w); | virtual void SetBinEntries(Int_t bin, Double_t w); | |||
virtual void SetBins(Int_t nbinsx, Double_t xmin, Double_t xmax, | virtual void SetBins(Int_t nbinsx, Double_t xmin, Double_t xmax, | |||
Int_t nbinsy, Double_t ymin, Double_t ymax, | Int_t nbinsy, Double_t ymin, Double_t ymax, | |||
Int_t nbinsz, Double_t zmin, Double_t zmax); | Int_t nbinsz, Double_t zmin, Double_t zmax); | |||
virtual void SetBins(Int_t nx, const Double_t *xBins, Int_t ny, con st Double_t * yBins, Int_t nz, | virtual void SetBins(Int_t nx, const Double_t *xBins, Int_t ny, con st Double_t * yBins, Int_t nz, | |||
const Double_t *zBins); | const Double_t *zBins); | |||
virtual void SetBuffer(Int_t buffersize, Option_t *opt=""); | virtual void SetBuffer(Int_t buffersize, Option_t *opt=""); | |||
virtual void SetErrorOption(Option_t *option=""); // *MENU* | virtual void SetErrorOption(Option_t *option=""); // *MENU* | |||
virtual void Sumw2(); | virtual void Sumw2(Bool_t flag = kTRUE); | |||
ClassDef(TProfile3D,7) //Profile3D histogram class | ClassDef(TProfile3D,7) //Profile3D histogram class | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TProof.h | TProof.h | |||
---|---|---|---|---|
// @(#)root/proof:$Id: TProof.h 48276 2013-01-12 11:38:52Z ganis $ | // @(#)root/proof:$Id: TProof.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 314 | skipping to change at line 314 | |||
Bool_t AreAllWorkersAssigned(); | Bool_t AreAllWorkersAssigned(); | |||
Bool_t AreAllWorkersMerged(); | Bool_t AreAllWorkersMerged(); | |||
void Deactivate() { fIsActive = kFALSE; } | void Deactivate() { fIsActive = kFALSE; } | |||
Bool_t IsActive() { return fIsActive; } | Bool_t IsActive() { return fIsActive; } | |||
ClassDef(TMergerInfo,0) // Basic info on merger, i.e. worker se rving as merger | ClassDef(TMergerInfo,0) // Basic info on merger, i.e. worker se rving as merger | |||
}; | }; | |||
// Small auxilliary class for merging progress notification | // Small auxiliary class for merging progress notification | |||
class TProofMergePrg { | class TProofMergePrg { | |||
private: | private: | |||
TString fExp; | TString fExp; | |||
Int_t fIdx; | Int_t fIdx; | |||
Int_t fNWrks; | Int_t fNWrks; | |||
Int_t fLastNWrks; | Int_t fLastNWrks; | |||
static char fgCr[4]; | static char fgCr[4]; | |||
public: | public: | |||
TProofMergePrg() : fExp(), fIdx(-1), fNWrks(-1), fLastNWrks(-1) { } | TProofMergePrg() : fExp(), fIdx(-1), fNWrks(-1), fLastNWrks(-1) { } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TPython.h | TPython.h | |||
---|---|---|---|---|
// @(#)root/pyroot:$Id: TPython.h 48108 2012-12-18 19:11:13Z wlav $ | // @(#)root/pyroot:$Id: TPython.h 48878 2013-03-15 12:42:41Z wlav $ | |||
#ifndef ROOT_TPython | #ifndef ROOT_TPython | |||
#define ROOT_TPython | #define ROOT_TPython | |||
/////////////////////////////////////////////////////////////////////////// /// | /////////////////////////////////////////////////////////////////////////// /// | |||
// // | // // | |||
// TPython // | // TPython // | |||
// // | // // | |||
// Access to the python interpreter and API onto PyROOT. // | // Access to the python interpreter and API onto PyROOT. // | |||
// // | // // | |||
/////////////////////////////////////////////////////////////////////////// /// | /////////////////////////////////////////////////////////////////////////// /// | |||
skipping to change at line 49 | skipping to change at line 49 | |||
// bind a ROOT object with, at the python side, the name "label" | // bind a ROOT object with, at the python side, the name "label" | |||
static Bool_t Bind( TObject* object, const char* label ); | static Bool_t Bind( TObject* object, const char* label ); | |||
// enter an interactive python session (exit with ^D) | // enter an interactive python session (exit with ^D) | |||
static void Prompt(); | static void Prompt(); | |||
// type verifiers for ObjectProxy | // type verifiers for ObjectProxy | |||
static Bool_t ObjectProxy_Check( PyObject* pyobject ); | static Bool_t ObjectProxy_Check( PyObject* pyobject ); | |||
static Bool_t ObjectProxy_CheckExact( PyObject* pyobject ); | static Bool_t ObjectProxy_CheckExact( PyObject* pyobject ); | |||
// type verifiers for MethodProxy | ||||
static Bool_t MethodProxy_Check( PyObject* pyobject ); | ||||
static Bool_t MethodProxy_CheckExact( PyObject* pyobject ); | ||||
// object proxy to void* conversion | // object proxy to void* conversion | |||
static void* ObjectProxy_AsVoidPtr( PyObject* pyobject ); | static void* ObjectProxy_AsVoidPtr( PyObject* pyobject ); | |||
// void* to object proxy conversion, returns a new reference | // void* to object proxy conversion, returns a new reference | |||
static PyObject* ObjectProxy_FromVoidPtr( | static PyObject* ObjectProxy_FromVoidPtr( | |||
void* addr, const char* classname, Bool_t python_owns = kFALSE ); | void* addr, const char* classname, Bool_t python_owns = kFALSE ); | |||
virtual ~TPython() { } | virtual ~TPython() { } | |||
ClassDef(TPython,0) //Access to the python interpreter | ClassDef(TPython,0) //Access to the python interpreter | |||
}; | }; | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 5 lines changed or added | |||
TQApplication.h | TQApplication.h | |||
---|---|---|---|---|
// @(#)root/qtgsi:$Id: TQApplication.h 20882 2007-11-19 11:31:26Z rdm $ | // @(#)root/qtgsi:$Id: TQApplication.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TQApplication | #ifndef ROOT_TQApplication | |||
#define ROOT_TQApplication | #define ROOT_TQApplication | |||
/////////////////////////////////////////////////////////////////////////// /////// | /////////////////////////////////////////////////////////////////////////// /////// | |||
// | // | |||
// TQApplication | // TQApplication | |||
// | // | |||
// This class creates ROOT environement that will | // This class creates ROOT environment that will | |||
// interface with the Qt windowing system eventloop and eventhandlers. | // interface with the Qt windowing system eventloop and eventhandlers. | |||
// This class will be instantiated once (singleton) in a main() | // This class will be instantiated once (singleton) in a main() | |||
// program. | // program. | |||
// | // | |||
/////////////////////////////////////////////////////////////////////////// /////// | /////////////////////////////////////////////////////////////////////////// /////// | |||
#ifndef ROOT_TApplication | #ifndef ROOT_TApplication | |||
#include "TApplication.h" | #include "TApplication.h" | |||
#endif | #endif | |||
skipping to change at line 42 | skipping to change at line 42 | |||
private: | private: | |||
Bool_t fCustomized; // flag for customized canvas implimentation | Bool_t fCustomized; // flag for customized canvas implimentation | |||
public: | public: | |||
TQApplication(); | TQApplication(); | |||
TQApplication(const char *appClassName, int *argc, char **argv, void *op tions = 0, int numOptions = 0); | TQApplication(const char *appClassName, int *argc, char **argv, void *op tions = 0, int numOptions = 0); | |||
virtual ~TQApplication(); | virtual ~TQApplication(); | |||
virtual void LoadGraphicsLibs(); | virtual void LoadGraphicsLibs(); | |||
void SetCustomized(); | void SetCustomized(); | |||
ClassDef(TQApplication,0) //creates ROOT environement with the Qt window ing system | ClassDef(TQApplication,0) //creates ROOT environment with the Qt windowi ng system | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
TQRootApplication.h | TQRootApplication.h | |||
---|---|---|---|---|
// @(#)root/qtgsi:$Id: TQRootApplication.h 32344 2010-02-15 16:15:57Z belle not $ | // @(#)root/qtgsi:$Id: TQRootApplication.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TQRootApplication | #ifndef ROOT_TQRootApplication | |||
#define ROOT_TQRootApplication | #define ROOT_TQRootApplication | |||
////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////// | |||
// | // | |||
// TQRootApplication | // TQRootApplication | |||
// | // | |||
// This class creates Qt environement that will | // This class creates Qt environment that will | |||
// interface with the ROOT windowing system eventloop and eventhandlers, | // interface with the ROOT windowing system eventloop and eventhandlers, | |||
// via a polling mechanism. | // via a polling mechanism. | |||
// | // | |||
/////////////////////////////////////////////////////////////////////// | /////////////////////////////////////////////////////////////////////// | |||
#ifndef __CINT__ | #ifndef __CINT__ | |||
#include "qapplication.h" | #include "qapplication.h" | |||
#include "qobject.h" | #include "qobject.h" | |||
#include "qtimer.h" | #include "qtimer.h" | |||
#endif | #endif | |||
skipping to change at line 61 | skipping to change at line 61 | |||
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 environment interface with t he ROOT windowing system | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
TRefArray.h | TRefArray.h | |||
---|---|---|---|---|
// @(#)root/cont:$Id: TRefArray.h 43515 2012-03-27 21:15:53Z pcanal $ | // @(#)root/cont:$Id: TRefArray.h 48797 2013-03-01 20:51:20Z 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 57 | skipping to change at line 57 | |||
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 | |||
Int_t fLowerBound; //Lower bound of the array | Int_t fLowerBound; //Lower bound of the array | |||
Int_t fLast; //Last element in array containing an object | Int_t fLast; //Last element in array containing an object | |||
Bool_t BoundsOk(const char *where, Int_t at) const; | Bool_t BoundsOk(const char *where, Int_t at) const; | |||
void Init(Int_t s, Int_t lowerBound); | void Init(Int_t s, Int_t lowerBound); | |||
Bool_t OutOfBoundsError(const char *where, Int_t i) const; | Bool_t OutOfBoundsError(const char *where, Int_t i) const; | |||
Int_t GetAbsLast() const; | Int_t GetAbsLast() const; | |||
TObject *GetFromTable(Int_t idx) const; | TObject *GetFromTable(Int_t idx) const; | |||
Bool_t GetObjectUID(Int_t &uid, TObject *obj, const char *methodn ame); | ||||
public: | public: | |||
typedef TRefArrayIter Iterator_t; | typedef TRefArrayIter Iterator_t; | |||
TRefArray(TProcessID *pid = 0); | TRefArray(TProcessID *pid = 0); | |||
TRefArray(Int_t s, TProcessID *pid); | TRefArray(Int_t s, TProcessID *pid); | |||
TRefArray(Int_t s, Int_t lowerBound = 0, TProcessID *pid = 0); | TRefArray(Int_t s, Int_t lowerBound = 0, TProcessID *pid = 0); | |||
TRefArray(const TRefArray &a); | TRefArray(const TRefArray &a); | |||
TRefArray& operator=(const TRefArray &a); | TRefArray& operator=(const TRefArray &a); | |||
virtual ~TRefArray(); | virtual ~TRefArray(); | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 2 lines changed or added | |||
TRemoteObject.h | TRemoteObject.h | |||
---|---|---|---|---|
// @(#)root/base:$Id: TRemoteObject.h 20877 2007-11-19 11:17:07Z rdm $ | // @(#)root/base:$Id: TRemoteObject.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Bertrand Bellenot 19/06/2007 | // Author: Bertrand Bellenot 19/06/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_TObjectRemote | #ifndef ROOT_TObjectRemote | |||
#define ROOT_TObjectRemote | #define ROOT_TObjectRemote | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
// // | // // | |||
// TRemoteObject // | // TRemoteObject // | |||
// // | // // | |||
// The TRemoteObject class provides protocol for browsing ROOT objects // | // The TRemoteObject class provides protocol for browsing ROOT objects // | |||
// from a remote ROOT session. // | // from a remote ROOT session. // | |||
// It contains informations on the real remote object as: // | // It contains information on the real remote object as: // | |||
// - Object Properties (i.e. file stat if the object is a TSystemFile) // | // - Object Properties (i.e. file stat if the object is a TSystemFile) // | |||
// - Object Name // | // - Object Name // | |||
// - Class Name // | // - Class Name // | |||
// - TKey Object Name (if the remote object is a TKey) // | // - TKey Object Name (if the remote object is a TKey) // | |||
// - TKey Class Name (if the remote object is a TKey) // | // - TKey Class Name (if the remote object is a TKey) // | |||
// - Remote object address // | // - Remote object address // | |||
// // | // // | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
#ifndef ROOT_TSystemDirectory | #ifndef ROOT_TSystemDirectory | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TS3WebFile.h | TS3WebFile.h | |||
---|---|---|---|---|
skipping to change at line 40 | skipping to change at line 40 | |||
// request, an 'Access Key Id' and a 'Secret Access Key' need to be // | // request, an 'Access Key Id' and a 'Secret Access Key' need to be // | |||
// known. These keys are used by the S3 servers to identify the client // | // known. These keys are used by the S3 servers to identify the client // | |||
// and to authenticate the request as genuine. // | // and to authenticate the request as genuine. // | |||
// // | // // | |||
// As an end user, you must know the Access Key and Secret Access Key // | // As an end user, you must know the Access Key and Secret Access Key // | |||
// in order to access each S3 file. They are provided to you by your S3 // | // in order to access each S3 file. They are provided to you by your S3 // | |||
// service provider. Those two keys can be provided to ROOT when // | // service provider. Those two keys can be provided to ROOT when // | |||
// initializing an object of this class by two means: // | // initializing an object of this class by two means: // | |||
// a) by using the environmental variables S3_ACCESS_KEY and // | // a) by using the environmental variables S3_ACCESS_KEY and // | |||
// S3_SECRET_KEY, or // | // S3_SECRET_KEY, or // | |||
// b) by specifying them when opening each file. // | // b) by specifying them as an argument when opening each file. // | |||
// // | // // | |||
// The first method is convenient if all the S3 files you want to // | // The first method is convenient if all the S3 files you want to // | |||
// access are hosted by a single provider. The second one is more // | // access are hosted by a single provider. The second one is more // | |||
// flexible as it allows you to specify which credentials to use // | // flexible as it allows you to specify which credentials to use // | |||
// on a per-file basis. See the documentation of the constructor of // | // on a per-file basis. See the documentation of the constructor of // | |||
// this class for details on the syntax. // | // this class for details on the syntax. // | |||
// // | // // | |||
// For generating and signing the HTTP request, this class uses // | // For generating and signing the HTTP request, this class uses // | |||
// THTTPMessage. // | // TS3HTTPRequest. // | |||
// // | // // | |||
// For more information on the details of S3 protocol please refer to: // | // For more information on the details of S3 protocol please refer to: // | |||
// "Amazon Simple Storage Service Developer Guide": // | // "Amazon Simple Storage Service Developer Guide": // | |||
// http://docs.amazonwebservices.com/AmazonS3/latest/dev/Welcome.html // | // http://docs.amazonwebservices.com/AmazonS3/latest/dev/Welcome.html // | |||
// // | // // | |||
// "Amazon Simple Storage Service REST API Reference" // | // "Amazon Simple Storage Service REST API Reference" // | |||
// http://docs.amazonwebservices.com/AmazonS3/latest/API/APIRest.html // | // http://docs.amazonwebservices.com/AmazonS3/latest/API/APIRest.html // | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
#ifndef ROOT_TWebFile | #ifndef ROOT_TWebFile | |||
skipping to change at line 71 | skipping to change at line 71 | |||
#endif | #endif | |||
#ifndef ROOT_TUrl | #ifndef ROOT_TUrl | |||
#include "TUrl.h" | #include "TUrl.h" | |||
#endif | #endif | |||
#ifndef ROOT_TString | #ifndef ROOT_TString | |||
#include "TString.h" | #include "TString.h" | |||
#endif | #endif | |||
#ifndef ROOT_TS3HTTPRequest | ||||
#include "TS3HTTPRequest.h" | ||||
#endif | ||||
class TS3WebFile: public TWebFile { | class TS3WebFile: public TWebFile { | |||
private: | private: | |||
TS3WebFile(); | TS3WebFile(); | |||
Bool_t ParseOptions(const TString& options); | Bool_t ParseOptions(Option_t* options, TString& accessKey, TString& secr | |||
Bool_t SetCredentialsFromEnv(const char* accessKeyEnv, const char* secre | etKey); | |||
tKeyEnv); | Bool_t GetCredentialsFromEnv(const char* accessKeyEnv, const char* secre | |||
tKeyEnv, | ||||
TString& outAccessKey, TString& outSecretKe | ||||
y); | ||||
protected: | protected: | |||
// Super-class methods extended by this class | // Super-class methods extended by this class | |||
virtual Int_t GetHead(); | virtual Int_t GetHead(); | |||
virtual void SetMsgReadBuffer10(const char* redirectLocation = 0, Bool_t tempRedirect = kFALSE); | virtual void SetMsgReadBuffer10(const char* redirectLocation = 0, Bool_t tempRedirect = kFALSE); | |||
virtual void ProcessHttpHeader(const TString& headerLine); | virtual void ProcessHttpHeader(const TString& headerLine); | |||
// Modifiers of data members (to be used mainly by subclasses) | // Modifiers of data members (to be used mainly by subclasses) | |||
void SetAccessKey(const TString& accessKey) { fAccessKey = accessKey; } | void SetAccessKey(const TString& accessKey) { fS3Request.SetAccessKey(ac | |||
void SetSecretKey(const TString& secretKey) { fSecretKey = secretKey; } | cessKey); } | |||
void SetSecretKey(const TString& secretKey) { fS3Request.SetSecretKey(se | ||||
cretKey); } | ||||
// Data members | // Data members | |||
static const TString fgAuthPrefix; // Authentication prefix | TS3HTTPRequest fS3Request; // S3 HTTP request | |||
TString fAccessKey; // Access key ID | Bool_t fUseMultiRange; // Is the S3 server capable of serving m | |||
TString fSecretKey; // Secret access key | ultirange requests? | |||
TString fBucket; // Bucket name | ||||
TString fObjectKey; // S3 object key (i.e. the file path within the | ||||
bucket) | ||||
Bool_t fUseMultiRange; // Is the S3 server capable of serving multiran | ||||
ge requests? | ||||
public: | public: | |||
// Constructors & Destructor | // Constructors & Destructor | |||
TS3WebFile(const char* url, Option_t* options=""); | TS3WebFile(const char* url, Option_t* options=""); | |||
virtual ~TS3WebFile() {} | virtual ~TS3WebFile() {} | |||
// Selectors | // Selectors | |||
const TString& GetAuthPrefix() const { return fgAuthPrefix; } | const TString& GetAccessKey() const { return fS3Request.GetAccessKey(); | |||
const TString& GetAccessKey() const { return fAccessKey; } | } | |||
const TString& GetSecretKey() const { return fSecretKey; } | const TString& GetSecretKey() const { return fS3Request.GetSecretKey(); | |||
} | ||||
const TString& GetBucket() const { return fS3Request.GetBucket(); } | ||||
const TString& GetObjectKey() const { return fS3Request.GetObjectKey(); | ||||
} | ||||
const TUrl& GetUrl() const { return fUrl; } | const TUrl& GetUrl() const { return fUrl; } | |||
const TString& GetBucket() const { return fBucket; } | ||||
const TString& GetObjectKey() const { return fObjectKey; } | ||||
// Modifiers | // Modifiers | |||
virtual Bool_t ReadBuffers(char* buf, Long64_t* pos, Int_t* len, In t_t nbuf); | virtual Bool_t ReadBuffers(char* buf, Long64_t* pos, Int_t* len, In t_t nbuf); | |||
ClassDef(TS3WebFile, 0) // Read a ROOT file from a S3 server | ClassDef(TS3WebFile, 0) // Read a ROOT file from a S3 server | |||
}; | }; | |||
#endif // ROOT_TS3WebFile | #endif // ROOT_TS3WebFile | |||
End of changes. 8 change blocks. | ||||
20 lines changed or deleted | 26 lines changed or added | |||
TTabCom.h | TTabCom.h | |||
---|---|---|---|---|
// @(#)root/rint:$Id: TTabCom.h 39402 2011-05-26 12:56:31Z axel $ | // @(#)root/rint:$Id: TTabCom.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Christian Lacunza <lacunza@cdfsg6.lbl.gov> 27/04/99 | // Author: Christian Lacunza <lacunza@cdfsg6.lbl.gov> 27/04/99 | |||
// Modified by Artur Szostak <artur@alice.phy.uct.ac.za> : 1 June 2003 | // Modified by Artur Szostak <artur@alice.phy.uct.ac.za> : 1 June 2003 | |||
// Added support for namespaces. | // Added support for namespaces. | |||
/************************************************************************* | /************************************************************************* | |||
* 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. * | |||
skipping to change at line 231 | skipping to change at line 231 | |||
TSeqCollection* fpUsers; | TSeqCollection* fpUsers; | |||
char* fBuf; // initialized by Hook() | char* fBuf; // initialized by Hook() | |||
int* fpLoc; // initialized by Hook() | int* fpLoc; // initialized by Hook() | |||
Pattern_t fPat[ kNUM_PAT ][ MAX_LEN_PAT ]; // array of patterns | Pattern_t fPat[ kNUM_PAT ][ MAX_LEN_PAT ]; // array of patterns | |||
const char* fRegExp[ kNUM_PAT ]; // corresponding regular e xpression plain text | const char* fRegExp[ kNUM_PAT ]; // corresponding regular e xpression plain text | |||
Bool_t fVarIsPointer; // frodo: pointer or not f lag | Bool_t fVarIsPointer; // frodo: pointer or not f lag | |||
Int_t fLastIter; // frodo: iteration counte r for recursive MakeClassFromVarName | Int_t fLastIter; // frodo: iteration counte r for recursive MakeClassFromVarName | |||
ClassDef(TTabCom,0) //Perform comand line completion when hitting <TAB> | ClassDef(TTabCom,0) //Perform command line completion when hitting <TAB > | |||
}; | }; | |||
R__EXTERN TTabCom *gTabCom; | R__EXTERN TTabCom *gTabCom; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TUnuranContDist.h | TUnuranContDist.h | |||
---|---|---|---|---|
// @(#)root/unuran:$Id: TUnuranContDist.h 33181 2010-04-25 10:15:08Z moneta $ | // @(#)root/unuran:$Id: TUnuranContDist.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// 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 28 | skipping to change at line 28 | |||
#endif | #endif | |||
#ifndef ROOT_Math_IFunctionfwd | #ifndef ROOT_Math_IFunctionfwd | |||
#include "Math/IFunctionfwd.h" | #include "Math/IFunctionfwd.h" | |||
#endif | #endif | |||
class TF1; | class TF1; | |||
//______________________________________________________________ | //______________________________________________________________ | |||
/** | /** | |||
TUnuranContDist class describing one dimensional continous distribution. | TUnuranContDist class describing one dimensional continuous distribution . | |||
It is used by TUnuran to generate random numbers according to this distr ibution via | It is used by TUnuran to generate random numbers according to this distr ibution via | |||
TUnuran::Sample() | TUnuran::Sample() | |||
The class can be constructed from a function (TF1) representing the prob ability density | The class can be constructed from a function (TF1) representing the prob ability density | |||
function of the distribution. Optionally the derivative of the pdf can a lso be passed. | function of the distribution. Optionally the derivative of the pdf can a lso be passed. | |||
It provides a method to set the domain of the distribution ( SetDomain ) which will correspond to the range | It provides a method to set the domain of the distribution ( SetDomain ) which will correspond to the range | |||
of the generated random numbers. By default the domain is (-inf, + inf), indipendently of the | of the generated random numbers. By default the domain is (-inf, + inf), indipendently of the | |||
range set in the TF1 class used to construct the distribution. | range set in the TF1 class used to construct the distribution. | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TUri.h | TUri.h | |||
---|---|---|---|---|
// @(#)root/base:$Id: TUri.h 20877 2007-11-19 11:17:07Z rdm $ | // @(#)root/base:$Id: TUri.h 48991 2013-03-28 15:25:11Z rdm $ | |||
// Author: Gerhard E. Bruckner 15/07/07 | // Author: Gerhard E. Bruckner 15/07/07 | |||
/************************************************************************* | /************************************************************************* | |||
* 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 | |||
class TUri; | class TUri; | |||
Bool_t operator==(const TUri &u1, const TUri &u2); | Bool_t operator==(const TUri &u1, const TUri &u2); | |||
class TUri : public TObject { | class TUri : public TObject { | |||
friend Bool_t operator==(const TUri &u1, const TUri &u2); // comparison ope rator | friend Bool_t operator==(const TUri &u1, const TUri &u2); // comparison ope rator | |||
private: | private: | |||
// In order to represent the five basic components of an URI, | // In order to represent the five basic components of an URI, | |||
// we use 7 member variables (authority gets splitted in 3 parts) | // we use 7 member variables (authority gets split in 3 parts) | |||
// | // | |||
// foo://user:pass@example.com:8042/over/there?name=ferret#nose | // foo://user:pass@example.com:8042/over/there?name=ferret#nose | |||
// \_/ \________________________/\_________/ \_________/ \__/ | // \_/ \________________________/\_________/ \_________/ \__/ | |||
// | | | | | | // | | | | | | |||
// scheme authority path query fragment | // scheme authority path query fragment | |||
// | // | |||
// In many cases we have to distinguish between empty | // In many cases we have to distinguish between empty | |||
// TString and undefined value (i.e. delimiter not found). | // TString and undefined value (i.e. delimiter not found). | |||
// Therefore, we use a TString to hold the string value | // Therefore, we use a TString to hold the string value | |||
// and a corresponding Bool_t to store if it is defined or not. | // and a corresponding Bool_t to store if it is defined or not. | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TVirtualCollectionProxy.h | TVirtualCollectionProxy.h | |||
---|---|---|---|---|
// @(#)root/cont:$Id: TVirtualCollectionProxy.h 41024 2011-09-27 13:26:26Z pcanal $ | // @(#)root/cont:$Id: TVirtualCollectionProxy.h 49000 2013-03-29 10:47:59Z pcanal $ | |||
// Author: Philippe Canal 20/08/2003 | // Author: Philippe Canal 20/08/2003 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2003, Rene Brun, Fons Rademakers and al. * | * Copyright (C) 1995-2003, 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 79 | skipping to change at line 79 | |||
TPushPop(const TPushPop&); // Not implemented | TPushPop(const TPushPop&); // Not implemented | |||
TPushPop& operator=(const TPushPop&); // Not implemented | TPushPop& operator=(const TPushPop&); // Not implemented | |||
}; | }; | |||
TVirtualCollectionProxy() : fClass(), fProperties(0) {}; | TVirtualCollectionProxy() : fClass(), fProperties(0) {}; | |||
TVirtualCollectionProxy(TClass *cl) : fClass(cl), fProperties(0) {}; | TVirtualCollectionProxy(TClass *cl) : fClass(cl), fProperties(0) {}; | |||
virtual TVirtualCollectionProxy* Generate() const = 0; // Returns an obj ect of the actual CollectionProxy class | virtual TVirtualCollectionProxy* Generate() const = 0; // Returns an obj ect of the actual CollectionProxy class | |||
virtual ~TVirtualCollectionProxy() {}; | virtual ~TVirtualCollectionProxy() {}; | |||
virtual TClass *GetCollectionClass() { return fClass; } | virtual TClass *GetCollectionClass() const { return fClass; } | |||
// Return a pointer to the TClass representing the container | // Return a pointer to the TClass representing the container | |||
virtual Int_t GetCollectionType() = 0; | virtual Int_t GetCollectionType() const = 0; | |||
// Return the type of collection see TClassEdit::ESTLType | // Return the type of collection see TClassEdit::ESTLType | |||
virtual ULong_t GetIncrement() = 0; | virtual ULong_t GetIncrement() const = 0; | |||
// Return the offset between two consecutive value_types (memory layout) . | // Return the offset between two consecutive value_types (memory layout) . | |||
virtual Int_t GetProperties() { return fProperties; } | virtual Int_t GetProperties() const { return fProperties; } | |||
// Return miscallenous properties of the proxy see TVirtualCollectionPro xy::EProperty | // Return miscallenous properties of the proxy see TVirtualCollectionPro xy::EProperty | |||
virtual void *New() const { | virtual void *New() const { | |||
// Return a new container object | // Return a new container object | |||
return fClass.GetClass()==0 ? 0 : fClass->New(); | return fClass.GetClass()==0 ? 0 : fClass->New(); | |||
} | } | |||
virtual void *New(void *arena) const { | virtual void *New(void *arena) const { | |||
// Execute the container constructor | // Execute the container constructor | |||
return fClass.GetClass()==0 ? 0 : fClass->New(arena); | return fClass.GetClass()==0 ? 0 : fClass->New(arena); | |||
} | } | |||
virtual void *NewArray(Int_t nElements) const { | virtual void *NewArray(Int_t nElements) const { | |||
// Return a new container object | // Return a new container object | |||
return fClass.GetClass()==0 ? 0 : fClass->NewArray(nElements); | return fClass.GetClass()==0 ? 0 : fClass->NewArray(nElements); | |||
} | } | |||
virtual void *NewArray(Int_t nElements, void *arena) const { | virtual void *NewArray(Int_t nElements, void *arena) const { | |||
// Execute the container constructor | // Execute the container constructor | |||
return fClass.GetClass()==0 ? 0 : fClass->NewArray(nElements, arena); | return fClass.GetClass()==0 ? 0 : fClass->NewArray(nElements, arena); | |||
} | } | |||
virtual void Destructor(void *p, Bool_t dtorOnly = kFALSE) { | virtual void Destructor(void *p, Bool_t dtorOnly = kFALSE) const { | |||
// Execute the container destructor | // Execute the container destructor | |||
TClass* cl = fClass.GetClass(); | TClass* cl = fClass.GetClass(); | |||
if (cl) cl->Destructor(p, dtorOnly); | if (cl) cl->Destructor(p, dtorOnly); | |||
} | } | |||
virtual void DeleteArray(void *p, Bool_t dtorOnly = kFALSE) { | virtual void DeleteArray(void *p, Bool_t dtorOnly = kFALSE) const { | |||
// Execute the container array destructor | // Execute the container array destructor | |||
TClass* cl = fClass.GetClass(); | TClass* cl = fClass.GetClass(); | |||
if (cl) cl->DeleteArray(p, dtorOnly); | if (cl) cl->DeleteArray(p, dtorOnly); | |||
} | } | |||
virtual UInt_t Sizeof() const = 0; | virtual UInt_t Sizeof() const = 0; | |||
// Return the sizeof the collection object. | // Return the sizeof the collection object. | |||
virtual void PushProxy(void *objectstart) = 0; | virtual void PushProxy(void *objectstart) = 0; | |||
// Set the address of the container being proxied and keep track of the previous one. | // Set the address of the container being proxied and keep track of the previous one. | |||
virtual void PopProxy() = 0; | virtual void PopProxy() = 0; | |||
// Reset the address of the container being proxied to the previous cont ainer | // Reset the address of the container being proxied to the previous cont ainer | |||
virtual Bool_t HasPointers() const = 0; | virtual Bool_t HasPointers() const = 0; | |||
// Return true if the content is of type 'pointer to' | // Return true if the content is of type 'pointer to' | |||
virtual TClass *GetValueClass() = 0; | virtual TClass *GetValueClass() const = 0; | |||
// Return a pointer to the TClass representing the content. | // Return a pointer to the TClass representing the content. | |||
virtual EDataType GetType() = 0; | virtual EDataType GetType() const = 0; | |||
// If the content is a simple numerical value, return its type (see TDat aType) | // If the content is a simple numerical value, return its type (see TDat aType) | |||
virtual void *At(UInt_t idx) = 0; | virtual void *At(UInt_t idx) = 0; | |||
// Return the address of the value at index 'idx' | // Return the address of the value at index 'idx' | |||
virtual void Clear(const char *opt = "") = 0; | virtual void Clear(const char *opt = "") = 0; | |||
// Clear the container | // Clear the container | |||
virtual UInt_t Size() const = 0; | virtual UInt_t Size() const = 0; | |||
// Return the current size of the container | // Return the current size of the container | |||
skipping to change at line 172 | skipping to change at line 172 | |||
typedef void (*CreateIterators_t)(void *collection, void **begin_arena, void **end_arena); | typedef void (*CreateIterators_t)(void *collection, void **begin_arena, void **end_arena); | |||
virtual CreateIterators_t GetFunctionCreateIterators(Bool_t read = kTRUE ) = 0; | virtual CreateIterators_t GetFunctionCreateIterators(Bool_t read = kTRUE ) = 0; | |||
// begin_arena and end_arena should contain the location of a memory are na of size fgIteratorSize. | // begin_arena and end_arena should contain the location of a memory are na of size fgIteratorSize. | |||
// If the collection iterator are of that size or less, the iterators wi ll be constructed in place in those location (new with placement) | // If the collection iterator are of that size or less, the iterators wi ll be constructed in place in those location (new with placement) | |||
// Otherwise the iterators will be allocated via a regular new and their address returned by modifying the value of begin_arena and end_arena. | // Otherwise the iterators will be allocated via a regular new and their address returned by modifying the value of begin_arena and end_arena. | |||
typedef void* (*CopyIterator_t)(void *dest, const void *source); | typedef void* (*CopyIterator_t)(void *dest, const void *source); | |||
virtual CopyIterator_t GetFunctionCopyIterator(Bool_t read = kTRUE) = 0; | virtual CopyIterator_t GetFunctionCopyIterator(Bool_t read = kTRUE) = 0; | |||
// Copy the iterator source, into dest. dest should contain the locati on of a memory arena of size fgIteratorSize. | // Copy the iterator source, into dest. dest should contain the locati on of a memory arena of size fgIteratorSize. | |||
// If the collection iterator is of that size or less, the iterator will be constructed in place in this location (new with placement) | // If the collection iterator is of that size or less, the iterator will be constructed in place in this location (new with placement) | |||
// Otherwise the iterator will be allocated via a regular new and its ad | // Otherwise the iterator will be allocated via a regular new. | |||
dress returned by modifying the value of dest. | // The actual address of the iterator is returned in both case. | |||
typedef void* (*Next_t)(void *iter, const void *end); | typedef void* (*Next_t)(void *iter, const void *end); | |||
virtual Next_t GetFunctionNext(Bool_t read = kTRUE) = 0; | virtual Next_t GetFunctionNext(Bool_t read = kTRUE) = 0; | |||
// iter and end should be pointers to respectively an iterator to be inc remented and the result of collection.end() | // iter and end should be pointers to respectively an iterator to be inc remented and the result of collection.end() | |||
// If the iterator has not reached the end of the collection, 'Next' inc rement the iterator 'iter' and return 0 if | // If the iterator has not reached the end of the collection, 'Next' inc rement the iterator 'iter' and return 0 if | |||
// the iterator reached the end. | // the iterator reached the end. | |||
// If the end was not reached, 'Next' returns the address of the content pointed to by the iterator before the | // If the end was not reached, 'Next' returns the address of the content pointed to by the iterator before the | |||
// incrementation ; if the collection contains pointers, 'Next' will ret urn the value of the pointer. | // incrementation ; if the collection contains pointers, 'Next' will ret urn the value of the pointer. | |||
typedef void (*DeleteIterator_t)(void *iter); | typedef void (*DeleteIterator_t)(void *iter); | |||
End of changes. 10 change blocks. | ||||
11 lines changed or deleted | 11 lines changed or added | |||
TVirtualGL.h | TVirtualGL.h | |||
---|---|---|---|---|
// @(#)root/base:$Id: TVirtualGL.h 20877 2007-11-19 11:17:07Z rdm $ | // @(#)root/base:$Id: TVirtualGL.h 48649 2013-02-20 08:49:29Z tpochep $ | |||
// Author: Valery Fine(fine@vxcern.cern.ch) 05/03/97 | // Author: Valery Fine(fine@vxcern.cern.ch) 05/03/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 130 | skipping to change at line 130 | |||
static TGLManager *&Instance(); | static TGLManager *&Instance(); | |||
private: | private: | |||
TGLManager(const TGLManager &); | TGLManager(const TGLManager &); | |||
TGLManager &operator = (const TGLManager &); | TGLManager &operator = (const TGLManager &); | |||
ClassDef(TGLManager, 0)// Interface for OpenGL manager | ClassDef(TGLManager, 0)// Interface for OpenGL manager | |||
}; | }; | |||
namespace Rgl { | ||||
//I would prefer to use C++11's strong typed enums insted, but ... | ||||
enum EFormatOptions | ||||
{ | ||||
kNone = 0, | ||||
kDoubleBuffer = 1, | ||||
kDepth = 2, | ||||
kAccum = 4, | ||||
kStencil = 8, | ||||
kStereo = 16, | ||||
kMultiSample = 32 | ||||
}; | ||||
} | ||||
class TGLContext; | class TGLContext; | |||
class TGLFormat; | class TGLFormat; | |||
class TGLPaintDevice { | class TGLPaintDevice { | |||
friend class TGLContext; | friend class TGLContext; | |||
public: | public: | |||
virtual ~TGLPaintDevice(){} | virtual ~TGLPaintDevice(){} | |||
virtual Bool_t MakeCurrent() = 0; | virtual Bool_t MakeCurrent() = 0; | |||
virtual void SwapBuffers() = 0; | virtual void SwapBuffers() = 0; | |||
virtual const TGLFormat *GetPixelFormat()const = 0; | virtual const TGLFormat *GetPixelFormat()const = 0; | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 17 lines changed or added | |||
TVirtualGeoPainter.h | TVirtualGeoPainter.h | |||
---|---|---|---|---|
// @(#)root/geom:$Id: TVirtualGeoPainter.h 39018 2011-04-25 09:38:31Z aghea ta $ | // @(#)root/geom:$Id: TVirtualGeoPainter.h 49273 2013-04-19 07:48:30Z aghea ta $ | |||
// Author: Andrei Gheata 11/01/02 | // Author: Andrei Gheata 11/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. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TVirtualGeoPainter | #ifndef ROOT_TVirtualGeoPainter | |||
skipping to change at line 124 | skipping to change at line 124 | |||
Double_t rmin=0., Double_t rmax=9999999, Option _t *option="") = 0; | Double_t rmin=0., Double_t rmax=9999999, Option _t *option="") = 0; | |||
virtual void ModifiedPad(Bool_t update=kFALSE) const = 0; | virtual void ModifiedPad(Bool_t update=kFALSE) const = 0; | |||
virtual void OpProgress(const char *opname, Long64_t current, Long 64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE) = 0; | virtual void OpProgress(const char *opname, Long64_t current, Long 64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE) = 0; | |||
virtual void Paint(Option_t *option="") = 0; | virtual void Paint(Option_t *option="") = 0; | |||
virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMa trix* global=0) = 0; | virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMa trix* global=0) = 0; | |||
virtual void PaintShape(TGeoShape *shape, Option_t *option="") = 0 ; | virtual void PaintShape(TGeoShape *shape, Option_t *option="") = 0 ; | |||
virtual void PaintOverlap(void *ovlp, Option_t *option="") = 0; | virtual void PaintOverlap(void *ovlp, Option_t *option="") = 0; | |||
virtual void PrintOverlaps() const = 0; | virtual void PrintOverlaps() const = 0; | |||
virtual void PaintVolume(TGeoVolume *vol, Option_t *option="", TGe oMatrix* global=0) = 0; | virtual void PaintVolume(TGeoVolume *vol, Option_t *option="", TGe oMatrix* global=0) = 0; | |||
virtual void RandomPoints(const TGeoVolume *vol, Int_t npoints, Op tion_t *option="") = 0; | virtual void RandomPoints(const TGeoVolume *vol, Int_t npoints, Op tion_t *option="") = 0; | |||
virtual void RandomRays(Int_t nrays, Double_t startx, Double_t sta rty, Double_t startz) = 0; | virtual void RandomRays(Int_t nrays, Double_t startx, Double_t sta rty, Double_t startz, const char *target_vol, Bool_t check_norm) = 0; | |||
virtual void Raytrace(Option_t *option="") = 0; | virtual void Raytrace(Option_t *option="") = 0; | |||
virtual TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char* g3path) = 0; | virtual TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char* g3path) = 0; | |||
virtual void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3 , Double_t bombz=1.3, | virtual void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3 , Double_t bombz=1.3, | |||
Double_t bombr=1.3) = 0; | Double_t bombr=1.3) = 0; | |||
virtual void SetClippingShape(TGeoShape *shape) = 0; | virtual void SetClippingShape(TGeoShape *shape) = 0; | |||
virtual void SetExplodedView(Int_t iopt=0) = 0; | virtual void SetExplodedView(Int_t iopt=0) = 0; | |||
virtual void SetGeoManager(TGeoManager *geom) = 0; | virtual void SetGeoManager(TGeoManager *geom) = 0; | |||
virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin) = 0; | virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin) = 0; | |||
virtual void SetCheckedNode(TGeoNode *node) = 0; | virtual void SetCheckedNode(TGeoNode *node) = 0; | |||
virtual void SetNsegments(Int_t nseg=20) = 0; | virtual void SetNsegments(Int_t nseg=20) = 0; | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TXSocket.h | TXSocket.h | |||
---|---|---|---|---|
// @(#)root/proofx:$Id: TXSocket.h 44103 2012-05-03 23:11:44Z ganis $ | // @(#)root/proofx:$Id: TXSocket.h 48991 2013-03-28 15:25:11Z rdm $ | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TXSocket | #ifndef ROOT_TXSocket | |||
#define ROOT_TXSocket | #define ROOT_TXSocket | |||
skipping to change at line 111 | skipping to change at line 111 | |||
std::list<TXSockBuf *> fAQue; // list of asynchronous messages | std::list<TXSockBuf *> fAQue; // list of asynchronous messages | |||
Int_t fByteLeft; // bytes left in the first buffer | Int_t fByteLeft; // bytes left in the first buffer | |||
Int_t fByteCur; // current position in the first buf fer | Int_t fByteCur; // current position in the first buf fer | |||
TXSockBuf *fBufCur; // current read buffer | TXSockBuf *fBufCur; // current read buffer | |||
TSemaphore fAsynProc; // Control actions while processing async messages | TSemaphore fAsynProc; // Control actions while processing async messages | |||
// Interrupts | // Interrupts | |||
TMutex *fIMtx; // To protect interrupt queue | TMutex *fIMtx; // To protect interrupt queue | |||
kXR_int32 fILev; // Highest received interrupt | kXR_int32 fILev; // Highest received interrupt | |||
Bool_t fIForward; // Wheter the interrupt should be pr opagated | Bool_t fIForward; // Whether the interrupt should be p ropagated | |||
// Process ID of the instatiating process (to signal interrupts) | // Process ID of the instatiating process (to signal interrupts) | |||
Int_t fPid; | Int_t fPid; | |||
// Whether to timeout or not | // Whether to timeout or not | |||
Bool_t fDontTimeout; // If true wait forever for incoming messages | Bool_t fDontTimeout; // If true wait forever for incoming messages | |||
Bool_t fRDInterrupt; // To interrupt waiting for messages | Bool_t fRDInterrupt; // To interrupt waiting for messages | |||
// Version of the remote XrdProofdProtocol | // Version of the remote XrdProofdProtocol | |||
Int_t fXrdProofdVersion; | Int_t fXrdProofdVersion; | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||