Channel.h | Channel.h | |||
---|---|---|---|---|
skipping to change at line 33 | skipping to change at line 33 | |||
namespace HistFactory { | namespace HistFactory { | |||
class Channel { | class Channel { | |||
public: | public: | |||
friend class Measurement; | friend class Measurement; | |||
Channel(); | Channel(); | |||
Channel(std::string Name, std::string InputFile=""); | Channel(std::string Name, std::string InputFile=""); | |||
// set name of channel | ||||
void SetName( const std::string& Name ) { fName = Name; } | void SetName( const std::string& Name ) { fName = Name; } | |||
// get name of channel | ||||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
// set name of input file containing histograms | ||||
void SetInputFile( const std::string& file ) { fInputFile = file; } | void SetInputFile( const std::string& file ) { fInputFile = file; } | |||
// get name of input file | ||||
std::string GetInputFile() { return fInputFile; } | std::string GetInputFile() { return fInputFile; } | |||
// set path for histograms in input file | ||||
void SetHistoPath( const std::string& file ) { fHistoPath = file; } | void SetHistoPath( const std::string& file ) { fHistoPath = file; } | |||
// get path to histograms in input file | ||||
std::string GetHistoPath() { return fHistoPath; } | std::string GetHistoPath() { return fHistoPath; } | |||
// set data object | ||||
void SetData( const RooStats::HistFactory::Data& data ) { fData = data; } | void SetData( const RooStats::HistFactory::Data& data ) { fData = data; } | |||
void SetData( std::string HistoName, std::string InputFile, std::string H istoPath="" ); | void SetData( std::string HistoName, std::string InputFile, std::string H istoPath="" ); | |||
void SetData( double Val ); | void SetData( double Val ); | |||
void SetData( TH1* hData ); | void SetData( TH1* hData ); | |||
// get data object | ||||
RooStats::HistFactory::Data& GetData() { return fData; } | RooStats::HistFactory::Data& GetData() { return fData; } | |||
// add additional data object | ||||
void AddAdditionalData( const RooStats::HistFactory::Data& data ) { fAddi tionalData.push_back(data); } | void AddAdditionalData( const RooStats::HistFactory::Data& data ) { fAddi tionalData.push_back(data); } | |||
// retrieve vector of additional data objects | ||||
std::vector<RooStats::HistFactory::Data>& GetAdditionalData() { return fA dditionalData; } | std::vector<RooStats::HistFactory::Data>& GetAdditionalData() { return fA dditionalData; } | |||
void SetStatErrorConfig( double RelErrorThreshold, Constraint::Type Const raintType ); | void SetStatErrorConfig( double RelErrorThreshold, Constraint::Type Const raintType ); | |||
void SetStatErrorConfig( double RelErrorThreshold, std::string Constraint Type ); | void SetStatErrorConfig( double RelErrorThreshold, std::string Constraint Type ); | |||
// define treatment of statistical uncertainties | ||||
void SetStatErrorConfig( RooStats::HistFactory::StatErrorConfig Config ) { fStatErrorConfig = Config; } | void SetStatErrorConfig( RooStats::HistFactory::StatErrorConfig Config ) { fStatErrorConfig = Config; } | |||
// get information about threshold for statistical uncertainties and cons traint term | ||||
HistFactory::StatErrorConfig& GetStatErrorConfig() { return fStatErrorCon fig; } | HistFactory::StatErrorConfig& GetStatErrorConfig() { return fStatErrorCon fig; } | |||
void AddSample( RooStats::HistFactory::Sample sample ); | void AddSample( RooStats::HistFactory::Sample sample ); | |||
// get vector of samples for this channel | ||||
std::vector< RooStats::HistFactory::Sample >& GetSamples() { return fSamp les; } | std::vector< RooStats::HistFactory::Sample >& GetSamples() { return fSamp les; } | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void PrintXML( std::string Directory, std::string Prefix="" ); | void PrintXML( std::string Directory, std::string Prefix="" ); | |||
void CollectHistograms(); | void CollectHistograms(); | |||
bool CheckHistograms(); | bool CheckHistograms(); | |||
protected: | protected: | |||
End of changes. 13 change blocks. | ||||
2 lines changed or deleted | 13 lines changed or added | |||
CholeskyDecomp.h | CholeskyDecomp.h | |||
---|---|---|---|---|
skipping to change at line 19 | skipping to change at line 19 | |||
* routines for use with ROOT's SMatrix classes (symmetric positive | * routines for use with ROOT's SMatrix classes (symmetric positive | |||
* definite case) | * definite case) | |||
* | * | |||
* @author Manuel Schiller | * @author Manuel Schiller | |||
* @date Aug 29 2008 | * @date Aug 29 2008 | |||
* initial release inside LHCb | * initial release inside LHCb | |||
* @date May 7 2009 | * @date May 7 2009 | |||
* factored code to provide a nice Cholesky decomposition class, along | * factored code to provide a nice Cholesky decomposition class, along | |||
* with separate methods for solving a single linear system and to | * with separate methods for solving a single linear system and to | |||
* obtain the inverse matrix from the decomposition | * obtain the inverse matrix from the decomposition | |||
* @data July 15th 2013 | ||||
* provide a version of that class which works if the dimension of the | ||||
* problem is only known at run time | ||||
*/ | */ | |||
#include <cmath> | #include <cmath> | |||
#include <algorithm> | #include <algorithm> | |||
namespace ROOT { | namespace ROOT { | |||
namespace Math { | namespace Math { | |||
/// helpers for CholeskyDecomp | /// helpers for CholeskyDecomp | |||
namespace CholeskyDecompHelpers { | namespace CholeskyDecompHelpers { | |||
// forward decls | // forward decls | |||
template<class F, class M> struct _decomposerGenDim; | ||||
template<class F, unsigned N, class M> struct _decomposer; | template<class F, unsigned N, class M> struct _decomposer; | |||
template<class F, class M> struct _inverterGenDim; | ||||
template<class F, unsigned N, class M> struct _inverter; | template<class F, unsigned N, class M> struct _inverter; | |||
template<class F, class V> struct _solverGenDim; | ||||
template<class F, unsigned N, class V> struct _solver; | template<class F, unsigned N, class V> struct _solver; | |||
template<typename G> class PackedArrayAdapter; | ||||
} | } | |||
/// class to compute the Cholesky decomposition of a matrix | /// class to compute the Cholesky decomposition of a matrix | |||
/** class to compute the Cholesky decomposition of a symmetric | /** class to compute the Cholesky decomposition of a symmetric | |||
* positive definite matrix | * positive definite matrix | |||
* | * | |||
* provides routines to check if the decomposition succeeded (i.e. if | * provides routines to check if the decomposition succeeded (i.e. if | |||
* matrix is positive definite and non-singular), to solve a linear | * matrix is positive definite and non-singular), to solve a linear | |||
* system for the given matrix and to obtain its inverse | * system for the given matrix and to obtain its inverse | |||
* | * | |||
skipping to change at line 75 | skipping to change at line 82 | |||
*/ | */ | |||
template<class F, unsigned N> class CholeskyDecomp | template<class F, unsigned N> class CholeskyDecomp | |||
{ | { | |||
private: | private: | |||
/// lower triangular matrix L | /// lower triangular matrix L | |||
/** lower triangular matrix L, packed storage, with diagonal | /** lower triangular matrix L, packed storage, with diagonal | |||
* elements pre-inverted */ | * elements pre-inverted */ | |||
F fL[N * (N + 1) / 2]; | F fL[N * (N + 1) / 2]; | |||
/// flag indicating a successful decomposition | /// flag indicating a successful decomposition | |||
bool fOk; | bool fOk; | |||
/// adapter for packed arrays (to SMatrix indexing conventions) | ||||
template<typename G> class PackedArrayAdapter | ||||
{ | ||||
private: | ||||
G* fArr; ///< pointer to first array element | ||||
public: | ||||
/// constructor | ||||
PackedArrayAdapter(G* arr) : fArr(arr) {} | ||||
/// read access to elements (make sure that j <= i) | ||||
const G operator()(unsigned i, unsigned j) const | ||||
{ return fArr[((i * (i + 1)) / 2) + j]; } | ||||
/// write access to elements (make sure that j <= i) | ||||
G& operator()(unsigned i, unsigned j) | ||||
{ return fArr[((i * (i + 1)) / 2) + j]; } | ||||
}; | ||||
public: | public: | |||
/// perform a Cholesky decomposition | /// perform a Cholesky decomposition | |||
/** perfrom a Cholesky decomposition of a symmetric positive | /** perfrom a Cholesky decomposition of a symmetric positive | |||
* definite matrix m | * definite matrix m | |||
* | * | |||
* this is the constructor to uses with an SMatrix (and objects | * this is the constructor to uses with an SMatrix (and objects | |||
* that behave like an SMatrix in terms of using | * that behave like an SMatrix in terms of using | |||
* operator()(int i, int j) for access to elements) | * operator()(int i, int j) for access to elements) | |||
*/ | */ | |||
template<class M> CholeskyDecomp(const M& m) : | template<class M> CholeskyDecomp(const M& m) : | |||
skipping to change at line 121 | skipping to change at line 113 | |||
* plain arrays are used | * plain arrays are used | |||
* | * | |||
* NOTE: the matrix is given in packed representation, matrix | * NOTE: the matrix is given in packed representation, matrix | |||
* element m(i,j) (j <= i) is supposed to be in array element | * element m(i,j) (j <= i) is supposed to be in array element | |||
* (i * (i + 1)) / 2 + j | * (i * (i + 1)) / 2 + j | |||
*/ | */ | |||
template<typename G> CholeskyDecomp(G* m) : | template<typename G> CholeskyDecomp(G* m) : | |||
fL(), fOk(false) | fL(), fOk(false) | |||
{ | { | |||
using CholeskyDecompHelpers::_decomposer; | using CholeskyDecompHelpers::_decomposer; | |||
using CholeskyDecompHelpers::PackedArrayAdapter; | ||||
fOk = _decomposer<F, N, PackedArrayAdapter<G> >()( | fOk = _decomposer<F, N, PackedArrayAdapter<G> >()( | |||
fL, PackedArrayAdapter<G>(m)); | fL, PackedArrayAdapter<G>(m)); | |||
} | } | |||
/// returns true if decomposition was successful | /// returns true if decomposition was successful | |||
/** @returns true if decomposition was successful */ | /** @returns true if decomposition was successful */ | |||
bool ok() const { return fOk; } | bool ok() const { return fOk; } | |||
/// returns true if decomposition was successful | /// returns true if decomposition was successful | |||
/** @returns true if decomposition was successful */ | /** @returns true if decomposition was successful */ | |||
operator bool() const { return fOk; } | operator bool() const { return fOk; } | |||
skipping to change at line 174 | skipping to change at line 167 | |||
* | * | |||
* @returns if the decomposition was successful | * @returns if the decomposition was successful | |||
* | * | |||
* NOTE: the matrix is given in packed representation, matrix | * NOTE: the matrix is given in packed representation, matrix | |||
* element m(i,j) (j <= i) is supposed to be in array element | * element m(i,j) (j <= i) is supposed to be in array element | |||
* (i * (i + 1)) / 2 + j | * (i * (i + 1)) / 2 + j | |||
*/ | */ | |||
template<typename G> bool Invert(G* m) const | template<typename G> bool Invert(G* m) const | |||
{ | { | |||
using CholeskyDecompHelpers::_inverter; | using CholeskyDecompHelpers::_inverter; | |||
using CholeskyDecompHelpers::PackedArrayAdapter; | ||||
if (fOk) { | if (fOk) { | |||
PackedArrayAdapter<G> adapted(m); | PackedArrayAdapter<G> adapted(m); | |||
_inverter<F,N,PackedArrayAdapter<G> >()(adapted, fL); | _inverter<F,N,PackedArrayAdapter<G> >()(adapted, fL); | |||
} | } | |||
return fOk; | return fOk; | |||
} | } | |||
}; | }; | |||
/// class to compute the Cholesky decomposition of a matrix | ||||
/** class to compute the Cholesky decomposition of a symmetric | ||||
* positive definite matrix when the dimensionality of the problem is not k | ||||
nown | ||||
* at compile time | ||||
* | ||||
* provides routines to check if the decomposition succeeded (i.e. if | ||||
* matrix is positive definite and non-singular), to solve a linear | ||||
* system for the given matrix and to obtain its inverse | ||||
* | ||||
* the actual functionality is implemented in templated helper | ||||
* classes which have specializations for dimensions N = 1 to 6 | ||||
* to achieve a gain in speed for common matrix sizes | ||||
* | ||||
* usage example: | ||||
* @code | ||||
* // let m be a symmetric positive definite SMatrix (use type float | ||||
* // for internal computations, matrix size is 4x4) | ||||
* CholeskyDecomp<float, 4> decomp(m); | ||||
* // check if the decomposition succeeded | ||||
* if (!decomp) { | ||||
* std::cerr << "decomposition failed!" << std::endl; | ||||
* } else { | ||||
* // let rhs be a vector; we seek a vector x such that m * x = rhs | ||||
* decomp.Solve(rhs); | ||||
* // rhs now contains the solution we are looking for | ||||
* | ||||
* // obtain the inverse of m, put it into m itself | ||||
* decomp.Invert(m); | ||||
* } | ||||
* @endcode | ||||
*/ | ||||
template<class F> class CholeskyDecompGenDim | ||||
{ | ||||
private: | ||||
/** @brief dimensionality | ||||
* dimensionality of the problem */ | ||||
unsigned fN; | ||||
/// lower triangular matrix L | ||||
/** lower triangular matrix L, packed storage, with diagonal | ||||
* elements pre-inverted */ | ||||
F *fL; | ||||
/// flag indicating a successful decomposition | ||||
bool fOk; | ||||
public: | ||||
/// perform a Cholesky decomposition | ||||
/** perfrom a Cholesky decomposition of a symmetric positive | ||||
* definite matrix m | ||||
* | ||||
* this is the constructor to uses with an SMatrix (and objects | ||||
* that behave like an SMatrix in terms of using | ||||
* operator()(int i, int j) for access to elements) | ||||
*/ | ||||
template<class M> CholeskyDecompGenDim(unsigned N, const M& m) : | ||||
fN(N), fL(new F[(fN * (fN + 1)) / 2]), fOk(false) | ||||
{ | ||||
using CholeskyDecompHelpers::_decomposerGenDim; | ||||
fOk = _decomposerGenDim<F, M>()(fL, m, fN); | ||||
} | ||||
/// perform a Cholesky decomposition | ||||
/** perfrom a Cholesky decomposition of a symmetric positive | ||||
* definite matrix m | ||||
* | ||||
* this is the constructor to use in special applications where | ||||
* plain arrays are used | ||||
* | ||||
* NOTE: the matrix is given in packed representation, matrix | ||||
* element m(i,j) (j <= i) is supposed to be in array element | ||||
* (i * (i + 1)) / 2 + j | ||||
*/ | ||||
template<typename G> CholeskyDecompGenDim(unsigned N, G* m) : | ||||
fN(N), fL(new F[(fN * (fN + 1)) / 2]), fOk(false) | ||||
{ | ||||
using CholeskyDecompHelpers::_decomposerGenDim; | ||||
using CholeskyDecompHelpers::PackedArrayAdapter; | ||||
fOk = _decomposerGenDim<F, PackedArrayAdapter<G> >()( | ||||
fL, PackedArrayAdapter<G>(m), fN); | ||||
} | ||||
/// destructor | ||||
~CholeskyDecompGenDim() { delete[] fL; } | ||||
/// returns true if decomposition was successful | ||||
/** @returns true if decomposition was successful */ | ||||
bool ok() const { return fOk; } | ||||
/// returns true if decomposition was successful | ||||
/** @returns true if decomposition was successful */ | ||||
operator bool() const { return fOk; } | ||||
/// solves a linear system for the given right hand side | ||||
/** solves a linear system for the given right hand side | ||||
* | ||||
* Note that you can use both SVector classes and plain arrays for | ||||
* rhs. (Make sure that the sizes match!). It will work with any vector | ||||
* implementing the operator [i] | ||||
* | ||||
* @returns if the decomposition was successful | ||||
*/ | ||||
template<class V> bool Solve(V& rhs) const | ||||
{ | ||||
using CholeskyDecompHelpers::_solverGenDim; | ||||
if (fOk) _solverGenDim<F,V>()(rhs, fL, fN); return fOk; | ||||
} | ||||
/// place the inverse into m | ||||
/** place the inverse into m | ||||
* | ||||
* This is the method to use with an SMatrix. | ||||
* | ||||
* @returns if the decomposition was successful | ||||
*/ | ||||
template<class M> bool Invert(M& m) const | ||||
{ | ||||
using CholeskyDecompHelpers::_inverterGenDim; | ||||
if (fOk) _inverterGenDim<F,M>()(m, fL, fN); return fOk; | ||||
} | ||||
/// place the inverse into m | ||||
/** place the inverse into m | ||||
* | ||||
* This is the method to use with a plain array. | ||||
* | ||||
* @returns if the decomposition was successful | ||||
* | ||||
* NOTE: the matrix is given in packed representation, matrix | ||||
* element m(i,j) (j <= i) is supposed to be in array element | ||||
* (i * (i + 1)) / 2 + j | ||||
*/ | ||||
template<typename G> bool Invert(G* m) const | ||||
{ | ||||
using CholeskyDecompHelpers::_inverterGenDim; | ||||
using CholeskyDecompHelpers::PackedArrayAdapter; | ||||
if (fOk) { | ||||
PackedArrayAdapter<G> adapted(m); | ||||
_inverterGenDim<F,PackedArrayAdapter<G> >()(adapted, fL, fN); | ||||
} | ||||
return fOk; | ||||
} | ||||
}; | ||||
namespace CholeskyDecompHelpers { | namespace CholeskyDecompHelpers { | |||
/// struct to do a Cholesky decomposition | /// adapter for packed arrays (to SMatrix indexing conventions) | |||
template<class F, unsigned N, class M> struct _decomposer | template<typename G> class PackedArrayAdapter | |||
{ | ||||
private: | ||||
G* fArr; ///< pointer to first array element | ||||
public: | ||||
/// constructor | ||||
PackedArrayAdapter(G* arr) : fArr(arr) {} | ||||
/// read access to elements (make sure that j <= i) | ||||
const G operator()(unsigned i, unsigned j) const | ||||
{ return fArr[((i * (i + 1)) / 2) + j]; } | ||||
/// write access to elements (make sure that j <= i) | ||||
G& operator()(unsigned i, unsigned j) | ||||
{ return fArr[((i * (i + 1)) / 2) + j]; } | ||||
}; | ||||
/// struct to do a Cholesky decomposition (general dimensionality) | ||||
template<class F, class M> struct _decomposerGenDim | ||||
{ | { | |||
/// method to do the decomposition | /// method to do the decomposition | |||
/** @returns if the decomposition was successful */ | /** @returns if the decomposition was successful */ | |||
bool operator()(F* dst, const M& src) const | bool operator()(F* dst, const M& src, unsigned N) const | |||
{ | { | |||
// perform Cholesky decomposition of matrix: M = L L^T | // perform Cholesky decomposition of matrix: M = L L^T | |||
// only thing that can go wrong: trying to take square | // only thing that can go wrong: trying to take square | |||
// root of negative number or zero (matrix is | // root of negative number or zero (matrix is | |||
// ill-conditioned or singular in these cases) | // ill-conditioned or singular in these cases) | |||
// element L(i,j) is at array position (i * (i+1)) / 2 + j | // element L(i,j) is at array position (i * (i+1)) / 2 + j | |||
// quirk: we may need to invert L later anyway, so we can | // quirk: we may need to invert L later anyway, so we can | |||
// invert elements on diagonale straight away (we only | // invert elements on diagonale straight away (we only | |||
skipping to change at line 225 | skipping to change at line 374 | |||
// keep truncation error small | // keep truncation error small | |||
tmpdiag = src(i, i) - tmpdiag; | tmpdiag = src(i, i) - tmpdiag; | |||
// check if positive definite | // check if positive definite | |||
if (tmpdiag <= F(0)) return false; | if (tmpdiag <= F(0)) return false; | |||
else base1[i] = std::sqrt(F(1) / tmpdiag); | else base1[i] = std::sqrt(F(1) / tmpdiag); | |||
} | } | |||
return true; | return true; | |||
} | } | |||
}; | }; | |||
/// struct to obtain the inverse from a Cholesky decomposition | /// struct to do a Cholesky decomposition | |||
template<class F, unsigned N, class M> struct _inverter | template<class F, unsigned N, class M> struct _decomposer | |||
{ | ||||
/// method to do the decomposition | ||||
/** @returns if the decomposition was successful */ | ||||
bool operator()(F* dst, const M& src) const | ||||
{ return _decomposerGenDim<F, M>()(dst, src, N); } | ||||
}; | ||||
/// struct to obtain the inverse from a Cholesky decomposition (general | ||||
dimensionality) | ||||
template<class F, class M> struct _inverterGenDim | ||||
{ | { | |||
/// method to do the inversion | /// method to do the inversion | |||
void operator()(M& dst, const F* src) const | void operator()(M& dst, const F* src, unsigned N) const | |||
{ | { | |||
// make working copy | // make working copy | |||
F l[N * (N + 1) / 2]; | F * l = new F[N * (N + 1) / 2]; | |||
std::copy(src, src + ((N * (N + 1)) / 2), l); | std::copy(src, src + ((N * (N + 1)) / 2), l); | |||
// ok, next step: invert off-diagonal part of matrix | // ok, next step: invert off-diagonal part of matrix | |||
F* base1 = &l[1]; | F* base1 = &l[1]; | |||
for (unsigned i = 1; i < N; base1 += ++i) { | for (unsigned i = 1; i < N; base1 += ++i) { | |||
for (unsigned j = 0; j < i; ++j) { | for (unsigned j = 0; j < i; ++j) { | |||
F tmp = F(0); | F tmp = F(0); | |||
const F *base2 = &l[(i * (i - 1)) / 2]; | const F *base2 = &l[(i * (i - 1)) / 2]; | |||
for (unsigned k = i; k-- > j; base2 -= k) | for (unsigned k = i; k-- > j; base2 -= k) | |||
tmp -= base1[k] * base2[j]; | tmp -= base1[k] * base2[j]; | |||
base1[j] = tmp * base1[i]; | base1[j] = tmp * base1[i]; | |||
skipping to change at line 256 | skipping to change at line 414 | |||
// Li = L^(-1) formed, now calculate M^(-1) = Li^T Li | // Li = L^(-1) formed, now calculate M^(-1) = Li^T Li | |||
for (unsigned i = N; i--; ) { | for (unsigned i = N; i--; ) { | |||
for (unsigned j = i + 1; j--; ) { | for (unsigned j = i + 1; j--; ) { | |||
F tmp = F(0); | F tmp = F(0); | |||
base1 = &l[(N * (N - 1)) / 2]; | base1 = &l[(N * (N - 1)) / 2]; | |||
for (unsigned k = N; k-- > i; base1 -= k) | for (unsigned k = N; k-- > i; base1 -= k) | |||
tmp += base1[i] * base1[j]; | tmp += base1[i] * base1[j]; | |||
dst(i, j) = tmp; | dst(i, j) = tmp; | |||
} | } | |||
} | } | |||
delete [] l; | ||||
} | } | |||
}; | }; | |||
/// struct to solve a linear system using its Cholesky decomposition | /// struct to obtain the inverse from a Cholesky decomposition | |||
template<class F, unsigned N, class V> struct _solver | template<class F, unsigned N, class M> struct _inverter | |||
{ | ||||
/// method to do the inversion | ||||
void operator()(M& dst, const F* src) const | ||||
{ return _inverterGenDim<F, M>()(dst, src, N); } | ||||
}; | ||||
/// struct to solve a linear system using its Cholesky decomposition (ge | ||||
neralised dimensionality) | ||||
template<class F, class V> struct _solverGenDim | ||||
{ | { | |||
/// method to solve the linear system | /// method to solve the linear system | |||
void operator()(V& rhs, const F* l) const | void operator()(V& rhs, const F* l, unsigned N) const | |||
{ | { | |||
// solve Ly = rhs | // solve Ly = rhs | |||
for (unsigned k = 0; k < N; ++k) { | for (unsigned k = 0; k < N; ++k) { | |||
const unsigned base = (k * (k + 1)) / 2; | const unsigned base = (k * (k + 1)) / 2; | |||
F sum = F(0); | F sum = F(0); | |||
for (unsigned i = k; i--; ) | for (unsigned i = k; i--; ) | |||
sum += rhs[i] * l[base + i]; | sum += rhs[i] * l[base + i]; | |||
// elements on diagonale are pre-inverted! | // elements on diagonale are pre-inverted! | |||
rhs[k] = (rhs[k] - sum) * l[base + k]; | rhs[k] = (rhs[k] - sum) * l[base + k]; | |||
} | } | |||
skipping to change at line 285 | skipping to change at line 452 | |||
for (unsigned k = N; k--; ) { | for (unsigned k = N; k--; ) { | |||
F sum = F(0); | F sum = F(0); | |||
for (unsigned i = N; --i > k; ) | for (unsigned i = N; --i > k; ) | |||
sum += rhs[i] * l[(i * (i + 1)) / 2 + k]; | sum += rhs[i] * l[(i * (i + 1)) / 2 + k]; | |||
// elements on diagonale are pre-inverted! | // elements on diagonale are pre-inverted! | |||
rhs[k] = (rhs[k] - sum) * l[(k * (k + 1)) / 2 + k]; | rhs[k] = (rhs[k] - sum) * l[(k * (k + 1)) / 2 + k]; | |||
} | } | |||
} | } | |||
}; | }; | |||
/// struct to solve a linear system using its Cholesky decomposition | ||||
template<class F, unsigned N, class V> struct _solver | ||||
{ | ||||
/// method to solve the linear system | ||||
void operator()(V& rhs, const F* l) const | ||||
{ _solverGenDim<F, V>()(rhs, l, N); } | ||||
}; | ||||
/// struct to do a Cholesky decomposition (specialized, N = 6) | /// struct to do a Cholesky decomposition (specialized, N = 6) | |||
template<class F, class M> struct _decomposer<F, 6, M> | template<class F, class M> struct _decomposer<F, 6, M> | |||
{ | { | |||
/// method to do the decomposition | /// method to do the decomposition | |||
bool operator()(F* dst, const M& src) const | bool operator()(F* dst, const M& src) const | |||
{ | { | |||
if (src(0,0) <= F(0)) return false; | if (src(0,0) <= F(0)) return false; | |||
dst[0] = std::sqrt(F(1) / src(0,0)); | dst[0] = std::sqrt(F(1) / src(0,0)); | |||
dst[1] = src(1,0) * dst[0]; | dst[1] = src(1,0) * dst[0]; | |||
dst[2] = src(1,1) - dst[1] * dst[1]; | dst[2] = src(1,1) - dst[1] * dst[1]; | |||
End of changes. 18 change blocks. | ||||
25 lines changed or deleted | 203 lines changed or added | |||
Data.h | Data.h | |||
---|---|---|---|---|
skipping to change at line 45 | skipping to change at line 45 | |||
void SetInputFile(const std::string& InputFile) { fInputFile = InputFile; } | void SetInputFile(const std::string& InputFile) { fInputFile = InputFile; } | |||
std::string GetInputFile() { return fInputFile; } | std::string GetInputFile() { return fInputFile; } | |||
void SetHistoName(const std::string& HistoName) { fHistoName = HistoName; } | void SetHistoName(const std::string& HistoName) { fHistoName = HistoName; } | |||
std::string GetHistoName() { return fHistoName; } | std::string GetHistoName() { return fHistoName; } | |||
void SetHistoPath(const std::string& HistoPath) { fHistoPath = HistoPath; } | void SetHistoPath(const std::string& HistoPath) { fHistoPath = HistoPath; } | |||
std::string GetHistoPath() { return fHistoPath; } | std::string GetHistoPath() { return fHistoPath; } | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void PrintXML( std::ostream& ); | ||||
void writeToFile( std::string FileName, std::string DirName ); | void writeToFile( std::string FileName, std::string DirName ); | |||
TH1* GetHisto(); | TH1* GetHisto(); | |||
void SetHisto(TH1* Hist) { fhData = Hist; fHistoName=Hist->GetName(); } | void SetHisto(TH1* Hist) { fhData = Hist; fHistoName=Hist->GetName(); } | |||
protected: | protected: | |||
std::string fName; | std::string fName; | |||
std::string fInputFile; | std::string fInputFile; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
Factory.h | Factory.h | |||
---|---|---|---|---|
// @(#)root/tmva $Id$ | // @(#)root/mathcore:$Id$ | |||
// Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss, Ka | // Author: L. Moneta Fri Dec 22 14:43:33 2006 | |||
i Voss, Eckhard von Toerne, Jan Therhaag | ||||
/************************************************************************** | /********************************************************************** | |||
******** | * * | |||
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis | * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * | |||
* | * * | |||
* 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 | ||||
protected: | namespace ROOT { | |||
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 =""); | ||||
}; | ||||
ClassDef(Factory,0) // The factory creates all MVA methods, and perf | } // end namespace Fit | |||
orms their training and testing | ||||
}; | ||||
} // namespace TMVA | } // end namespace ROOT | |||
#endif | #endif /* ROOT_Fit_MinimizerFactory */ | |||
End of changes. 7 change blocks. | ||||
360 lines changed or deleted | 53 lines changed or added | |||
HistFactoryNavigation.h | HistFactoryNavigation.h | |||
---|---|---|---|---|
#include <map> | #include <map> | |||
#include "TFile.h" | ||||
#include "TH1.h" | #include "TH1.h" | |||
#include "TROOT.h" | ||||
#include "TMath.h" | ||||
#include "TCanvas.h" | ||||
#include "THStack.h" | #include "THStack.h" | |||
#include "TLegend.h" | ||||
#include "RooDataSet.h" | #include "RooDataSet.h" | |||
#include "RooRealVar.h" | #include "RooRealVar.h" | |||
#include "RooWorkspace.h" | ||||
#include "RooSimultaneous.h" | ||||
#include "RooCategory.h" | ||||
#include "RooProduct.h" | #include "RooProduct.h" | |||
#include "RooRealSumPdf.h" | ||||
#include "RooStats/HistFactory/Measurement.h" | #include "RooStats/HistFactory/Measurement.h" | |||
#include "RooStats/ModelConfig.h" | #include "RooStats/ModelConfig.h" | |||
namespace RooStats { | namespace RooStats { | |||
namespace HistFactory { | namespace HistFactory { | |||
class HistFactoryNavigation { | class HistFactoryNavigation { | |||
public: | public: | |||
// Initialze based on an already-created HistFactory Model | // Initialze based on an already-created HistFactory Model | |||
skipping to change at line 61 | skipping to change at line 50 | |||
// Print parameters that effect a particular sample | // Print parameters that effect a particular sample | |||
void PrintSampleParameters(const std::string& channel, const std::str ing& sample, | void PrintSampleParameters(const std::string& channel, const std::str ing& sample, | |||
bool IncludeConstantParams=false); | bool IncludeConstantParams=false); | |||
// Print the different components that make up a sample | // Print the different components that make up a sample | |||
// (NormFactors, Statistical Uncertainties, Interpolation, etc) | // (NormFactors, Statistical Uncertainties, Interpolation, etc) | |||
void PrintSampleComponents(const std::string& channel, const std::str ing& sample); | void PrintSampleComponents(const std::string& channel, const std::str ing& sample); | |||
// Print a "HistFactory style" RooDataSet in a readable way | // Print a "HistFactory style" RooDataSet in a readable way | |||
static void PrintDataSet(RooDataSet* data, const std::string& channel ="", int max=-1); | void PrintDataSet(RooDataSet* data, const std::string& channel=""); | |||
// Print the model and the data, comparing channel by channel | // Print the model and the data, comparing channel by channel | |||
void PrintModelAndData(RooDataSet* data); | void PrintModelAndData(RooDataSet* data); | |||
// The value of the ith bin for the total in that channel | // The value of the ith bin for the total in that channel | |||
double GetBinValue(int bin, const std::string& channel); | double GetBinValue(int bin, const std::string& channel); | |||
// The value of the ith bin for that sample and channel
 | // The value of the ith bin for that sample and channel
 | |||
double GetBinValue(int bin, const std::string& channel, const std::st ring& sample); | double GetBinValue(int bin, const std::string& channel, const std::st ring& sample); | |||
// The (current) histogram for that sample | // The (current) histogram for that sample | |||
// This includes all parameters and interpolation | // This includes all parameters and interpolation | |||
TH1* GetSampleHist(const std::string& channel, | TH1* GetSampleHist(const std::string& channel, | |||
const std::string& sample, const std::string& name= ""); | const std::string& sample, const std::string& name= ""); | |||
// Get the total channel histogram for this channel | // Get the total channel histogram for this channel | |||
TH1* GetChannelHist(const std::string& channel, const std::string& na me=""); | TH1* GetChannelHist(const std::string& channel, const std::string& na me=""); | |||
// Get a histogram from the dataset for this channel | ||||
TH1* GetDataHist(RooDataSet* data, const std::string& channel, const | ||||
std::string& name=""); | ||||
// Get a stack of all samples in a channel | ||||
THStack* GetChannelStack(const std::string& channel, const std::strin | ||||
g& name=""); | ||||
// Draw a stack of the channel, and include data if the pointer is su | ||||
pplied | ||||
void DrawChannel(const std::string& channel, RooDataSet* data=NULL); | ||||
// Get the RooAbsReal function for a given sample in a given channel | // Get the RooAbsReal function for a given sample in a given channel | |||
RooAbsReal* SampleFunction(const std::string& channel, const std::str ing& sample); | RooAbsReal* SampleFunction(const std::string& channel, const std::str ing& sample); | |||
// Get the set of observables for a given channel | // Get the set of observables for a given channel | |||
RooArgSet* GetObservableSet(const std::string& channel); | RooArgSet* GetObservableSet(const std::string& channel); | |||
// Get the constraint term for a given systematic (alpha or gamma) | // Get the constraint term for a given systematic (alpha or gamma) | |||
RooAbsReal* GetConstraintTerm(const std::string& parameter); | RooAbsReal* GetConstraintTerm(const std::string& parameter); | |||
// Get the uncertainty based on the constraint term for a given syste matic | // Get the uncertainty based on the constraint term for a given syste matic | |||
skipping to change at line 100 | skipping to change at line 98 | |||
// Find a node in the pdf and replace it with a new node | // Find a node in the pdf and replace it with a new node | |||
// These nodes can be functions, pdf's, RooRealVar's, etc | // These nodes can be functions, pdf's, RooRealVar's, etc | |||
// Will do minimial checking to make sure the replacement makes sense | // Will do minimial checking to make sure the replacement makes sense | |||
void ReplaceNode(const std::string& ToReplace, RooAbsArg* ReplaceWith ); | void ReplaceNode(const std::string& ToReplace, RooAbsArg* ReplaceWith ); | |||
// Set any RooRealVar's const (or not const) if they match | // Set any RooRealVar's const (or not const) if they match | |||
// the supplied regular expression | // the supplied regular expression | |||
void SetConstant(const std::string& regExpr=".*", bool constant=true) ; | void SetConstant(const std::string& regExpr=".*", bool constant=true) ; | |||
void SetNumBinsToPrint(int num) { _numBinsToPrint = num; } | void SetMaxBinToPrint(int max) { _maxBinToPrint = max; } | |||
int GetNumBinsToPrint() const { return _numBinsToPrint; } | int GetMaxBinToPrint() const { return _maxBinToPrint; } | |||
void SetMinBinToPrint(int min) { _minBinToPrint = min; } | ||||
int GetMinBinToPrint() const { return _minBinToPrint; } | ||||
// Get the model for this channel | // Get the model for this channel | |||
RooAbsPdf* GetModel() const { return fModel; } | RooAbsPdf* GetModel() const { return fModel; } | |||
// | // | |||
RooAbsPdf* GetChannelPdf(const std::string& channel); | RooAbsPdf* GetChannelPdf(const std::string& channel); | |||
std::vector< std::string > GetChannelSampleList(const std::string& ch | ||||
annel); | ||||
// Return the RooRealVar by the same name used in the model | // Return the RooRealVar by the same name used in the model | |||
// If not found, return NULL | // If not found, return NULL | |||
RooRealVar* var(const std::string& varName) const; | RooRealVar* var(const std::string& varName) const; | |||
/* | /* | |||
// Add a channel to the pdf | // Add a channel to the pdf | |||
// Combine the data if it is provided | // Combine the data if it is provided | |||
void AddChannel(const std::string& channel, RooAbsPdf* pdf, RooDataSe t* data=NULL); | void AddChannel(const std::string& channel, RooAbsPdf* pdf, RooDataSe t* data=NULL); | |||
*/ | */ | |||
skipping to change at line 132 | skipping to change at line 135 | |||
void AddConstraintTerm(RooAbsArg* constraintTerm); | void AddConstraintTerm(RooAbsArg* constraintTerm); | |||
// Add a constraint term to the pdf of a particular channel | // Add a constraint term to the pdf of a particular channel | |||
// This method requires that the pdf be simultaneous | // This method requires that the pdf be simultaneous | |||
// OR that the channel string match the channel that the pdf represen ts | // OR that the channel string match the channel that the pdf represen ts | |||
void AddConstraintTerm(RooAbsArg* constraintTerm, const std::string& channel); | void AddConstraintTerm(RooAbsArg* constraintTerm, const std::string& channel); | |||
*/ | */ | |||
protected: | protected: | |||
// Set the title and bin widths | ||||
void SetPrintWidths(const std::string& channel); | ||||
// Fetch the node information for the pdf in question, and | // Fetch the node information for the pdf in question, and | |||
// save it in the varous collections in this class | // save it in the varous collections in this class | |||
void _GetNodes(ModelConfig* mc); | void _GetNodes(ModelConfig* mc); | |||
void _GetNodes(RooAbsPdf* model, const RooArgSet* observables); | void _GetNodes(RooAbsPdf* model, const RooArgSet* observables); | |||
// Print a histogram's contents to the screen | // Print a histogram's contents to the screen | |||
// void PrettyPrintHistogram(TH1* hist); | // void PrettyPrintHistogram(TH1* hist); | |||
void PrintMultiDimHist(TH1* hist, int bin_print_width); | ||||
// Make a histogram from a funciton | // Make a histogram from a funciton | |||
// Edit so it can take a RooArgSet of parameters | // Edit so it can take a RooArgSet of parameters | |||
TH1* MakeHistFromRooFunction( RooAbsReal* func, RooArgList vars, std: :string name="Hist" ); | TH1* MakeHistFromRooFunction( RooAbsReal* func, RooArgList vars, std: :string name="Hist" ); | |||
// Get a map of sample names to their functions for a particular chan nel | // Get a map of sample names to their functions for a particular chan nel | |||
std::map< std::string, RooAbsReal*> GetSampleFunctionMap(const std::s tring& channel); | std::map< std::string, RooAbsReal*> GetSampleFunctionMap(const std::s tring& channel); | |||
private: | private: | |||
// The HistFactory Pdf Pointer | // The HistFactory Pdf Pointer | |||
RooAbsPdf* fModel; | RooAbsPdf* fModel; | |||
// The observables | // The observables | |||
RooArgSet* fObservables; | RooArgSet* fObservables; | |||
int _numBinsToPrint; | int _minBinToPrint; | |||
int _maxBinToPrint; | ||||
int _label_print_width; | ||||
int _bin_print_width; | ||||
// The list of channels | // The list of channels | |||
std::vector<std::string> fChannelNameVec; | std::vector<std::string> fChannelNameVec; | |||
// Map of channel names to their full pdf's | // Map of channel names to their full pdf's | |||
std::map< std::string, RooAbsPdf* > fChannelPdfMap; | std::map< std::string, RooAbsPdf* > fChannelPdfMap; | |||
// Map of channel names to pdf without constraint | // Map of channel names to pdf without constraint | |||
std::map< std::string, RooAbsPdf* > fChannelSumNodeMap; | std::map< std::string, RooAbsPdf* > fChannelSumNodeMap; | |||
End of changes. 13 change blocks. | ||||
15 lines changed or deleted | 30 lines changed or added | |||
MakeModelAndMeasurementsFast.h | MakeModelAndMeasurementsFast.h | |||
---|---|---|---|---|
skipping to change at line 16 | skipping to change at line 16 | |||
#include <vector> | #include <vector> | |||
#include "RooStats/HistFactory/Measurement.h" | #include "RooStats/HistFactory/Measurement.h" | |||
#include "RooStats/HistFactory/Channel.h" | #include "RooStats/HistFactory/Channel.h" | |||
#include "RooStats/HistFactory/EstimateSummary.h" | #include "RooStats/HistFactory/EstimateSummary.h" | |||
#include "RooWorkspace.h" | #include "RooWorkspace.h" | |||
#include "RooPlot.h" | #include "RooPlot.h" | |||
#include "TFile.h" | #include "TFile.h" | |||
void fastDriver(std::string input); | ||||
namespace RooStats{ | namespace RooStats{ | |||
namespace HistFactory{ | namespace HistFactory{ | |||
//void fastDriver(std::string input); | ||||
RooWorkspace* MakeModelAndMeasurementFast( RooStats::HistFactory::Measu rement& measurement ); | RooWorkspace* MakeModelAndMeasurementFast( RooStats::HistFactory::Measu rement& measurement ); | |||
//RooWorkspace* MakeModelFast( RooStats::HistFactory::Measurement& meas urement ); | //RooWorkspace* MakeModelFast( RooStats::HistFactory::Measurement& meas urement ); | |||
std::vector<RooStats::HistFactory::EstimateSummary> GetChannelEstimateS ummaries(RooStats::HistFactory::Measurement& measurement, RooStats::HistFac tory::Channel& channel); | std::vector<RooStats::HistFactory::EstimateSummary> GetChannelEstimateS ummaries(RooStats::HistFactory::Measurement& measurement, RooStats::HistFac tory::Channel& channel); | |||
// void ConfigureWorkspaceForMeasurement( const std::string&, RooWorksp ace*, RooStats::HistFactory::Measurement&); | // void ConfigureWorkspaceForMeasurement( const std::string&, RooWorksp ace*, RooStats::HistFactory::Measurement&); | |||
void FormatFrameForLikelihood(RooPlot* frame, std::string xTitle=std::s tring("#sigma / #sigma_{SM}"), std::string yTitle=std::string("-log likelih ood")); | void FormatFrameForLikelihood(RooPlot* frame, std::string xTitle=std::s tring("#sigma / #sigma_{SM}"), std::string yTitle=std::string("-log likelih ood")); | |||
void FitModel(RooWorkspace *, std::string data_name="obsData"); | void FitModel(RooWorkspace *, std::string data_name="obsData"); | |||
void FitModelAndPlot(const std::string& measurementName, const std::str ing& fileNamePrefix, RooWorkspace *, std::string, std::string, TFile*, FILE *); | void FitModelAndPlot(const std::string& measurementName, const std::str ing& fileNamePrefix, RooWorkspace *, std::string, std::string, TFile*, FILE *); | |||
} | } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
Measurement.h | Measurement.h | |||
---|---|---|---|---|
skipping to change at line 37 | skipping to change at line 37 | |||
namespace HistFactory { | namespace HistFactory { | |||
class Measurement : public TNamed { | class Measurement : public TNamed { | |||
public: | public: | |||
Measurement(); | Measurement(); | |||
// Measurement( const Measurement& other ); // Copy | // Measurement( const Measurement& other ); // Copy | |||
Measurement(const char* Name, const char* Title=""); | Measurement(const char* Name, const char* Title=""); | |||
// std::string Name; | // set output prefix | |||
void SetOutputFilePrefix( const std::string& prefix ) { fOutputFilePrefix = prefix; } | void SetOutputFilePrefix( const std::string& prefix ) { fOutputFilePrefix = prefix; } | |||
// retrieve prefix for output files | ||||
std::string GetOutputFilePrefix() { return fOutputFilePrefix; } | std::string GetOutputFilePrefix() { return fOutputFilePrefix; } | |||
// insert PoI at beginning of vector of PoIs | ||||
void SetPOI( const std::string& POI ) { fPOI.insert( fPOI.begin(), POI ); } | void SetPOI( const std::string& POI ) { fPOI.insert( fPOI.begin(), POI ); } | |||
// append parameter to vector of PoIs | ||||
void AddPOI( const std::string& POI ) { fPOI.push_back(POI); } | void AddPOI( const std::string& POI ) { fPOI.push_back(POI); } | |||
// get name of PoI at given index | ||||
std::string GetPOI(unsigned int i=0) { return fPOI.at(i); } | std::string GetPOI(unsigned int i=0) { return fPOI.at(i); } | |||
// get vector of PoI names | ||||
std::vector<std::string>& GetPOIList() { return fPOI; } | std::vector<std::string>& GetPOIList() { return fPOI; } | |||
// Add a parameter to be set as constant | // Add a parameter to be set as constant | |||
// (Similar to ParamSetting method below) | // (Similar to ParamSetting method below) | |||
void AddConstantParam( const std::string& param ); | void AddConstantParam( const std::string& param ); | |||
// empty vector of constant parameters | ||||
void ClearConstantParams() { fConstantParams.clear(); } | void ClearConstantParams() { fConstantParams.clear(); } | |||
// get vector of all constant parameters | ||||
std::vector< std::string >& GetConstantParams() { return fConstantParams; } | std::vector< std::string >& GetConstantParams() { return fConstantParams; } | |||
// Set a parameter to a specific value | // Set a parameter to a specific value | |||
// (And optionally fix it) | // (And optionally fix it) | |||
void SetParamValue( const std::string& param, double value); | void SetParamValue( const std::string& param, double value); | |||
// get map: parameter name <--> parameter value | ||||
std::map<std::string, double>& GetParamValues() { return fParamValues; } | std::map<std::string, double>& GetParamValues() { return fParamValues; } | |||
// clear map of parameter values | ||||
void ClearParamValues() { fParamValues.clear(); } | void ClearParamValues() { fParamValues.clear(); } | |||
void AddPreprocessFunction( std::string name, std::string expression, std ::string dependencies ); | void AddPreprocessFunction( std::string name, std::string expression, std ::string dependencies ); | |||
// add a preprocess function object | ||||
void AddFunctionObject( const RooStats::HistFactory::PreprocessFunction f unction) { fFunctionObjects.push_back( function ); } | void AddFunctionObject( const RooStats::HistFactory::PreprocessFunction f unction) { fFunctionObjects.push_back( function ); } | |||
void SetFunctionObjects( std::vector< RooStats::HistFactory::PreprocessFu nction > objects ) { fFunctionObjects = objects; } | void SetFunctionObjects( std::vector< RooStats::HistFactory::PreprocessFu nction > objects ) { fFunctionObjects = objects; } | |||
// get vector of defined function objects | ||||
std::vector< RooStats::HistFactory::PreprocessFunction >& GetFunctionObje cts() { return fFunctionObjects; } | std::vector< RooStats::HistFactory::PreprocessFunction >& GetFunctionObje cts() { return fFunctionObjects; } | |||
std::vector< std::string > GetPreprocessFunctions(); | std::vector< std::string > GetPreprocessFunctions(); | |||
// Get and set Asimov Datasets | // get vector of defined Asimov Datasets | |||
std::vector< RooStats::HistFactory::Asimov >& GetAsimovDatasets() { retur n fAsimovDatasets; } | std::vector< RooStats::HistFactory::Asimov >& GetAsimovDatasets() { retur n fAsimovDatasets; } | |||
// add an Asimov Dataset | ||||
void AddAsimovDataset( RooStats::HistFactory::Asimov dataset ) { fAsimovD atasets.push_back(dataset); } | void AddAsimovDataset( RooStats::HistFactory::Asimov dataset ) { fAsimovD atasets.push_back(dataset); } | |||
// set integrated luminosity used to normalise histograms (if NormalizeBy Theory is true for this sample) | ||||
void SetLumi(double Lumi ) { fLumi = Lumi; } | void SetLumi(double Lumi ) { fLumi = Lumi; } | |||
// set relative uncertainty on luminosity | ||||
void SetLumiRelErr( double RelErr ) { fLumiRelErr = RelErr; } | void SetLumiRelErr( double RelErr ) { fLumiRelErr = RelErr; } | |||
// retrieve integrated luminosity | ||||
double GetLumi() { return fLumi; } | double GetLumi() { return fLumi; } | |||
// retrieve relative uncertainty on luminosity | ||||
double GetLumiRelErr() { return fLumiRelErr; } | double GetLumiRelErr() { return fLumiRelErr; } | |||
void SetBinLow( int BinLow ) { fBinLow = BinLow; } | void SetBinLow( int BinLow ) { fBinLow = BinLow; } | |||
void SetBinHigh ( int BinHigh ) { fBinHigh = BinHigh; } | void SetBinHigh ( int BinHigh ) { fBinHigh = BinHigh; } | |||
int GetBinLow() { return fBinLow; } | int GetBinLow() { return fBinLow; } | |||
int GetBinHigh() { return fBinHigh; } | int GetBinHigh() { return fBinHigh; } | |||
// do not produce any plots or tables, just save the model | ||||
void SetExportOnly( bool ExportOnly ) { fExportOnly = ExportOnly; } | void SetExportOnly( bool ExportOnly ) { fExportOnly = ExportOnly; } | |||
bool GetExportOnly() { return fExportOnly; } | bool GetExportOnly() { return fExportOnly; } | |||
void PrintTree( std::ostream& = std::cout ); // Print to a stream | void PrintTree( std::ostream& = std::cout ); // Print to a stream | |||
void PrintXML( std::string Directory="", std::string NewOutputPrefix="" ) ; | void PrintXML( std::string Directory="", std::string NewOutputPrefix="" ) ; | |||
std::vector< RooStats::HistFactory::Channel >& GetChannels() { return fCh annels; } | std::vector< RooStats::HistFactory::Channel >& GetChannels() { return fCh annels; } | |||
RooStats::HistFactory::Channel& GetChannel( std::string ); | RooStats::HistFactory::Channel& GetChannel( std::string ); | |||
// add a completely configured channel | ||||
void AddChannel( RooStats::HistFactory::Channel chan ) { fChannels.push_b ack( chan ); } | void AddChannel( RooStats::HistFactory::Channel chan ) { fChannels.push_b ack( chan ); } | |||
bool HasChannel( std::string ); | bool HasChannel( std::string ); | |||
void writeToFile( TFile* file ); | void writeToFile( TFile* file ); | |||
void CollectHistograms(); | void CollectHistograms(); | |||
void AddGammaSyst(std::string syst, double uncert); | void AddGammaSyst(std::string syst, double uncert); | |||
void AddLogNormSyst(std::string syst, double uncert); | void AddLogNormSyst(std::string syst, double uncert); | |||
void AddUniformSyst(std::string syst); | void AddUniformSyst(std::string syst); | |||
End of changes. 20 change blocks. | ||||
3 lines changed or deleted | 20 lines changed or added | |||
MessageTypes.h | MessageTypes.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
kPROOF_OUTPUTLIST = 1016, //return the output list from Proc ess() | kPROOF_OUTPUTLIST = 1016, //return the output list from Proc ess() | |||
kPROOF_AUTOBIN = 1017, //callback for auto binning | kPROOF_AUTOBIN = 1017, //callback for auto binning | |||
kPROOF_CACHE = 1018, //cache and package handling messa ges | kPROOF_CACHE = 1018, //cache and package handling messa ges | |||
kPROOF_GETENTRIES = 1019, //report back number of entries to master | kPROOF_GETENTRIES = 1019, //report back number of entries to master | |||
kPROOF_PROGRESS = 1020, //event loop progress | kPROOF_PROGRESS = 1020, //event loop progress | |||
kPROOF_FEEDBACK = 1021, //intermediate version of objects | kPROOF_FEEDBACK = 1021, //intermediate version of objects | |||
kPROOF_STOPPROCESS = 1022, //stop or abort the current proces s call | kPROOF_STOPPROCESS = 1022, //stop or abort the current proces s call | |||
kPROOF_HOSTAUTH = 1023, //HostAuth info follows | kPROOF_HOSTAUTH = 1023, //HostAuth info follows | |||
kPROOF_GETSLAVEINFO = 1024, //get worker info from master | kPROOF_GETSLAVEINFO = 1024, //get worker info from master | |||
kPROOF_GETTREEHEADER = 1025, //get tree object | kPROOF_GETTREEHEADER = 1025, //get tree object | |||
kPROOF_GETOUTPUTLIST = 1026, //get the output list | kPROOF_GETOUTPUTLIST = 1026, //get the output list names | |||
kPROOF_GETSTATS = 1027, //get statistics of workers | kPROOF_GETSTATS = 1027, //get statistics of workers | |||
kPROOF_GETPARALLEL = 1028, //get number of parallel workers | kPROOF_GETPARALLEL = 1028, //get number of parallel workers | |||
kPROOF_VALIDATE_DSET = 1029, //validate a TDSet | kPROOF_VALIDATE_DSET = 1029, //validate a TDSet | |||
kPROOF_DATA_READY = 1030, //ask if the data is ready on node s | kPROOF_DATA_READY = 1030, //ask if the data is ready on node s | |||
kPROOF_QUERYLIST = 1031, //ask/send the list of queries | kPROOF_QUERYLIST = 1031, //ask/send the list of queries | |||
kPROOF_RETRIEVE = 1032, //asynchronous retrieve of query r esults | kPROOF_RETRIEVE = 1032, //asynchronous retrieve of query r esults | |||
kPROOF_ARCHIVE = 1033, //archive query results | kPROOF_ARCHIVE = 1033, //archive query results | |||
kPROOF_REMOVE = 1034, //remove query results from the li sts | kPROOF_REMOVE = 1034, //remove query results from the li sts | |||
kPROOF_STARTPROCESS = 1035, //signals the start of query proce ssing | kPROOF_STARTPROCESS = 1035, //signals the start of query proce ssing | |||
kPROOF_SETIDLE = 1036, //signals idle state of session | kPROOF_SETIDLE = 1036, //signals idle state of session | |||
skipping to change at line 97 | skipping to change at line 97 | |||
kPROOF_DATASET_STATUS = 1047, //status of data set preparation b efore processing | kPROOF_DATASET_STATUS = 1047, //status of data set preparation b efore processing | |||
kPROOF_OUTPUTOBJECT = 1048, //output object follows | kPROOF_OUTPUTOBJECT = 1048, //output object follows | |||
kPROOF_SETENV = 1049, //buffer with env vars to set | kPROOF_SETENV = 1049, //buffer with env vars to set | |||
kPROOF_REALTIMELOG = 1050, //switch on/off real-time retrieva l of log messages | kPROOF_REALTIMELOG = 1050, //switch on/off real-time retrieva l of log messages | |||
kPROOF_VERSARCHCOMP = 1051, //String with worker version/archi tecture/compiler follows | kPROOF_VERSARCHCOMP = 1051, //String with worker version/archi tecture/compiler follows | |||
kPROOF_ENDINIT = 1052, //signals end of initialization on worker | kPROOF_ENDINIT = 1052, //signals end of initialization on worker | |||
kPROOF_TOUCH = 1053, //touch the client admin file | kPROOF_TOUCH = 1053, //touch the client admin file | |||
kPROOF_FORK = 1054, //ask the worker to clone itself | kPROOF_FORK = 1054, //ask the worker to clone itself | |||
kPROOF_GOASYNC = 1055, //switch to asynchronous mode | kPROOF_GOASYNC = 1055, //switch to asynchronous mode | |||
kPROOF_SUBMERGER = 1056, //sub-merger based approach in fin alization | kPROOF_SUBMERGER = 1056, //sub-merger based approach in fin alization | |||
kPROOF_ECHO = 1057, //object echo request from client | ||||
kPROOF_SENDOUTPUT = 1058, //control output sending | ||||
//---- ROOTD message opcodes (2000 - 2099) | //---- ROOTD message opcodes (2000 - 2099) | |||
kROOTD_USER = 2000, //user id follows | kROOTD_USER = 2000, //user id follows | |||
kROOTD_PASS = 2001, //passwd follows | kROOTD_PASS = 2001, //passwd follows | |||
kROOTD_AUTH = 2002, //authorization status (to client) | kROOTD_AUTH = 2002, //authorization status (to client) | |||
kROOTD_FSTAT = 2003, //filename follows | kROOTD_FSTAT = 2003, //filename follows | |||
kROOTD_OPEN = 2004, //filename follows + mode | kROOTD_OPEN = 2004, //filename follows + mode | |||
kROOTD_PUT = 2005, //offset, number of bytes and buff er | kROOTD_PUT = 2005, //offset, number of bytes and buff er | |||
kROOTD_GET = 2006, //offset, number of bytes | kROOTD_GET = 2006, //offset, number of bytes | |||
kROOTD_FLUSH = 2007, //flush file | kROOTD_FLUSH = 2007, //flush file | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 3 lines changed or added | |||
OneDimFunctionAdapter.h | OneDimFunctionAdapter.h | |||
---|---|---|---|---|
skipping to change at line 101 | skipping to change at line 101 | |||
/** | /** | |||
Destructor (no operations) | Destructor (no operations) | |||
*/ | */ | |||
virtual ~OneDimMultiFunctionAdapter () { if (fOwn && fX) delete [] fX; } | virtual ~OneDimMultiFunctionAdapter () { if (fOwn && fX) delete [] fX; } | |||
/** | /** | |||
clone | clone | |||
*/ | */ | |||
virtual OneDimMultiFunctionAdapter * Clone( ) const { | virtual OneDimMultiFunctionAdapter * Clone( ) const { | |||
if (fOwn) | if (fOwn) { | |||
return new OneDimMultiFunctionAdapter( fFunc, fDim, fCoord, fParam | OneDimMultiFunctionAdapter * f = new OneDimMultiFunctionAdapter( | |||
s); | fFunc, fDim, fCoord, fParams); | |||
std::copy(fX, fX+fDim, f->fX); | ||||
return f; | ||||
} | ||||
else | else | |||
return new OneDimMultiFunctionAdapter( fFunc, fX, fCoord, fParams) ; | return new OneDimMultiFunctionAdapter( fFunc, fX, fCoord, fParams) ; | |||
} | } | |||
public: | public: | |||
/** | /** | |||
Set X values in case vector is own, iterator size must match previou s | Set X values in case vector is own, iterator size must match previou s | |||
set dimension | set dimension | |||
*/ | */ | |||
End of changes. 1 change blocks. | ||||
3 lines changed or deleted | 6 lines changed or added | |||
ParamHistFunc.h | ParamHistFunc.h | |||
---|---|---|---|---|
skipping to change at line 33 | skipping to change at line 33 | |||
class RooArgList ; | class RooArgList ; | |||
class RooWorkspace; | class RooWorkspace; | |||
class RooBinning; | class RooBinning; | |||
class ParamHistFunc : public RooAbsReal { | class ParamHistFunc : public RooAbsReal { | |||
public: | public: | |||
ParamHistFunc() ; | ParamHistFunc() ; | |||
ParamHistFunc(const char *name, const char *title, const RooArgList& vars , const RooArgList& paramSet ); | ParamHistFunc(const char *name, const char *title, const RooArgList& vars , const RooArgList& paramSet ); | |||
ParamHistFunc(const char *name, const char *title, const RooArgList& vars , const RooArgList& paramSet, const TH1* hist ); | ParamHistFunc(const char *name, const char *title, const RooArgList& vars , const RooArgList& paramSet, const TH1* hist ); | |||
// Not yet fully implemented: | ||||
//ParamHistFunc(const char *name, const char *title, const RooRealVar& va | ||||
r, const RooArgList& paramSet, const RooAbsReal& nominal ); | ||||
virtual ~ParamHistFunc() ; | virtual ~ParamHistFunc() ; | |||
ParamHistFunc(const ParamHistFunc& other, const char* name = 0); | ParamHistFunc(const ParamHistFunc& other, const char* name = 0); | |||
virtual TObject* clone(const char* newname) const { return new ParamHistF unc(*this, newname); } | virtual TObject* clone(const char* newname) const { return new ParamHistF unc(*this, newname); } | |||
// void printMetaArgs(std::ostream& os) const ; | ||||
const RooArgList& paramList() const { return _paramSet ; } | const RooArgList& paramList() const { return _paramSet ; } | |||
Int_t numBins() const { return _dataSet.numEntries(); } // Number of bins (called numEntries in RooDataHist) | Int_t numBins() const { return _dataSet.numEntries(); } // Number of bins (called numEntries in RooDataHist) | |||
void setParamConst( Int_t, Bool_t=kTRUE ); | void setParamConst( Int_t, Bool_t=kTRUE ); | |||
void setConstant(bool constant); | ||||
void setShape(TH1* shape); | ||||
RooRealVar& getParameter() const ; | RooRealVar& getParameter() const ; | |||
RooRealVar& getParameter( Int_t masterIdx ) const ; | RooRealVar& getParameter( Int_t masterIdx ) const ; | |||
const RooArgSet* get(Int_t masterIdx) const { return _dataSet.get( master Idx ) ; } | const RooArgSet* get(Int_t masterIdx) const { return _dataSet.get( master Idx ) ; } | |||
const RooArgSet* get(const RooArgSet& coord) const { return _dataSet.get( coord ) ; } | const RooArgSet* get(const RooArgSet& coord) const { return _dataSet.get( coord ) ; } | |||
double binVolume() const { return _dataSet.binVolume(); } | double binVolume() const { return _dataSet.binVolume(); } | |||
virtual Bool_t forceAnalyticalInt(const RooAbsArg&) const { return kTRUE ; } | virtual Bool_t forceAnalyticalInt(const RooAbsArg&) const { return kTRUE ; } | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 3 lines changed or added | |||
PreprocessFunction.h | PreprocessFunction.h | |||
---|---|---|---|---|
skipping to change at line 20 | skipping to change at line 20 | |||
class PreprocessFunction { | class PreprocessFunction { | |||
public: | public: | |||
PreprocessFunction(); | PreprocessFunction(); | |||
PreprocessFunction(std::string Name, std::string Expression, std::strin g Dependents); | PreprocessFunction(std::string Name, std::string Expression, std::strin g Dependents); | |||
std::string GetCommand(std::string Name, std::string Expression, std::s tring Dependents); | std::string GetCommand(std::string Name, std::string Expression, std::s tring Dependents); | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void PrintXML(std::ostream& ); | ||||
void SetName( const std::string& Name) { fName = Name; } | void SetName( const std::string& Name) { fName = Name; } | |||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
void SetExpression( const std::string& Expression) { fExpression = Expr ession; } | void SetExpression( const std::string& Expression) { fExpression = Expr ession; } | |||
std::string GetExpression() { return fExpression; } | std::string GetExpression() { return fExpression; } | |||
void SetDependents( const std::string& Dependents) { fDependents = Depe ndents; } | void SetDependents( const std::string& Dependents) { fDependents = Depe ndents; } | |||
std::string GetDependents() { return fDependents; } | std::string GetDependents() { return fDependents; } | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
RConfigOptions.h | RConfigOptions.h | |||
---|---|---|---|---|
#ifndef ROOT_RConfigOptions | #ifndef ROOT_RConfigOptions | |||
#define ROOT_RConfigOptions | #define ROOT_RConfigOptions | |||
#define R__CONFIGUREOPTIONS "QTDIR=/afs/cern.ch/sw/lcg/external/qt/4.8.4/ i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.7.3/i68 6-slc5-gcc43-opt linux --fail-on-missing --enable-builtin-pcre --enable-cin tex --enable-explicitlink --enable-gdml --enable-genvector --enable-krb5 -- enable-mathmore --enable-minuit2 --enable-mysql --enable-oracle --enable-py thon --enable-qt --enable-qtgsi --enable-reflex --enable-roofit --enable-ta ble --enable-unuran --with-castor-incdir=/afs/cern.ch/sw/lcg/external/casto r/2.1.13-6/i686-slc5-gcc43-opt/usr/include/shift --with-castor-libdir=/afs/ cern.ch/sw/lcg/external/castor/2.1.13-6/i686-slc5-gcc43-opt/usr/lib --with- cern-libdir=/afs/cern.ch/sw/lcg/external/cernlib/2006a/i686-slc5-gcc43-opt/ lib --with-dcap-libdir=/afs/cern.ch/sw/lcg/external/dcache_client/2.47.5-0/ i686-slc5-gcc43-opt/dcap/lib --with-dcap-incdir=/afs/cern.ch/sw/lcg/externa l/dcache_client/2.47.5-0/i686-slc5-gcc43-opt/dcap/include --with-fftw3-incd ir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/include --w ith-fftw3-libdir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-o pt/lib --with-gccxml=/afs/cern.ch/sw/lcg/external/gccxml/0.9.0_20120309p2/i 686-slc5-gcc43-opt/bin --with-gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid /gfal/1.13.0-0/i686-slc5-gcc43-opt/lib --with-gfal-incdir=/afs/cern.ch/sw/l cg/external/Grid/gfal/1.13.0-0/i686-slc5-gcc43-opt/include --with-gsl-incdi r=/afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/include --with- gsl-libdir=/afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/lib -- with-mysql-incdir=/afs/cern.ch/sw/lcg/external/mysql/5.5.14/i686-slc5-gcc43 -opt/include --with-mysql-libdir=/afs/cern.ch/sw/lcg/external/mysql/5.5.14/ i686-slc5-gcc43-opt/lib --with-oracle-incdir=/afs/cern.ch/sw/lcg/external/o racle/11.2.0.3.0/i686-slc5-gcc43-opt/include --with-oracle-libdir=/afs/cern .ch/sw/lcg/external/oracle/11.2.0.3.0/i686-slc5-gcc43-opt/lib --with-rfio-i ncdir=/afs/cern.ch/sw/lcg/external/castor/2.1.13-6/i686-slc5-gcc43-opt/usr/ include/shift --with-rfio-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.13 -6/i686-slc5-gcc43-opt/usr/lib --with-pythia6-libdir=/afs/cern.ch/sw/lcg/ex ternal/MCGenerators/pythia6/426.2/i686-slc5-gcc43-opt/lib --with-pythia8-in cdir=/afs/cern.ch/sw/lcg/external/MCGenerators/pythia8/160/i686-slc5-gcc43- opt/include --with-pythia8-libdir=/afs/cern.ch/sw/lcg/external/MCGenerators /pythia8/160/i686-slc5-gcc43-opt/lib --with-gviz-incdir=/afs/cern.ch/sw/lcg /external/graphviz/2.28.0/i686-slc5-gcc43-opt/include/graphviz --with-gviz- libdir=/afs/cern.ch/sw/lcg/external/graphviz/2.28.0/i686-slc5-gcc43-opt/lib --with-xrootd=/afs/cern.ch/sw/lcg/external/xrootd/3.2.7/i686-slc5-gcc43-op t --with-srm-ifce-incdir=/afs/cern.ch/sw/lcg/external/Grid/srm-ifce/1.13.0- 0/i686-slc5-gcc43-opt/include" | #define R__CONFIGUREOPTIONS "QTDIR=/afs/cern.ch/sw/lcg/external/qt/4.8.4/ i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.7.3/i68 6-slc5-gcc43-opt linux --fail-on-missing --enable-builtin-pcre --enable-cin tex --enable-explicitlink --enable-gdml --enable-genvector --enable-krb5 -- enable-mathmore --enable-minuit2 --enable-mysql --enable-oracle --enable-py thon --enable-qt --enable-qtgsi --enable-reflex --enable-roofit --enable-ta ble --enable-unuran --with-castor-incdir=/afs/cern.ch/sw/lcg/external/casto r/2.1.13-6/i686-slc5-gcc43-opt/usr/include/shift --with-castor-libdir=/afs/ cern.ch/sw/lcg/external/castor/2.1.13-6/i686-slc5-gcc43-opt/usr/lib --with- cern-libdir=/afs/cern.ch/sw/lcg/external/cernlib/2006a/i686-slc5-gcc43-opt/ lib --with-dcap-libdir=/afs/cern.ch/sw/lcg/external/dcache_client/2.47.5-0/ i686-slc5-gcc43-opt/dcap/lib --with-dcap-incdir=/afs/cern.ch/sw/lcg/externa l/dcache_client/2.47.5-0/i686-slc5-gcc43-opt/dcap/include --with-fftw3-incd ir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/include --w ith-fftw3-libdir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-o pt/lib --with-gccxml=/afs/cern.ch/sw/lcg/external/gccxml/0.9.0_20120309p2/i 686-slc5-gcc43-opt/bin --with-gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid /gfal/1.13.0-0/i686-slc5-gcc43-opt/lib --with-gfal-incdir=/afs/cern.ch/sw/l cg/external/Grid/gfal/1.13.0-0/i686-slc5-gcc43-opt/include --with-gsl-incdi r=/afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/include --with- gsl-libdir=/afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/lib -- with-mysql-incdir=/afs/cern.ch/sw/lcg/external/mysql/5.5.14/i686-slc5-gcc43 -opt/include --with-mysql-libdir=/afs/cern.ch/sw/lcg/external/mysql/5.5.14/ i686-slc5-gcc43-opt/lib --with-oracle-incdir=/afs/cern.ch/sw/lcg/external/o racle/11.2.0.3.0/i686-slc5-gcc43-opt/include --with-oracle-libdir=/afs/cern .ch/sw/lcg/external/oracle/11.2.0.3.0/i686-slc5-gcc43-opt/lib --with-rfio-i ncdir=/afs/cern.ch/sw/lcg/external/castor/2.1.13-6/i686-slc5-gcc43-opt/usr/ include/shift --with-rfio-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.13 -6/i686-slc5-gcc43-opt/usr/lib --with-pythia6-libdir=/afs/cern.ch/sw/lcg/ex ternal/MCGenerators/pythia6/426.2/i686-slc5-gcc43-opt/lib --with-pythia8-in cdir=/afs/cern.ch/sw/lcg/external/MCGenerators/pythia8/160/i686-slc5-gcc43- opt/include --with-pythia8-libdir=/afs/cern.ch/sw/lcg/external/MCGenerators /pythia8/160/i686-slc5-gcc43-opt/lib --with-gviz-incdir=/afs/cern.ch/sw/lcg /external/graphviz/2.28.0/i686-slc5-gcc43-opt/include/graphviz --with-gviz- libdir=/afs/cern.ch/sw/lcg/external/graphviz/2.28.0/i686-slc5-gcc43-opt/lib --with-xrootd=/afs/cern.ch/sw/lcg/external/xrootd/3.2.7/i686-slc5-gcc43-op t --with-srm-ifce-incdir=/afs/cern.ch/sw/lcg/external/Grid/srm-ifce/1.13.0- 0/i686-slc5-gcc43-opt/include" | |||
#define R__CONFIGUREFEATURES "asimage astiff builtin_afterimage builtin_ft gl builtin_glew builtin_pcre builtin_lzma castor cintex dcache explicitlink fftw3 gdml genvector gfal krb5 ldap mathmore memstat minuit2 mysql opengl oracle pythia8 python qt qtgsi reflex roofit rfio shadowpw shared ssl table tmva unuran x11 xft xml xrootd thread" | #define R__CONFIGUREFEATURES "asimage astiff builtin_afterimage builtin_ft gl builtin_glew builtin_pcre builtin_lzma castor cintex dcache explicitlink fftw3 gdml genvector gfal krb5 ldap mathmore memstat minuit2 mysql opengl oracle pythia8 python qt qtgsi reflex roofit rfio shadowpw shared sqlite ss l table tmva unuran x11 xft xml xrootd thread" | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
RVersion.h | RVersion.h | |||
---|---|---|---|---|
skipping to change at line 17 | skipping to change at line 17 | |||
* These macros can be used in the following way: | * These macros can be used in the following way: | |||
* | * | |||
* #if ROOT_VERSION_CODE >= ROOT_VERSION(2,23,4) | * #if ROOT_VERSION_CODE >= ROOT_VERSION(2,23,4) | |||
* #include <newheader.h> | * #include <newheader.h> | |||
* #else | * #else | |||
* #include <oldheader.h> | * #include <oldheader.h> | |||
* #endif | * #endif | |||
* | * | |||
*/ | */ | |||
#define ROOT_RELEASE "5.34/09" | #define ROOT_RELEASE "5.34/10" | |||
#define ROOT_RELEASE_DATE "Jun 26 2013" | #define ROOT_RELEASE_DATE "Aug 29 2013" | |||
#define ROOT_RELEASE_TIME "16:38:19" | #define ROOT_RELEASE_TIME "16:17:59" | |||
#define ROOT_SVN_REVISION 49361 | #define ROOT_SVN_REVISION 49361 | |||
#define ROOT_GIT_COMMIT "v5-34-08-80-g1323c6f" | #define ROOT_GIT_COMMIT "v5-34-09-278-gdd55a0f" | |||
#define ROOT_GIT_BRANCH "heads/v5-34-00-patches" | #define ROOT_GIT_BRANCH "heads/v5-34-00-patches" | |||
#define ROOT_VERSION_CODE 336393 | #define ROOT_VERSION_CODE 336394 | |||
#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. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
RooAbsArg.h | RooAbsArg.h | |||
---|---|---|---|---|
skipping to change at line 390 | skipping to change at line 390 | |||
// Cache management | // Cache management | |||
void registerCache(RooAbsCache& cache) ; | void registerCache(RooAbsCache& cache) ; | |||
void unRegisterCache(RooAbsCache& cache) ; | void unRegisterCache(RooAbsCache& cache) ; | |||
Int_t numCaches() const ; | Int_t numCaches() const ; | |||
RooAbsCache* getCache(Int_t index) const ; | RooAbsCache* getCache(Int_t index) const ; | |||
enum OperMode { Auto=0, AClean=1, ADirty=2 } ; | enum OperMode { Auto=0, AClean=1, ADirty=2 } ; | |||
inline OperMode operMode() const { return _operMode ; } | inline OperMode operMode() const { return _operMode ; } | |||
void setOperMode(OperMode mode, Bool_t recurseADirty=kTRUE) ; | void setOperMode(OperMode mode, Bool_t recurseADirty=kTRUE) ; | |||
static UInt_t crc32(const char* data) ; | static UInt_t crc32(const char* data); | |||
static UInt_t crc32(const char* data, ULong_t sz, UInt_t crc = 0); | ||||
static const UInt_t fnv1a32start = 2166136261u; | ||||
static UInt_t fnv1a32(const char* data); | ||||
static UInt_t fnv1a32(const char* data, ULong_t sz, UInt_t hash = fnv1a32 | ||||
start); | ||||
static const ULong64_t fnv1a64start = (ULong64_t(3421674724u) << 32) | UL | ||||
ong64_t(2216829733u); | ||||
static ULong64_t fnv1a64(const char* data); | ||||
static ULong64_t fnv1a64(const char* data, ULong_t sz, ULong64_t hash = f | ||||
nv1a64start); | ||||
Bool_t addOwnedComponents(const RooArgSet& comps) ; | Bool_t addOwnedComponents(const RooArgSet& comps) ; | |||
const RooArgSet* ownedComponents() const { return _ownedComponents ; } | const RooArgSet* ownedComponents() const { return _ownedComponents ; } | |||
void setProhibitServerRedirect(Bool_t flag) { _prohibitServerRedirect = f lag ; } | void setProhibitServerRedirect(Bool_t flag) { _prohibitServerRedirect = f lag ; } | |||
protected: | protected: | |||
void graphVizAddConnections(std::set<std::pair<RooAbsArg*,RooAbsArg*> >&) ; | void graphVizAddConnections(std::set<std::pair<RooAbsArg*,RooAbsArg*> >&) ; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 13 lines changed or added | |||
RooAbsPdf.h | RooAbsPdf.h | |||
---|---|---|---|---|
skipping to change at line 112 | skipping to change at line 112 | |||
virtual RooPlot* plotOn(RooPlot* frame, | virtual RooPlot* plotOn(RooPlot* frame, | |||
const RooCmdArg& arg1=RooCmdArg::none(), const Roo CmdArg& arg2=RooCmdArg::none(), | const RooCmdArg& arg1=RooCmdArg::none(), const Roo CmdArg& arg2=RooCmdArg::none(), | |||
const RooCmdArg& arg3=RooCmdArg::none(), const Roo CmdArg& arg4=RooCmdArg::none(), | const RooCmdArg& arg3=RooCmdArg::none(), const Roo CmdArg& arg4=RooCmdArg::none(), | |||
const RooCmdArg& arg5=RooCmdArg::none(), const Roo CmdArg& arg6=RooCmdArg::none(), | const RooCmdArg& arg5=RooCmdArg::none(), const Roo CmdArg& arg6=RooCmdArg::none(), | |||
const RooCmdArg& arg7=RooCmdArg::none(), const Roo CmdArg& arg8=RooCmdArg::none(), | const RooCmdArg& arg7=RooCmdArg::none(), const Roo CmdArg& arg8=RooCmdArg::none(), | |||
const RooCmdArg& arg9=RooCmdArg::none(), const Roo CmdArg& arg10=RooCmdArg::none() | const RooCmdArg& arg9=RooCmdArg::none(), const Roo CmdArg& arg10=RooCmdArg::none() | |||
) const { | ) const { | |||
return RooAbsReal::plotOn(frame,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8 ,arg9,arg10) ; | return RooAbsReal::plotOn(frame,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8 ,arg9,arg10) ; | |||
} | } | |||
virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) const ; | ||||
virtual RooPlot* paramOn(RooPlot* frame, | virtual RooPlot* paramOn(RooPlot* frame, | |||
const RooCmdArg& arg1=RooCmdArg::none(), const R ooCmdArg& arg2=RooCmdArg::none(), | const RooCmdArg& arg1=RooCmdArg::none(), const R ooCmdArg& arg2=RooCmdArg::none(), | |||
const RooCmdArg& arg3=RooCmdArg::none(), const R ooCmdArg& arg4=RooCmdArg::none(), | const RooCmdArg& arg3=RooCmdArg::none(), const R ooCmdArg& arg4=RooCmdArg::none(), | |||
const RooCmdArg& arg5=RooCmdArg::none(), const R ooCmdArg& arg6=RooCmdArg::none(), | const RooCmdArg& arg5=RooCmdArg::none(), const R ooCmdArg& arg6=RooCmdArg::none(), | |||
const RooCmdArg& arg7=RooCmdArg::none(), const R ooCmdArg& arg8=RooCmdArg::none()) ; | const RooCmdArg& arg7=RooCmdArg::none(), const R ooCmdArg& arg8=RooCmdArg::none()) ; | |||
virtual RooPlot* paramOn(RooPlot* frame, const RooAbsData* data, const ch ar *label= "", Int_t sigDigits = 2, | virtual RooPlot* paramOn(RooPlot* frame, const RooAbsData* data, const ch ar *label= "", Int_t sigDigits = 2, | |||
Option_t *options = "NELU", Double_t xmin=0.50, | Option_t *options = "NELU", Double_t xmin=0.50, | |||
Double_t xmax= 0.99,Double_t ymax=0.95) ; | Double_t xmax= 0.99,Double_t ymax=0.95) ; | |||
skipping to change at line 257 | skipping to change at line 258 | |||
RooDataSet *generate(RooAbsGenContext& context, const RooArgSet& whatVars , const RooDataSet* prototype, | RooDataSet *generate(RooAbsGenContext& context, const RooArgSet& whatVars , const RooDataSet* prototype, | |||
Double_t nEvents, Bool_t verbose, Bool_t randProtoOrd er, Bool_t resampleProto, Bool_t skipInit=kFALSE, | Double_t nEvents, Bool_t verbose, Bool_t randProtoOrd er, Bool_t resampleProto, Bool_t skipInit=kFALSE, | |||
Bool_t extended=kFALSE) const ; | Bool_t extended=kFALSE) const ; | |||
// Implementation version | // Implementation version | |||
virtual RooPlot* paramOn(RooPlot* frame, const RooArgSet& params, Bool_t showConstants=kFALSE, | virtual RooPlot* paramOn(RooPlot* frame, const RooArgSet& params, Bool_t showConstants=kFALSE, | |||
const char *label= "", Int_t sigDigits = 2, Opti on_t *options = "NELU", Double_t xmin=0.65, | const char *label= "", Int_t sigDigits = 2, Opti on_t *options = "NELU", Double_t xmin=0.65, | |||
Double_t xmax= 0.99,Double_t ymax=0.95, const Roo CmdArg* formatCmd=0) ; | Double_t xmax= 0.99,Double_t ymax=0.95, const Roo CmdArg* formatCmd=0) ; | |||
virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) const ; | ||||
void plotOnCompSelect(RooArgSet* selNodes) const ; | void plotOnCompSelect(RooArgSet* selNodes) const ; | |||
virtual RooPlot *plotOn(RooPlot *frame, PlotOpt o) const; | virtual RooPlot *plotOn(RooPlot *frame, PlotOpt o) const; | |||
friend class RooEffGenContext ; | friend class RooEffGenContext ; | |||
friend class RooAddGenContext ; | friend class RooAddGenContext ; | |||
friend class RooProdGenContext ; | friend class RooProdGenContext ; | |||
friend class RooSimGenContext ; | friend class RooSimGenContext ; | |||
friend class RooSimSplitGenContext ; | friend class RooSimSplitGenContext ; | |||
friend class RooConvGenContext ; | friend class RooConvGenContext ; | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
RooAbsReal.h | RooAbsReal.h | |||
---|---|---|---|---|
skipping to change at line 247 | skipping to change at line 247 | |||
// Printing interface (human readable) | // Printing interface (human readable) | |||
virtual void printValue(std::ostream& os) const ; | virtual void printValue(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 ; | |||
static void setCacheCheck(Bool_t flag) ; | static void setCacheCheck(Bool_t flag) ; | |||
// Evaluation error logging | // Evaluation error logging | |||
class EvalError { | class EvalError { | |||
public: | public: | |||
EvalError() { _msg[0] = 0 ; _srvval[0] = 0 ; } | EvalError() { } | |||
EvalError(const EvalError& other) { strlcpy(_msg,other._msg,1024) ; str | EvalError(const EvalError& other) : _msg(other._msg), _srvval(other._sr | |||
lcpy(_srvval,other._srvval,1024) ; } ; | vval) { } | |||
void setMessage(const char* tmp) ; | void setMessage(const char* tmp) { std::string s(tmp); s.swap(_msg); } | |||
void setServerValues(const char* tmp) ; | void setServerValues(const char* tmp) { std::string s(tmp); s.swap(_srv | |||
char _msg[1024] ; | val); } | |||
char _srvval[1024] ; | std::string _msg; | |||
std::string _srvval; | ||||
} ; | } ; | |||
enum ErrorLoggingMode { PrintErrors, CollectErrors, CountErrors, Ignore } ; | enum ErrorLoggingMode { PrintErrors, CollectErrors, CountErrors, Ignore } ; | |||
static ErrorLoggingMode evalErrorLoggingMode() ; | static ErrorLoggingMode evalErrorLoggingMode() ; | |||
static void setEvalErrorLoggingMode(ErrorLoggingMode m) ; | static void setEvalErrorLoggingMode(ErrorLoggingMode m) ; | |||
void logEvalError(const char* message, const char* serverValueString=0) c onst ; | void logEvalError(const char* message, const char* serverValueString=0) c onst ; | |||
static void logEvalError(const RooAbsReal* originator, const char* origNa me, const char* message, const char* serverValueString=0) ; | static void logEvalError(const RooAbsReal* originator, const char* origNa me, const char* message, const char* serverValueString=0) ; | |||
static void printEvalErrors(std::ostream&os=std::cout, Int_t maxPerNode=1 0000000) ; | static void printEvalErrors(std::ostream&os=std::cout, Int_t maxPerNode=1 0000000) ; | |||
static Int_t numEvalErrors() ; | static Int_t numEvalErrors() ; | |||
static Int_t numEvalErrorItems() ; | static Int_t numEvalErrorItems() ; | |||
skipping to change at line 306 | skipping to change at line 306 | |||
virtual Bool_t setData(RooAbsData& /*data*/, Bool_t /*cloneData*/=kTRUE) { return kTRUE ; } | virtual Bool_t setData(RooAbsData& /*data*/, Bool_t /*cloneData*/=kTRUE) { return kTRUE ; } | |||
virtual void enableOffsetting(Bool_t) {} ; | virtual void enableOffsetting(Bool_t) {} ; | |||
virtual Bool_t isOffsetting() const { return kFALSE ; } | virtual Bool_t isOffsetting() const { return kFALSE ; } | |||
virtual Double_t offset() const { return 0 ; } | virtual Double_t offset() const { return 0 ; } | |||
static void setHideOffset(Bool_t flag); | static void setHideOffset(Bool_t flag); | |||
static Bool_t hideOffset() ; | static Bool_t hideOffset() ; | |||
protected: | protected: | |||
// PlotOn with command list | ||||
virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) const ; | ||||
// Hook for objects with normalization-dependent parameters interperetati on | // Hook for objects with normalization-dependent parameters interperetati on | |||
virtual void selectNormalization(const RooArgSet* depSet=0, Bool_t force= kFALSE) ; | virtual void selectNormalization(const RooArgSet* depSet=0, Bool_t force= kFALSE) ; | |||
virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for ce=kFALSE) ; | virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for ce=kFALSE) ; | |||
// Helper functions for plotting | // Helper functions for plotting | |||
Bool_t plotSanityChecks(RooPlot* frame) const ; | Bool_t plotSanityChecks(RooPlot* frame) const ; | |||
void makeProjectionSet(const RooAbsArg* plotVar, const RooArgSet* allVars , | void makeProjectionSet(const RooAbsArg* plotVar, const RooArgSet* allVars , | |||
RooArgSet& projectedVars, Bool_t silent) const ; | RooArgSet& projectedVars, Bool_t silent) const ; | |||
TString integralNameSuffix(const RooArgSet& iset, const RooArgSet* nset=0 , const char* rangeName=0, Bool_t omitEmpty=kFALSE) const ; | TString integralNameSuffix(const RooArgSet& iset, const RooArgSet* nset=0 , const char* rangeName=0, Bool_t omitEmpty=kFALSE) const ; | |||
skipping to change at line 440 | skipping to change at line 436 | |||
RooFit::MPSplit 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; | |||
// PlotOn with command list | ||||
virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) 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; | |||
private: | private: | |||
static ErrorLoggingMode _evalErrorMode ; | static ErrorLoggingMode _evalErrorMode ; | |||
static std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalErro r> > > _evalErrorList ; | static std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalErro r> > > _evalErrorList ; | |||
static Int_t _evalErrorCount ; | static Int_t _evalErrorCount ; | |||
Bool_t matchArgsByName(const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const; | Bool_t matchArgsByName(const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const; | |||
End of changes. 3 change blocks. | ||||
11 lines changed or deleted | 11 lines changed or added | |||
RooAbsTestStatistic.h | RooAbsTestStatistic.h | |||
---|---|---|---|---|
skipping to change at line 38 | skipping to change at line 38 | |||
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 { | |||
friend class RooRealMPFE; | ||||
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, RooFit::MPSplit interleave=RooFit::BulkP artition, 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, | |||
skipping to change at line 64 | skipping to change at line 65 | |||
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) ; | |||
void enableOffsetting(Bool_t flag) ; | void enableOffsetting(Bool_t flag) ; | |||
Bool_t isOffsetting() const { return _doOffset ; } | Bool_t isOffsetting() const { return _doOffset ; } | |||
virtual Double_t offset() const { return _offset ; } | virtual Double_t offset() const { return _offset ; } | |||
virtual Double_t offsetCarry() const { return _offsetCarry; } | ||||
protected: | protected: | |||
virtual void printCompactTreeHook(std::ostream& os, const char* indent="" ) ; | virtual void printCompactTreeHook(std::ostream& os, const char* indent="" ) ; | |||
virtual Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive) ; | virtual Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive) ; | |||
virtual Double_t evaluate() const ; | virtual Double_t evaluate() const ; | |||
virtual Double_t evaluatePartition(Int_t firstEvent, Int_t lastEvent, Int _t stepSize) const = 0 ; | virtual Double_t evaluatePartition(Int_t firstEvent, Int_t lastEvent, Int _t stepSize) const = 0 ; | |||
virtual Double_t getCarry() const; | ||||
void setMPSet(Int_t setNum, Int_t numSets) ; | void setMPSet(Int_t setNum, Int_t numSets) ; | |||
void setSimCount(Int_t simCount) { | void setSimCount(Int_t simCount) { | |||
// Store total number of components p.d.f. of a RooSimultaneous in this component test statistic | // Store total number of components p.d.f. of a RooSimultaneous in this component test statistic | |||
_simCount = simCount ; | _simCount = simCount ; | |||
} | } | |||
void setEventCount(Int_t nEvents) { | void setEventCount(Int_t nEvents) { | |||
// Store total number of events in this component test statistic | // Store total number of events in this component test statistic | |||
_nEvents = nEvents ; | _nEvents = nEvents ; | |||
skipping to change at line 143 | skipping to change at line 146 | |||
std::vector<RooFit::MPSplit> _gofSplitMode ; //! GOF MP Split mode specif ied by component (when Auto is active) | 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 | |||
RooFit::MPSplit _mpinterl ; // Use interleaving strategy rather th an N-wise 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 | |||
mutable Double_t _offsetCarry; //! avoids loss of precision | mutable Double_t _offsetCarry; //! avoids loss of precision | |||
mutable Double_t _evalCarry; //! carry of Kahan sum in evaluatePartition | ||||
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. 4 change blocks. | ||||
0 lines changed or deleted | 4 lines changed or added | |||
RooBinning.h | RooBinning.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_BINNING | #ifndef ROO_BINNING | |||
#define ROO_BINNING | #define ROO_BINNING | |||
#include "Rtypes.h" | #include "Rtypes.h" | |||
#include "TList.h" | #include "TList.h" | |||
#include "RooDouble.h" | #include "RooDouble.h" | |||
#include "RooAbsBinning.h" | #include "RooAbsBinning.h" | |||
#include "RooNumber.h" | #include "RooNumber.h" | |||
#include <set> | #include <vector> | |||
class RooAbsPdf ; | class RooAbsPdf; | |||
class RooRealVar ; | class RooRealVar; | |||
class RooBinning : public RooAbsBinning { | class RooBinning : public RooAbsBinning { | |||
public: | public: | |||
RooBinning(Double_t xlo=-RooNumber::infinity(), Double_t xhi=RooNumber::i | RooBinning(Double_t xlo = -RooNumber::infinity(), Double_t xhi = RooNumbe | |||
nfinity(), const char* name=0) ; | r::infinity(), const char* name = 0); | |||
RooBinning(Int_t nBins, Double_t xlo, Double_t xhi, const char* name=0) ; | RooBinning(Int_t nBins, Double_t xlo, Double_t xhi, const char* name = 0) | |||
RooBinning(Int_t nBins, const Double_t* boundaries, const char* name=0) ; | ; | |||
RooBinning(const RooBinning& other, const char* name=0) ; | RooBinning(Int_t nBins, const Double_t* boundaries, const char* name = 0) | |||
RooAbsBinning* clone(const char* name=0) const { return new RooBinning(*t | ; | |||
his,name?name:GetName()) ; } | RooBinning(const RooBinning& other, const char* name = 0); | |||
~RooBinning() ; | RooAbsBinning* clone(const char* name = 0) const { return new RooBinning( | |||
*this,name?name:GetName()); } | ||||
~RooBinning(); | ||||
virtual Int_t numBoundaries() const { | virtual Int_t numBoundaries() const { | |||
// Return the number boundaries | // Return the number boundaries | |||
return _nbins+1 ; | return _nbins+1; | |||
} | } | |||
virtual Int_t binNumber(Double_t x) const ; | virtual Int_t binNumber(Double_t x) const; | |||
virtual Int_t rawBinNumber(Double_t x) const ; | virtual Int_t rawBinNumber(Double_t x) const; | |||
virtual Double_t nearestBoundary(Double_t x) const ; | virtual Double_t nearestBoundary(Double_t x) const; | |||
virtual void setRange(Double_t xlo, Double_t xhi) ; | virtual void setRange(Double_t xlo, Double_t xhi); | |||
virtual Double_t lowBound() const { | virtual Double_t lowBound() const { | |||
// Return the lower bound value | // Return the lower bound value | |||
return _xlo ; | return _xlo; | |||
} | } | |||
virtual Double_t highBound() const { | virtual Double_t highBound() const { | |||
// Return the upper bound value | // Return the upper bound value | |||
return _xhi ; | return _xhi; | |||
} | } | |||
virtual Double_t averageBinWidth() const { | virtual Double_t averageBinWidth() const { | |||
// Return the average bin width | // Return the average bin width | |||
return (highBound()-lowBound())/numBins() ; | return (highBound() - lowBound()) / numBins(); | |||
} | } | |||
virtual Double_t* array() const ; | virtual Double_t* array() const; | |||
virtual Double_t binCenter(Int_t bin) const ; | virtual Double_t binCenter(Int_t bin) const; | |||
virtual Double_t binWidth(Int_t bin) const ; | virtual Double_t binWidth(Int_t bin) const; | |||
virtual Double_t binLow(Int_t bin) const ; | virtual Double_t binLow(Int_t bin) const; | |||
virtual Double_t binHigh(Int_t bin) const ; | virtual Double_t binHigh(Int_t bin) const; | |||
Bool_t addBoundary(Double_t boundary) ; | Bool_t addBoundary(Double_t boundary); | |||
void addBoundaryPair(Double_t boundary, Double_t mirrorPoint=0) ; | void addBoundaryPair(Double_t boundary, Double_t mirrorPoint = 0); | |||
void addUniform(Int_t nBins, Double_t xlo, Double_t xhi) ; | void addUniform(Int_t nBins, Double_t xlo, Double_t xhi); | |||
Bool_t removeBoundary(Double_t boundary) ; | Bool_t removeBoundary(Double_t boundary); | |||
Bool_t hasBoundary(Double_t boundary) ; | Bool_t hasBoundary(Double_t boundary); | |||
protected: | protected: | |||
Bool_t binEdges(Int_t bin, Double_t& xlo, Double_t& xhi) const ; | Bool_t binEdges(Int_t bin, Double_t& xlo, Double_t& xhi) const; | |||
void updateBinCount() ; | void updateBinCount(); | |||
Double_t _xlo ; // Lower bound | Double_t _xlo; // Lower bound | |||
Double_t _xhi ; // Upper bound | Double_t _xhi; // Upper bound | |||
Bool_t _ownBoundLo ; // Does the lower bound coincide with a bin boun | Bool_t _ownBoundLo; // Does the lower bound coincide with a bin bound | |||
dary | ary | |||
Bool_t _ownBoundHi ; // Does the upper bound coincide with a bin boun | Bool_t _ownBoundHi; // Does the upper bound coincide with a bin bound | |||
dary | ary | |||
Int_t _nbins ; // Numer of bins | Int_t _nbins; // Numer of bins | |||
std::vector<Double_t> _boundaries; // Boundaries | ||||
mutable Double_t* _array; //! Array of boundaries | ||||
mutable Int_t _blo; //! bin number for _xlo | ||||
std::set<Double_t> _boundaries ; // Boundaries | ClassDef(RooBinning,3) // Generic binning specification | |||
mutable Double_t* _array ; //! Array of boundaries | ||||
ClassDef(RooBinning,2) // Generic binning specification | ||||
}; | }; | |||
#endif | #endif | |||
End of changes. 14 change blocks. | ||||
43 lines changed or deleted | 46 lines changed or added | |||
RooChebychev.h | RooChebychev.h | |||
---|---|---|---|---|
skipping to change at line 45 | skipping to change at line 45 | |||
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, cons t char* rangeName=0) const ; | Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, cons t char* rangeName=0) const ; | |||
Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ; | Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ; | |||
private: | private: | |||
RooRealProxy _x; | RooRealProxy _x; | |||
RooListProxy _coefList ; | RooListProxy _coefList ; | |||
Double_t evaluate() const; | Double_t evaluate() const; | |||
Double_t evalAnaInt(const Double_t x) const; | ||||
ClassDef(RooChebychev,1) // Chebychev polynomial PDF | ClassDef(RooChebychev,1) // Chebychev polynomial PDF | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
RooComplex.h | RooComplex.h | |||
---|---|---|---|---|
skipping to change at line 19 | skipping to change at line 19 | |||
* 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_COMPLEX | #ifndef ROO_COMPLEX | |||
#define ROO_COMPLEX | #define ROO_COMPLEX | |||
#if !defined(ROO_MATH) && !defined(ROO_COMPLEX_CXX) && !defined(__CINT__) & | ||||
& \ | ||||
!defined(R__DICTIONARY_FILENAME) | ||||
#warning "RooComplex is deprecated, use std::complex instead!" | ||||
#endif | ||||
#include <math.h> | #include <math.h> | |||
#include "Rtypes.h" | #include "Rtypes.h" | |||
#include "Riosfwd.h" | #include "Riosfwd.h" | |||
#include <complex> | ||||
// This is a bare-bones complex class adapted from the CINT complex.h heade r, | // This is a bare-bones complex class adapted from the CINT complex.h heade r, | |||
// and introduced to support the complex error function in RooMath. The mai n | // and introduced to support the complex error function in RooMath. The mai n | |||
// changes with respect to the CINT header are to avoid defining global | // changes with respect to the CINT header are to avoid defining global | |||
// functions (at the cost of not supporting implicit casts on the first | // functions (at the cost of not supporting implicit casts on the first | |||
// argument) and adding const declarations where appropriate. | // argument) and adding const declarations where appropriate. | |||
class RooComplex { | class RooComplex { | |||
public: | public: | |||
inline RooComplex(Double_t a=0, Double_t b=0) : _re(a), _im(b) { } | ||||
virtual ~RooComplex() {} ; | inline RooComplex(std::complex<Double_t> c) : _re(c.real()), _im(c.imag() | |||
) { } | ||||
inline RooComplex(Double_t a=0, Double_t b=0) : _re(a), _im(b) { warn(); | ||||
} | ||||
virtual ~RooComplex() { } | ||||
inline RooComplex& operator=(const RooComplex& other) { | inline RooComplex& operator=(const RooComplex& other) { | |||
warn(); | ||||
if (&other==this) return *this ; | if (&other==this) return *this ; | |||
this->_re= other._re; | this->_re= other._re; | |||
this->_im= other._im; | this->_im= other._im; | |||
return(*this); | return(*this); | |||
} | } | |||
// unary operators | // unary operators | |||
inline RooComplex operator-() const { | inline RooComplex operator-() const { | |||
return RooComplex(-_re,-_im); | return RooComplex(-_re,-_im); | |||
} | } | |||
// binary operators | // binary operators | |||
skipping to change at line 96 | skipping to change at line 106 | |||
} | } | |||
inline RooComplex sqrt() const { | inline RooComplex sqrt() const { | |||
Double_t arg=atan2(_im,_re)*0.5; | Double_t arg=atan2(_im,_re)*0.5; | |||
Double_t mag=::sqrt(::sqrt(_re*_re + _im*_im)); | Double_t mag=::sqrt(::sqrt(_re*_re + _im*_im)); | |||
return RooComplex(mag*cos(arg),mag*sin(arg)); | return RooComplex(mag*cos(arg),mag*sin(arg)); | |||
} | } | |||
// ouptput formatting | // ouptput formatting | |||
void Print() const; | void Print() const; | |||
private: | private: | |||
Double_t _re,_im; | Double_t _re,_im; | |||
void warn() const; | ||||
ClassDef(RooComplex,0) // a non-persistent bare-bones complex class | ClassDef(RooComplex,0) // a non-persistent bare-bones complex class | |||
}; | }; | |||
// output formatting | // output formatting | |||
std::ostream& operator<<(std::ostream& os, const RooComplex& z); | std::ostream& operator<<(std::ostream& os, const RooComplex& z); | |||
#endif | #endif | |||
End of changes. 5 change blocks. | ||||
2 lines changed or deleted | 18 lines changed or added | |||
RooGExpModel.h | RooGExpModel.h | |||
---|---|---|---|---|
skipping to change at line 19 | skipping to change at line 19 | |||
* 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_GEXP_MODEL | #ifndef ROO_GEXP_MODEL | |||
#define ROO_GEXP_MODEL | #define ROO_GEXP_MODEL | |||
#include <cmath> | ||||
#include <complex> | ||||
#include "Rtypes.h" | ||||
#include "RooResolutionModel.h" | #include "RooResolutionModel.h" | |||
#include "RooRealProxy.h" | #include "RooRealProxy.h" | |||
#include "RooComplex.h" | ||||
#include "RooMath.h" | #include "RooMath.h" | |||
class RooGExpModel : public RooResolutionModel { | class RooGExpModel : public RooResolutionModel { | |||
public: | public: | |||
enum RooGExpBasis { noBasis=0, expBasisMinus= 1, expBasisSum= 2, expBasis Plus= 3, | enum RooGExpBasis { noBasis=0, expBasisMinus= 1, expBasisSum= 2, expBasis Plus= 3, | |||
sinBasisMinus=11, sinBasisSum=12, sinBasisP lus=13, | sinBasisMinus=11, sinBasisSum=12, sinBasisP lus=13, | |||
cosBasisMinus=21, cosBasisSum=22, cosBasis Plus=23, | cosBasisMinus=21, cosBasisSum=22, cosBasis Plus=23, | |||
sinhBasisMinus=31,sinhBasisSum=32,sinhBasis Plus=33, | sinhBasisMinus=31,sinhBasisSum=32,sinhBasis Plus=33, | |||
coshBasisMinus=41,coshBasisSum=42,coshBasis Plus=43} ; | coshBasisMinus=41,coshBasisSum=42,coshBasis Plus=43} ; | |||
skipping to change at line 77 | skipping to change at line 80 | |||
void advertiseAsymptoticIntegral(Bool_t flag) { _asympInt = flag ; } // added FMV,07/24/03 | void advertiseAsymptoticIntegral(Bool_t flag) { _asympInt = flag ; } // added FMV,07/24/03 | |||
protected: | protected: | |||
Double_t logErfC(Double_t x) const ; | Double_t logErfC(Double_t x) const ; | |||
//Double_t calcDecayConv(Double_t sign, Double_t tau, Double_t sig, Doubl e_t rtau) const ; | //Double_t calcDecayConv(Double_t sign, Double_t tau, Double_t sig, Doubl e_t rtau) const ; | |||
Double_t calcDecayConv(Double_t sign, Double_t tau, Double_t sig, Double_ t rtau, Double_t fsign) const ; | Double_t calcDecayConv(Double_t sign, Double_t tau, Double_t sig, Double_ t rtau, Double_t fsign) const ; | |||
// modified FMV,08/13/03 | // modified FMV,08/13/03 | |||
RooComplex calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_ t omega, Double_t rtau, Double_t fsign) const ; | std::complex<Double_t> calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_t omega, Double_t rtau, Double_t fsign) const ; | |||
Double_t calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_t rtau, Double_t fsign) const ; | Double_t calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_t rtau, Double_t fsign) const ; | |||
RooComplex calcSinConvNorm(Double_t sign, Double_t tau, Double_t omega, | std::complex<Double_t> calcSinConvNorm(Double_t sign, Double_t tau, Doubl e_t omega, | |||
Double_t sig, Double_t rtau, Double_t fsign, co nst char* rangeName) const ; // modified FMV,07/24/03 | Double_t sig, Double_t rtau, Double_t fsign, co nst char* rangeName) const ; // modified FMV,07/24/03 | |||
Double_t calcSinConvNorm(Double_t sign, Double_t tau, | Double_t calcSinConvNorm(Double_t sign, Double_t tau, | |||
Double_t sig, Double_t rtau, Double_t fsign, const char* rangeName) const ; // added FMV,08/18/03 | Double_t sig, Double_t rtau, Double_t fsign, const char* rangeName) const ; // added FMV,08/18/03 | |||
//Double_t calcSinhConv(Double_t sign, Double_t sign1, Double_t sign2, Do uble_t tau, Double_t dgamma, Double_t sig, Double_t rtau, Double_t fsign) c onst ; | //Double_t calcSinhConv(Double_t sign, Double_t sign1, Double_t sign2, Do uble_t tau, Double_t dgamma, Double_t sig, Double_t rtau, Double_t fsign) c onst ; | |||
//Double_t calcCoshConv(Double_t sign, Double_t tau, Double_t dgamma, Dou ble_t sig, Double_t rtau, Double_t fsign) const ; | //Double_t calcCoshConv(Double_t sign, Double_t tau, Double_t dgamma, Dou ble_t sig, Double_t rtau, Double_t fsign) const ; | |||
virtual Double_t evaluate() const ; | virtual Double_t evaluate() const ; | |||
RooComplex evalCerfApprox(Double_t swt, Double_t u, Double_t c) const ; | static std::complex<Double_t> evalCerfApprox(Double_t swt, Double_t u, Do uble_t c); | |||
// Calculate exp(-u^2) cwerf(swt*c + i(u+c)), taking care of numerical in stabilities | // Calculate exp(-u^2) cwerf(swt*c + i(u+c)), taking care of numerical in stabilities | |||
inline RooComplex evalCerf(Double_t swt, Double_t u, Double_t c) const { | static inline std::complex<Double_t> evalCerf(Double_t swt, Double_t u, D | |||
RooComplex z(swt*c,u+c); | ouble_t c) | |||
return (z.im()>-4.0) ? RooMath::FastComplexErrFunc(z)*exp(-u*u) : evalC | { | |||
erfApprox(swt,u,c) ; | std::complex<Double_t> z(swt*c,u+c); | |||
} | return (z.imag()>-4.0) ? RooMath::faddeeva_fast(z)*std::exp(-u*u) : eva | |||
lCerfApprox(swt,u,c) ; | ||||
// Calculate Re(exp(-u^2) cwerf(swt*c + i(u+c))), taking care of numerica | ||||
l instabilities | ||||
inline Double_t evalCerfRe(Double_t swt, Double_t u, Double_t c) const { | ||||
RooComplex z(swt*c,u+c); | ||||
return (z.im()>-4.0) ? RooMath::FastComplexErrFuncRe(z)*exp(-u*u) : eva | ||||
lCerfApprox(swt,u,c).re() ; | ||||
} | ||||
// Calculate Im(exp(-u^2) cwerf(swt*c + i(u+c))), taking care of numerica | ||||
l instabilities | ||||
inline Double_t evalCerfIm(Double_t swt, Double_t u, Double_t c) const { | ||||
RooComplex z(swt*c,u+c); | ||||
return (z.im()>-4.0) ? RooMath::FastComplexErrFuncIm(z)*exp(-u*u) : eva | ||||
lCerfApprox(swt,u,c).im() ; | ||||
} | } | |||
// Calculate Re(exp(-u^2) cwerf(i(u+c))) | // Calculate Re(exp(-u^2) cwerf(i(u+c))) | |||
// added FMV, 08/17/03 | // added FMV, 08/17/03 | |||
inline Double_t evalCerfRe(Double_t u, Double_t c) const { | inline Double_t evalCerfRe(Double_t u, Double_t c) const { | |||
Double_t expArg = u*2*c+c*c ; | Double_t expArg = u*2*c+c*c ; | |||
if (expArg<300) { | if (expArg<300) { | |||
return exp(expArg) * RooMath::erfc(u+c); | return exp(expArg) * RooMath::erfc(u+c); | |||
} else { | } else { | |||
return exp(expArg+logErfC(u+c)); | return exp(expArg+logErfC(u+c)); | |||
} | } | |||
} | } | |||
// Calculate common normalization factors | // Calculate common normalization factors | |||
// added FMV,07/24/03 | // added FMV,07/24/03 | |||
RooComplex evalCerfInt(Double_t sign, Double_t wt, Double_t tau, Double_t umin, Double_t umax, Double_t c) const ; | std::complex<Double_t> evalCerfInt(Double_t sign, Double_t wt, Double_t t au, Double_t umin, Double_t umax, Double_t c) const ; | |||
Double_t evalCerfInt(Double_t sign, Double_t tau, Double_t umin, Double_t umax, Double_t c) const ; | Double_t evalCerfInt(Double_t sign, Double_t tau, Double_t umin, Double_t umax, Double_t c) const ; | |||
RooRealProxy sigma ; | RooRealProxy sigma ; | |||
RooRealProxy rlife ; | RooRealProxy rlife ; | |||
RooRealProxy ssf ; | RooRealProxy ssf ; | |||
RooRealProxy rsf ; | RooRealProxy rsf ; | |||
Bool_t _flip ; | Bool_t _flip ; | |||
Bool_t _nlo ; | Bool_t _nlo ; | |||
Bool_t _flatSFInt ; | Bool_t _flatSFInt ; | |||
Bool_t _asympInt ; // added FMV,07/24/03 | Bool_t _asympInt ; // added FMV,07/24/03 | |||
End of changes. 7 change blocks. | ||||
25 lines changed or deleted | 14 lines changed or added | |||
RooGaussModel.h | RooGaussModel.h | |||
---|---|---|---|---|
skipping to change at line 19 | skipping to change at line 19 | |||
* 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_GAUSS_MODEL | #ifndef ROO_GAUSS_MODEL | |||
#define ROO_GAUSS_MODEL | #define ROO_GAUSS_MODEL | |||
#include <cmath> | ||||
#include <complex> | ||||
#include "RooResolutionModel.h" | #include "RooResolutionModel.h" | |||
#include "RooRealProxy.h" | #include "RooRealProxy.h" | |||
#include "RooComplex.h" | ||||
#include "RooMath.h" | #include "RooMath.h" | |||
class RooGaussModel : public RooResolutionModel { | class RooGaussModel : public RooResolutionModel { | |||
public: | public: | |||
enum RooGaussBasis { noBasis=0, expBasisMinus= 1, expBasisSum= 2, expBasi sPlus= 3, | enum RooGaussBasis { noBasis=0, expBasisMinus= 1, expBasisSum= 2, expBasi sPlus= 3, | |||
sinBasisMinus=11, sinBasisSum=12, sinBasi sPlus=13, | sinBasisMinus=11, sinBasisSum=12, sinBasi sPlus=13, | |||
cosBasisMinus=21, cosBasisSum=22, cosBasi sPlus=23, | cosBasisMinus=21, cosBasisSum=22, cosBasi sPlus=23, | |||
linBasi sPlus=33, | linBasi sPlus=33, | |||
quadBasi sPlus=43, | quadBasi sPlus=43, | |||
skipping to change at line 64 | skipping to change at line 66 | |||
Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const; | Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const; | |||
void generateEvent(Int_t code); | void generateEvent(Int_t code); | |||
void advertiseFlatScaleFactorIntegral(Bool_t flag) { _flatSFInt = flag ; } | void advertiseFlatScaleFactorIntegral(Bool_t flag) { _flatSFInt = flag ; } | |||
void advertiseAymptoticIntegral(Bool_t flag) { _asympInt = flag ; } // a dded FMV,07/24/03 | void advertiseAymptoticIntegral(Bool_t flag) { _asympInt = flag ; } // a dded FMV,07/24/03 | |||
protected: | protected: | |||
virtual Double_t evaluate() const ; | virtual Double_t evaluate() const ; | |||
RooComplex evalCerfApprox(Double_t swt, Double_t u, Double_t c) const ; | static std::complex<Double_t> evalCerfApprox(Double_t swt, Double_t u, Do uble_t c); | |||
// Calculate exp(-u^2) cwerf(swt*c + i(u+c)), taking care of numerical in stabilities | // Calculate exp(-u^2) cwerf(swt*c + i(u+c)), taking care of numerical in stabilities | |||
inline RooComplex evalCerf(Double_t swt, Double_t u, Double_t c) const { | static inline std::complex<Double_t> evalCerf(Double_t swt, Double_t u, D | |||
RooComplex z(swt*c,u+c); | ouble_t c) | |||
return (z.im()>-4.0) ? RooMath::FastComplexErrFunc(z)*exp(-u*u) : evalC | { | |||
erfApprox(swt,u,c) ; | std::complex<Double_t> z(swt*c,u+c); | |||
} | return (z.imag()>-4.0) ? (std::exp(-u*u)*RooMath::faddeeva_fast(z)) : e | |||
valCerfApprox(swt,u,c); | ||||
// Calculate Re(exp(-u^2) cwerf(swt*c + i(u+c))), taking care of numerica | ||||
l instabilities | ||||
inline Double_t evalCerfRe(Double_t swt, Double_t u, Double_t c) const { | ||||
RooComplex z(swt*c,u+c); | ||||
return (z.im()>-4.0) ? RooMath::FastComplexErrFuncRe(z)*exp(-u*u) : eva | ||||
lCerfApprox(swt,u,c).re() ; | ||||
} | ||||
// Calculate Im(exp(-u^2) cwerf(swt*c + i(u+c))), taking care of numerica | ||||
l instabilities | ||||
inline Double_t evalCerfIm(Double_t swt, Double_t u, Double_t c) const { | ||||
RooComplex z(swt*c,u+c); | ||||
return (z.im()>-4.0) ? RooMath::FastComplexErrFuncIm(z)*exp(-u*u) : eva | ||||
lCerfApprox(swt,u,c).im() ; | ||||
} | } | |||
// Calculate common normalization factors | // Calculate common normalization factors | |||
RooComplex evalCerfInt(Double_t sign, Double_t wt, Double_t tau, Double_t umin, Double_t umax, Double_t c) const ; | std::complex<Double_t> evalCerfInt(Double_t sign, Double_t wt, Double_t t au, Double_t umin, Double_t umax, Double_t c) const; | |||
Bool_t _flatSFInt ; | Bool_t _flatSFInt ; | |||
Bool_t _asympInt ; // added FMV,07/24/03 | Bool_t _asympInt ; // added FMV,07/24/03 | |||
RooRealProxy mean ; | RooRealProxy mean ; | |||
RooRealProxy sigma ; | RooRealProxy sigma ; | |||
RooRealProxy msf ; | RooRealProxy msf ; | |||
RooRealProxy ssf ; | RooRealProxy ssf ; | |||
End of changes. 5 change blocks. | ||||
23 lines changed or deleted | 11 lines changed or added | |||
RooKeysPdf.h | RooKeysPdf.h | |||
---|---|---|---|---|
skipping to change at line 39 | skipping to change at line 39 | |||
MirrorAsymRight, MirrorLeftAsymRight, | MirrorAsymRight, MirrorLeftAsymRight, | |||
MirrorAsymBoth }; | MirrorAsymBoth }; | |||
RooKeysPdf() ; | RooKeysPdf() ; | |||
RooKeysPdf(const char *name, const char *title, | RooKeysPdf(const char *name, const char *title, | |||
RooAbsReal& x, RooDataSet& data, Mirror mirror= NoMirror, | RooAbsReal& x, RooDataSet& data, Mirror mirror= NoMirror, | |||
Double_t rho=1); | Double_t rho=1); | |||
RooKeysPdf(const RooKeysPdf& other, const char* name=0); | RooKeysPdf(const RooKeysPdf& other, const char* name=0); | |||
virtual TObject* clone(const char* newname) const {return new RooKeysPdf( *this,newname); } | virtual TObject* clone(const char* newname) const {return new RooKeysPdf( *this,newname); } | |||
virtual ~RooKeysPdf(); | virtual ~RooKeysPdf(); | |||
virtual Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVa | ||||
rs, | ||||
const char* rangeName = 0) const; | ||||
virtual Double_t analyticalIntegral(Int_t code, const char* rangeName = 0 | ||||
) const; | ||||
virtual Int_t getMaxVal(const RooArgSet& vars) const; | ||||
virtual Double_t maxVal(Int_t code) const; | ||||
void LoadDataSet( RooDataSet& data); | void LoadDataSet( RooDataSet& data); | |||
protected: | protected: | |||
RooRealProxy _x ; | RooRealProxy _x ; | |||
Double_t evaluate() const; | Double_t evaluate() const; | |||
private: | private: | |||
Double_t evaluateFull(Double_t x) const; | Double_t evaluateFull(Double_t x) const; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 8 lines changed or added | |||
RooMath.h | RooMath.h | |||
---|---|---|---|---|
skipping to change at line 22 | skipping to change at line 22 | |||
* 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_MATH | #ifndef ROO_MATH | |||
#define ROO_MATH | #define ROO_MATH | |||
#include <cmath> | #include <cmath> | |||
#include <complex> | #include <complex> | |||
#include "Rtypes.h" | ||||
#include "TMath.h" | ||||
#include "RooComplex.h" | #include "RooComplex.h" | |||
#include <fstream> | #if defined(__my_func__) | |||
#undef __my_func__ | ||||
#endif | ||||
#if defined(WIN32) | ||||
#define __my_func__ __FUNCTION__ | ||||
#else | ||||
#define __my_func__ __func__ | ||||
#endif | ||||
typedef RooComplex* pRooComplex ; | typedef Double_t* pDouble_t; | |||
typedef Double_t* pDouble_t ; | ||||
class RooMath { | class RooMath { | |||
public: | public: | |||
virtual ~RooMath() {} ; | virtual ~RooMath() {}; | |||
/** @brief evaluate Faddeeva function for complex argument | /** @brief evaluate Faddeeva function for complex argument | |||
* | * | |||
* @author Manuel Schiller <manuel.schiller@nikhef.nl> | * @author Manuel Schiller <manuel.schiller@nikhef.nl> | |||
* @date 2013-02-21 | * @date 2013-02-21 | |||
* | * | |||
* Calculate the value of the Faddeeva function @f$w(z) = \exp(-z^2) | * Calculate the value of the Faddeeva function @f$w(z) = \exp(-z^2) | |||
* \mathrm{erfc}(-i z)@f$. | * \mathrm{erfc}(-i z)@f$. | |||
* | * | |||
* The method described in | * The method described in | |||
skipping to change at line 89 | skipping to change at line 97 | |||
* points, Taylor expansions are used to overcome that difficulty. | * points, Taylor expansions are used to overcome that difficulty. | |||
* | * | |||
* This routine precomputes everything it can, and tries to write out com plex | * This routine precomputes everything it can, and tries to write out com plex | |||
* operations to minimise subroutine calls, e.g. for the multiplication o f | * operations to minimise subroutine calls, e.g. for the multiplication o f | |||
* complex numbers. | * complex numbers. | |||
* | * | |||
* In the square -8 <= Re(z) <= 8, -8 <= Im(z) <= 8, the routine is accur ate | * In the square -8 <= Re(z) <= 8, -8 <= Im(z) <= 8, the routine is accur ate | |||
* to better than 4e-13 relative, the average relative error is better th an | * to better than 4e-13 relative, the average relative error is better th an | |||
* 7e-16. On a modern x86_64 machine, the routine is roughly three times as | * 7e-16. On a modern x86_64 machine, the routine is roughly three times as | |||
* fast than the old CERNLIB implementation and offers better accuracy. | * fast than the old CERNLIB implementation and offers better accuracy. | |||
* | ||||
* For large @f$|z|@f$, the familiar continued fraction approximation | ||||
* | ||||
* @f[ w(z)=\frac{-iz/\sqrt{\pi}}{-z^2+\frac{1/2}{1+\frac{2/2}{-z^2 + | ||||
* \frac{3/2}{1+\frac{4/2}{-z^2+\frac{5/2}{1+\frac{6/2}{-z^2+\frac{7/2 | ||||
* }{1+\frac{8/2}{-z^2+\frac{9/2}{1+\ldots}}}}}}}}}} @f] | ||||
* | ||||
* is used, truncated at the ellipsis ("...") in the formula; for @f$|z| | ||||
> | ||||
* 12@f$, @f$Im(z)>0@f$ it will give full double precision at a smaller | ||||
* computational cost than the method described above. (For @f$|z|>12@f$, | ||||
* @f$Im(z)<0@f$, the symmetry property @f$w(x-iy)=2e^{-(x+iy)^2-w(x+iy)} | ||||
@f$ | ||||
* is used. | ||||
*/ | */ | |||
static std::complex<double> faddeeva(std::complex<double> z); | static std::complex<double> faddeeva(std::complex<double> z); | |||
/** @brief evaluate Faddeeva function for complex argument (fast version) | /** @brief evaluate Faddeeva function for complex argument (fast version) | |||
* | * | |||
* @author Manuel Schiller <manuel.schiller@nikhef.nl> | * @author Manuel Schiller <manuel.schiller@nikhef.nl> | |||
* @date 2013-02-21 | * @date 2013-02-21 | |||
* | * | |||
* Calculate the value of the Faddeeva function @f$w(z) = \exp(-z^2) | * Calculate the value of the Faddeeva function @f$w(z) = \exp(-z^2) | |||
* \mathrm{erfc}(-i z)@f$. | * \mathrm{erfc}(-i z)@f$. | |||
* | * | |||
skipping to change at line 113 | skipping to change at line 133 | |||
* To be fast, chose @f$t_m=8@f$ and @f$N=11@f$ which should give accurac ies | * To be fast, chose @f$t_m=8@f$ and @f$N=11@f$ which should give accurac ies | |||
* around 1e-7. | * around 1e-7. | |||
* | * | |||
* In the square -8 <= Re(z) <= 8, -8 <= Im(z) <= 8, the routine is accur ate | * In the square -8 <= Re(z) <= 8, -8 <= Im(z) <= 8, the routine is accur ate | |||
* to better than 4e-7 relative, the average relative error is better tha n | * to better than 4e-7 relative, the average relative error is better tha n | |||
* 5e-9. On a modern x86_64 machine, the routine is roughly five times as | * 5e-9. On a modern x86_64 machine, the routine is roughly five times as | |||
* fast than the old CERNLIB implementation, or about 30% faster than the | * fast than the old CERNLIB implementation, or about 30% faster than the | |||
* interpolation/lookup table based fast method used previously in RooFit , | * interpolation/lookup table based fast method used previously in RooFit , | |||
* and offers better accuracy than the latter (the relative error is roug hly | * and offers better accuracy than the latter (the relative error is roug hly | |||
* a factor 280 smaller than the old interpolation/table lookup routine). | * a factor 280 smaller than the old interpolation/table lookup routine). | |||
* | ||||
* For large @f$|z|@f$, the familiar continued fraction approximation | ||||
* | ||||
* @f[ w(z)=\frac{-iz/\sqrt{\pi}}{-z^2+\frac{1/2}{1+\frac{2/2}{-z^2 + | ||||
* \frac{3/2}{1+\ldots}}}} @f] | ||||
* | ||||
* is used, truncated at the ellipsis ("...") in the formula; for @f$|z| | ||||
> | ||||
* 8@f$, @f$Im(z)>0@f$ it will give full float precision at a smaller | ||||
* computational cost than the method described above. (For @f$|z|>8@f$, | ||||
* @f$Im(z)<0@f$, the symmetry property @f$w(x-iy)=2e^{-(x+iy)^2-w(x+iy)} | ||||
@f$ | ||||
* is used. | ||||
*/ | */ | |||
static std::complex<double> faddeeva_fast(std::complex<double> z); | static std::complex<double> faddeeva_fast(std::complex<double> z); | |||
/** @brief complex erf function | /** @brief complex erf function | |||
* | * | |||
* @author Manuel Schiller <manuel.schiller@nikhef.nl> | * @author Manuel Schiller <manuel.schiller@nikhef.nl> | |||
* @date 2013-02-21 | * @date 2013-02-21 | |||
* | * | |||
* Calculate erf(z) for complex z. | * Calculate erf(z) for complex z. | |||
*/ | */ | |||
skipping to change at line 150 | skipping to change at line 181 | |||
static std::complex<double> erfc(const std::complex<double> z); | static std::complex<double> erfc(const std::complex<double> z); | |||
/** @brief complex erfc function (fast version) | /** @brief complex erfc function (fast version) | |||
* | * | |||
* @author Manuel Schiller <manuel.schiller@nikhef.nl> | * @author Manuel Schiller <manuel.schiller@nikhef.nl> | |||
* @date 2013-02-21 | * @date 2013-02-21 | |||
* | * | |||
* Calculate erfc(z) for complex z. Use the code in faddeeva_fast to save some time. | * Calculate erfc(z) for complex z. Use the code in faddeeva_fast to save some time. | |||
*/ | */ | |||
static std::complex<double> erfc_fast(const std::complex<double> z); | static std::complex<double> erfc_fast(const std::complex<double> z); | |||
// CERNLIB complex error function | ||||
static RooComplex ComplexErrFunc(Double_t re, Double_t im= 0); | ||||
static RooComplex ComplexErrFunc(const RooComplex& z); | ||||
// Interpolated CERF with automatic interpolation order selection | ||||
static RooComplex FastComplexErrFunc(const RooComplex& z) ; | ||||
// Interpolated Re(CERF) with automatic interpolation order selection | ||||
static Double_t FastComplexErrFuncRe(const RooComplex& z) ; | ||||
// Interpolated Im(CERF) with automatic interpolation order selection | ||||
static Double_t FastComplexErrFuncIm(const RooComplex& z) ; | ||||
// Interpolated complex error function at specified interpolation order | ||||
static RooComplex ITPComplexErrFunc(const RooComplex& z, Int_t nOrder) ; | ||||
static Double_t ITPComplexErrFuncRe(const RooComplex& z, Int_t nOrder) ; | ||||
static Double_t ITPComplexErrFuncIm(const RooComplex& z, Int_t nOrder) ; | ||||
// Switch to use file cache for CERF lookup table | ||||
static void cacheCERF(Bool_t flag=kTRUE) ; | ||||
// 1-D nth order polynomial interpolation routines | // 1-D nth order polynomial interpolation routines | |||
static Double_t interpolate(Double_t yArr[],Int_t nOrder, Double_t x) ; | static Double_t interpolate(Double_t yArr[],Int_t nOrder, Double_t x) ; | |||
static Double_t interpolate(Double_t xa[], Double_t ya[], Int_t n, Double _t x) ; | static Double_t interpolate(Double_t xa[], Double_t ya[], Int_t n, Double _t x) ; | |||
static Double_t erf(Double_t x) ; | static inline Double_t erf(Double_t x) | |||
static Double_t erfc(Double_t x) ; | { return TMath::Erf(x); } | |||
static void cleanup() ; | static inline Double_t erfc(Double_t x) | |||
{ return TMath::Erfc(x); } | ||||
// Allocate and initialize CERF lookup grid | /// deprecated function | |||
static void initFastCERF(Int_t reBins= 800, Double_t reMin=-4.0, Double_t | static RooComplex ComplexErrFunc(Double_t re, Double_t im = 0.) | |||
reMax=4.0, | { warn(__my_func__, "RooMath::faddeeva"); std::complex<Double_t> z = fadd | |||
Int_t imBins=1000, Double_t imMin=-4.0, Double_t | eeva(std::complex<Double_t>(re, im)); return RooComplex(z.real(), z.imag()) | |||
imMax=6.0) ; | ; } | |||
/// deprecated function | ||||
static RooComplex ComplexErrFunc(const RooComplex& zz) | ||||
{ warn(__my_func__, "RooMath::faddeeva"); std::complex<Double_t> z = fadd | ||||
eeva(std::complex<Double_t>(zz.re(), zz.im())); return RooComplex(z.real(), | ||||
z.imag()); } | ||||
/// deprecated function | ||||
static RooComplex ComplexErrFuncFast(const RooComplex& zz) | ||||
{ warn(__my_func__, "RooMath::faddeeva_fast"); std::complex<Double_t> z = | ||||
faddeeva_fast(std::complex<Double_t>(zz.re(), zz.im())); return RooComplex | ||||
(z.real(), z.imag()); } | ||||
/// deprecated function | ||||
static Double_t ComplexErrFuncFastRe(const RooComplex& zz) | ||||
{ warn(__my_func__, "RooMath::faddeeva_fast"); std::complex<Double_t> z = | ||||
faddeeva_fast(std::complex<Double_t>(zz.re(), zz.im())); return z.real(); | ||||
} | ||||
/// deprecated function | ||||
static Double_t ComplexErrFuncFastIm(const RooComplex& zz) | ||||
{ warn(__my_func__, "RooMath::faddeeva_fast"); std::complex<Double_t> z = | ||||
faddeeva_fast(std::complex<Double_t>(zz.re(), zz.im())); return z.imag(); | ||||
} | ||||
/// deprecated function | ||||
static RooComplex ITPComplexErrFuncFast(const RooComplex& zz, Int_t) | ||||
{ warn(__my_func__, "RooMath::faddeeva_fast"); std::complex<Double_t> z = | ||||
faddeeva_fast(std::complex<Double_t>(zz.re(), zz.im())); return RooComplex | ||||
(z.real(), z.imag()); } | ||||
/// deprecated function | ||||
static Double_t ITPComplexErrFuncFastRe(const RooComplex& zz, Int_t) | ||||
{ warn(__my_func__, "RooMath::faddeeva_fast"); std::complex<Double_t> z = | ||||
faddeeva_fast(std::complex<Double_t>(zz.re(), zz.im())); return z.real(); | ||||
} | ||||
/// deprecated function | ||||
static Double_t ITPComplexErrFuncFastIm(const RooComplex& zz, Int_t) | ||||
{ warn(__my_func__, "RooMath::faddeeva_fast"); std::complex<Double_t> z = | ||||
faddeeva_fast(std::complex<Double_t>(zz.re(), zz.im())); return z.imag(); | ||||
} | ||||
/// deprecated function | ||||
static void cacheCERF(Bool_t) { warn(__my_func__); } | ||||
/// deprecated function | ||||
static void cleanup() { warn(__my_func__); } | ||||
/// deprecated function | ||||
static void initFastCERF(Int_t /*reBins = 800*/, Double_t /*reMin = -4.0 | ||||
*/, Double_t /*reMax = 4.0*/, | ||||
Int_t /*imBins = 1000*/, Double_t /*imMin = -4.0* | ||||
/, Double_t /*imMax = 6.0*/) | ||||
{ | ||||
warn(__my_func__); | ||||
} | ||||
private: | private: | |||
// deprecation warnings | ||||
static void warn(const char* oldfun, const char* newfun = 0); | ||||
ClassDef(RooMath,0) // math utility routines | ClassDef(RooMath,0) // math utility routines | |||
}; | }; | |||
#undef __my_func__ | ||||
#endif | #endif | |||
End of changes. 12 change blocks. | ||||
33 lines changed or deleted | 99 lines changed or added | |||
RooMinimizer.h | RooMinimizer.h | |||
---|---|---|---|---|
skipping to change at line 49 | skipping to change at line 49 | |||
RooMinimizer(RooAbsReal& function) ; | RooMinimizer(RooAbsReal& function) ; | |||
virtual ~RooMinimizer() ; | virtual ~RooMinimizer() ; | |||
enum Strategy { Speed=0, Balance=1, Robustness=2 } ; | enum Strategy { Speed=0, Balance=1, Robustness=2 } ; | |||
enum PrintLevel { None=-1, Reduced=0, Normal=1, ExtraForProblem=2, Maximu m=3 } ; | enum PrintLevel { None=-1, Reduced=0, Normal=1, ExtraForProblem=2, Maximu m=3 } ; | |||
void setStrategy(Int_t strat) ; | void setStrategy(Int_t strat) ; | |||
void setErrorLevel(Double_t level) ; | void setErrorLevel(Double_t level) ; | |||
void setEps(Double_t eps) ; | void setEps(Double_t eps) ; | |||
void optimizeConst(Int_t flag) ; | void optimizeConst(Int_t flag) ; | |||
void setEvalErrorWall(Bool_t flag) { _fcn->SetEvalErrorWall(flag); } | void setEvalErrorWall(Bool_t flag) { fitterFcn()->SetEvalErrorWall(flag); } | |||
void setOffsetting(Bool_t flag) ; | void setOffsetting(Bool_t flag) ; | |||
void setMaxIterations(Int_t n) ; | ||||
void setMaxFunctionCalls(Int_t n) ; | ||||
RooFitResult* fit(const char* options) ; | RooFitResult* fit(const char* options) ; | |||
Int_t migrad() ; | Int_t migrad() ; | |||
Int_t hesse() ; | Int_t hesse() ; | |||
Int_t minos() ; | Int_t minos() ; | |||
Int_t minos(const RooArgSet& minosParamList) ; | Int_t minos(const RooArgSet& minosParamList) ; | |||
Int_t seek() ; | Int_t seek() ; | |||
Int_t simplex() ; | Int_t simplex() ; | |||
Int_t improve() ; | Int_t improve() ; | |||
Int_t minimize(const char* type, const char* alg=0) ; | Int_t minimize(const char* type, const char* alg=0) ; | |||
RooFitResult* save(const char* name=0, const char* title=0) ; | RooFitResult* save(const char* name=0, const char* title=0) ; | |||
RooPlot* contour(RooRealVar& var1, RooRealVar& var2, | RooPlot* contour(RooRealVar& var1, RooRealVar& var2, | |||
Double_t n1=1, Double_t n2=2, Double_t n3=0, | Double_t n1=1, Double_t n2=2, Double_t n3=0, | |||
Double_t n4=0, Double_t n5=0, Double_t n6=0) ; | Double_t n4=0, Double_t n5=0, Double_t n6=0) ; | |||
Int_t setPrintLevel(Int_t newLevel) ; | Int_t setPrintLevel(Int_t newLevel) ; | |||
void setPrintEvalErrors(Int_t numEvalErrors) { _fcn->SetPrintEvalErrors(n | void setPrintEvalErrors(Int_t numEvalErrors) { fitterFcn()->SetPrintEvalE | |||
umEvalErrors); } | rrors(numEvalErrors); } | |||
void setVerbose(Bool_t flag=kTRUE) { _verbose = flag ; _fcn->SetVerbose(f | void setVerbose(Bool_t flag=kTRUE) { _verbose = flag ; fitterFcn()->SetVe | |||
lag); } | rbose(flag); } | |||
void setProfile(Bool_t flag=kTRUE) { _profile = flag ; } | void setProfile(Bool_t flag=kTRUE) { _profile = flag ; } | |||
Bool_t setLogFile(const char* logf=0) { return _fcn->SetLogFile(logf); } | Bool_t setLogFile(const char* logf=0) { return fitterFcn()->SetLogFile(lo gf); } | |||
void setMinimizerType(const char* type) ; | void setMinimizerType(const char* type) ; | |||
static void cleanup() ; | static void cleanup() ; | |||
static RooFitResult* lastMinuitFit(const RooArgList& varList=RooArgList() ) ; | static RooFitResult* lastMinuitFit(const RooArgList& varList=RooArgList() ) ; | |||
void saveStatus(const char* label, Int_t status) { _statusHistory.push_ba ck(std::pair<std::string,int>(label,status)) ; } | void saveStatus(const char* label, Int_t status) { _statusHistory.push_ba ck(std::pair<std::string,int>(label,status)) ; } | |||
Int_t evalCounter() const { return _fcn->evalCounter() ; } | Int_t evalCounter() const { return fitterFcn()->evalCounter() ; } | |||
void zeroEvalCount() { _fcn->zeroEvalCount() ; } | void zeroEvalCount() { fitterFcn()->zeroEvalCount() ; } | |||
ROOT::Fit::Fitter* fitter() ; | ||||
const ROOT::Fit::Fitter* fitter() const ; | ||||
protected: | protected: | |||
friend class RooAbsPdf ; | friend class RooAbsPdf ; | |||
void applyCovarianceMatrix(TMatrixDSym& V) ; | void applyCovarianceMatrix(TMatrixDSym& V) ; | |||
void profileStart() ; | void profileStart() ; | |||
void profileStop() ; | void profileStop() ; | |||
inline Int_t getNPar() const { return _fcn->NDim() ; } | inline Int_t getNPar() const { return fitterFcn()->NDim() ; } | |||
inline std::ofstream* logfile() const { return _fcn->GetLogFile(); } | inline std::ofstream* logfile() { return fitterFcn()->GetLogFile(); } | |||
inline Double_t& maxFCN() { return _fcn->GetMaxFCN() ; } | inline Double_t& maxFCN() { return fitterFcn()->GetMaxFCN() ; } | |||
const RooMinimizerFcn* fitterFcn() const { return ( fitter()->GetFCN() ? | ||||
((RooMinimizerFcn*) fitter()->GetFCN()) : _fcn ) ; } | ||||
RooMinimizerFcn* fitterFcn() { return ( fitter()->GetFCN() ? ((RooMinimiz | ||||
erFcn*) fitter()->GetFCN()) : _fcn ) ; } | ||||
private: | private: | |||
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 ; | |||
End of changes. 6 change blocks. | ||||
11 lines changed or deleted | 21 lines changed or added | |||
RooNLLVar.h | RooNLLVar.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
protected: | protected: | |||
virtual Bool_t processEmptyDataSets() const { return _extended ; } | virtual Bool_t processEmptyDataSets() const { return _extended ; } | |||
static RooArgSet _emptySet ; // Supports named argument constructor | static RooArgSet _emptySet ; // Supports named argument constructor | |||
Bool_t _extended ; | Bool_t _extended ; | |||
virtual Double_t evaluatePartition(Int_t firstEvent, Int_t lastEvent, Int _t stepSize) const ; | virtual Double_t evaluatePartition(Int_t firstEvent, Int_t lastEvent, Int _t stepSize) const ; | |||
Bool_t _weightSq ; // Apply weights squared? | Bool_t _weightSq ; // Apply weights squared? | |||
mutable Bool_t _first ; //! | mutable Bool_t _first ; //! | |||
Double_t _offsetSaveW2; //! | ||||
Double_t _offsetCarrySaveW2; //! | ||||
ClassDef(RooNLLVar,1) // Function representing (extended) -log(L) of p.d. f and dataset | ClassDef(RooNLLVar,2) // Function representing (extended) -log(L) of p.d. f and dataset | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 3 lines changed or added | |||
RooRealMPFE.h | RooRealMPFE.h | |||
---|---|---|---|---|
skipping to change at line 28 | skipping to change at line 28 | |||
#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 "TStopwatch.h" | |||
#include <vector> | #include <vector> | |||
class RooArgSet ; | class RooArgSet ; | |||
namespace RooFit { class BidirMMapPipe; } | ||||
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(); | |||
void calculate() const ; | void calculate() const ; | |||
skipping to change at line 55 | skipping to change at line 56 | |||
void enableOffsetting(Bool_t flag) ; | void enableOffsetting(Bool_t flag) ; | |||
void followAsSlave(RooRealMPFE& master) { _updateMaster = &master ; } | 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) ; | |||
virtual Double_t getCarry() const; | ||||
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 | enum Message { SendReal=0, SendCat, Calculate, Retrieve, ReturnValue, Ter | |||
e=4, Terminate=5, | minate, | |||
ConstOpt=6, Verbose=7, RetrieveErrors=8, SendError=9, LogEv | ConstOpt, Verbose, LogEvalError, ApplyNLLW2, EnableOffset, | |||
alError=10, ApplyNLLW2=11, EnableOffset=12, CalculateNoOffset=13 } ; | CalculateNoOffset } ; | |||
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 _pipeToClient[2] ; // Pipe to client process | RooFit::BidirMMapPipe *_pipe; //! connection to child | |||
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> _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 | mutable std::vector<Bool_t> _constChanged ; //! Flags if variable needs u pdate on server-side | |||
RooRealMPFE* _updateMaster ; //! Update master | RooRealMPFE* _updateMaster ; //! Update master | |||
mutable Bool_t _retrieveDispatched ; //! | mutable Bool_t _retrieveDispatched ; //! | |||
mutable Double_t _evalCarry; //! | ||||
static RooMPSentinel _sentinel ; | static RooMPSentinel _sentinel ; | |||
ClassDef(RooRealMPFE,1) // Multi-process front-end for parallel calculati on of a real valued function | ClassDef(RooRealMPFE,2) // Multi-process front-end for parallel calculati on of a real valued function | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 7 change blocks. | ||||
8 lines changed or deleted | 9 lines changed or added | |||
RooSimultaneous.h | RooSimultaneous.h | |||
---|---|---|---|---|
skipping to change at line 71 | skipping to change at line 71 | |||
using RooAbsPdf::plotOn ; | using RooAbsPdf::plotOn ; | |||
virtual RooPlot* plotOn(RooPlot* frame, | virtual RooPlot* plotOn(RooPlot* frame, | |||
const RooCmdArg& arg1 , const RooCmdArg & arg2=RooCmdArg(), | const RooCmdArg& arg1 , const RooCmdArg & arg2=RooCmdArg(), | |||
const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg & arg4=RooCmdArg(), | const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg & arg4=RooCmdArg(), | |||
const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg & arg6=RooCmdArg(), | const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg & arg6=RooCmdArg(), | |||
const RooCmdArg& arg7=RooCmdArg(), const RooCmdArg & arg8=RooCmdArg(), | const RooCmdArg& arg7=RooCmdArg(), const RooCmdArg & arg8=RooCmdArg(), | |||
const RooCmdArg& arg9=RooCmdArg(), const RooCmdArg & arg10=RooCmdArg()) const { | const RooCmdArg& arg9=RooCmdArg(), const RooCmdArg & arg10=RooCmdArg()) const { | |||
return RooAbsReal::plotOn(frame,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8 ,arg9,arg10) ; | return RooAbsReal::plotOn(frame,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8 ,arg9,arg10) ; | |||
} | } | |||
virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) const ; | ||||
// Backward compatibility function | // Backward compatibility function | |||
virtual RooPlot *plotOn(RooPlot *frame, Option_t* drawOptions, Double_t s caleFactor=1.0, | virtual RooPlot *plotOn(RooPlot *frame, Option_t* drawOptions, Double_t s caleFactor=1.0, | |||
ScaleType stype=Relative, const RooAbsData* projDa ta=0, const RooArgSet* projSet=0, | ScaleType stype=Relative, const RooAbsData* projDa ta=0, const RooArgSet* projSet=0, | |||
Double_t precision=1e-3, Bool_t shiftToZero=kFALSE , const RooArgSet* projDataSet=0, | Double_t precision=1e-3, Bool_t shiftToZero=kFALSE , const RooArgSet* projDataSet=0, | |||
Double_t rangeLo=0, Double_t rangeHi=0, RooCurve:: WingMode wmode=RooCurve::Extended) const; | Double_t rangeLo=0, Double_t rangeHi=0, RooCurve:: WingMode wmode=RooCurve::Extended) const; | |||
RooAbsPdf* getPdf(const char* catName) const ; | RooAbsPdf* getPdf(const char* catName) const ; | |||
const RooAbsCategoryLValue& indexCat() const { return (RooAbsCategoryLVal ue&) _indexCat.arg() ; } | const RooAbsCategoryLValue& indexCat() const { return (RooAbsCategoryLVal ue&) _indexCat.arg() ; } | |||
virtual RooDataSet* generateSimGlobal(const RooArgSet& whatVars, Int_t nE vents) ; | virtual RooDataSet* generateSimGlobal(const RooArgSet& whatVars, Int_t nE vents) ; | |||
virtual RooDataHist* fillDataHist(RooDataHist *hist, const RooArgSet* nse t, Double_t scaleFactor, | virtual RooDataHist* fillDataHist(RooDataHist *hist, const RooArgSet* nse t, Double_t scaleFactor, | |||
Bool_t correctForBinVolume=kFALSE, Bool_ t showProgress=kFALSE) const ; | Bool_t correctForBinVolume=kFALSE, Bool_ t showProgress=kFALSE) const ; | |||
protected: | protected: | |||
void initialize(RooAbsCategoryLValue& inIndexCat, std::map<std::string,Ro oAbsPdf*> pdfMap) ; | void initialize(RooAbsCategoryLValue& inIndexCat, std::map<std::string,Ro oAbsPdf*> pdfMap) ; | |||
virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) const ; | ||||
virtual void selectNormalization(const RooArgSet* depSet=0, Bool_t force= kFALSE) ; | virtual void selectNormalization(const RooArgSet* depSet=0, Bool_t force= kFALSE) ; | |||
virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for ce=kFALSE) ; | virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for ce=kFALSE) ; | |||
mutable RooSetProxy _plotCoefNormSet ; | mutable RooSetProxy _plotCoefNormSet ; | |||
const TNamed* _plotCoefNormRange ; | const TNamed* _plotCoefNormRange ; | |||
class CacheElem : public RooAbsCacheElement { | class CacheElem : public RooAbsCacheElement { | |||
public: | public: | |||
virtual ~CacheElem() {} ; | virtual ~CacheElem() {} ; | |||
RooArgList containedArgs(Action) { return RooArgList(_partIntList) ; } | RooArgList containedArgs(Action) { return RooArgList(_partIntList) ; } | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
Sample.h | Sample.h | |||
---|---|---|---|---|
skipping to change at line 20 | skipping to change at line 20 | |||
#ifndef HISTFACTORY_SAMPLE_H | #ifndef HISTFACTORY_SAMPLE_H | |||
#define HISTFACTORY_SAMPLE_H | #define HISTFACTORY_SAMPLE_H | |||
#include <string> | #include <string> | |||
#include <fstream> | #include <fstream> | |||
#include <vector> | #include <vector> | |||
#include <iostream> | #include <iostream> | |||
#include "TRef.h" | #include "TRef.h" | |||
class TH1; | ||||
#include "RooStats/HistFactory/Systematics.h" | #include "RooStats/HistFactory/Systematics.h" | |||
namespace RooStats{ | namespace RooStats{ | |||
namespace HistFactory { | namespace HistFactory { | |||
class Sample { | class Sample { | |||
public: | public: | |||
Sample(); | Sample(); | |||
Sample(std::string Name); | Sample(std::string Name); | |||
Sample(std::string Name, std::string HistoName, std::string InputFile, st d::string HistoPath=""); | Sample(std::string Name, std::string HistoName, std::string InputFile, st d::string HistoPath=""); | |||
~Sample(); | ||||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void PrintXML( std::ofstream& xml ); | void PrintXML( std::ofstream& xml ); | |||
void writeToFile( std::string FileName, std::string DirName ); | void writeToFile( std::string FileName, std::string DirName ); | |||
TH1* GetHisto(); | TH1* GetHisto(); | |||
// set histogram for this sample | ||||
void SetHisto( TH1* histo ) { fhNominal = histo; fHistoName=histo->GetNam e(); } | void SetHisto( TH1* histo ) { fhNominal = histo; fHistoName=histo->GetNam e(); } | |||
void SetValue( Double_t Val ); | void SetValue( Double_t Val ); | |||
// Some helper functions | // Some helper functions | |||
void ActivateStatError(); | void ActivateStatError(); | |||
void ActivateStatError( std::string HistoName, std::string InputFile, std ::string HistoPath="" ); | void ActivateStatError( std::string HistoName, std::string InputFile, std ::string HistoPath="" ); | |||
void AddOverallSys( std::string Name, Double_t Low, Double_t High ); | void AddOverallSys( std::string Name, Double_t Low, Double_t High ); | |||
void AddOverallSys( const OverallSys& Sys ); | void AddOverallSys( const OverallSys& Sys ); | |||
skipping to change at line 66 | skipping to change at line 69 | |||
void AddHistoFactor( std::string Name, std::string HistoNameLow, std::st ring HistoFileLow, std::string HistoPathLow, | void AddHistoFactor( std::string Name, std::string HistoNameLow, std::st ring HistoFileLow, std::string HistoPathLow, | |||
std::string HistoNameHigh, std::string HistoFileHigh, std::string HistoPathHigh ); | std::string HistoNameHigh, std::string HistoFileHigh, std::string HistoPathHigh ); | |||
void AddHistoFactor( const HistoFactor& Factor ); | void AddHistoFactor( const HistoFactor& Factor ); | |||
void AddShapeFactor( std::string Name ); | void AddShapeFactor( std::string Name ); | |||
void AddShapeFactor( const ShapeFactor& Factor ); | void AddShapeFactor( const ShapeFactor& Factor ); | |||
void AddShapeSys( std::string Name, Constraint::Type ConstraintType, s td::string HistoName, std::string HistoFile, std::string HistoPath="" ); | void AddShapeSys( std::string Name, Constraint::Type ConstraintType, s td::string HistoName, std::string HistoFile, std::string HistoPath="" ); | |||
void AddShapeSys( const ShapeSys& Sys ); | void AddShapeSys( const ShapeSys& Sys ); | |||
// defines whether the normalization scale with luminosity | ||||
void SetNormalizeByTheory( bool norm ) { fNormalizeByTheory = norm; } | void SetNormalizeByTheory( bool norm ) { fNormalizeByTheory = norm; } | |||
// does the normalization scale with luminosity | ||||
bool GetNormalizeByTheory() { return fNormalizeByTheory; } | bool GetNormalizeByTheory() { return fNormalizeByTheory; } | |||
// get name of sample | ||||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
// set name of sample | ||||
void SetName(const std::string& Name) { fName = Name; } | void SetName(const std::string& Name) { fName = Name; } | |||
// get input ROOT file | ||||
std::string GetInputFile() { return fInputFile; } | std::string GetInputFile() { return fInputFile; } | |||
// set input ROOT file | ||||
void SetInputFile(const std::string& InputFile) { fInputFile = InputFile; } | void SetInputFile(const std::string& InputFile) { fInputFile = InputFile; } | |||
// get histogram name | ||||
std::string GetHistoName() { return fHistoName; } | std::string GetHistoName() { return fHistoName; } | |||
// set histogram name | ||||
void SetHistoName(const std::string& HistoName) { fHistoName = HistoName; } | void SetHistoName(const std::string& HistoName) { fHistoName = HistoName; } | |||
// get histogram path | ||||
std::string GetHistoPath() { return fHistoPath; } | std::string GetHistoPath() { return fHistoPath; } | |||
// set histogram path | ||||
void SetHistoPath(const std::string& HistoPath) { fHistoPath = HistoPath; } | void SetHistoPath(const std::string& HistoPath) { fHistoPath = HistoPath; } | |||
// get name of associated channel | ||||
std::string GetChannelName() { return fChannelName; } | std::string GetChannelName() { return fChannelName; } | |||
// set name of associated channel | ||||
void SetChannelName(const std::string& ChannelName) { fChannelName = Chan nelName; } | void SetChannelName(const std::string& ChannelName) { fChannelName = Chan nelName; } | |||
std::vector< RooStats::HistFactory::OverallSys >& GetOverallSysList() { r eturn fOverallSysList; } | std::vector< RooStats::HistFactory::OverallSys >& GetOverallSysList() { r eturn fOverallSysList; } | |||
std::vector< RooStats::HistFactory::NormFactor >& GetNormFactorList() { r eturn fNormFactorList; } | std::vector< RooStats::HistFactory::NormFactor >& GetNormFactorList() { r eturn fNormFactorList; } | |||
std::vector< RooStats::HistFactory::HistoSys >& GetHistoSysList() { return fHistoSysList; } | std::vector< RooStats::HistFactory::HistoSys >& GetHistoSysList() { return fHistoSysList; } | |||
std::vector< RooStats::HistFactory::HistoFactor >& GetHistoFactorList() { return fHistoFactorList; } | std::vector< RooStats::HistFactory::HistoFactor >& GetHistoFactorList() { return fHistoFactorList; } | |||
std::vector< RooStats::HistFactory::ShapeSys >& GetShapeSysList() { return fShapeSysList; } | std::vector< RooStats::HistFactory::ShapeSys >& GetShapeSysList() { return fShapeSysList; } | |||
std::vector< RooStats::HistFactory::ShapeFactor >& GetShapeFactorList() { return fShapeFactorList; } | std::vector< RooStats::HistFactory::ShapeFactor >& GetShapeFactorList() { return fShapeFactorList; } | |||
skipping to change at line 127 | skipping to change at line 142 | |||
std::vector< RooStats::HistFactory::ShapeFactor > fShapeFactorList; | std::vector< RooStats::HistFactory::ShapeFactor > fShapeFactorList; | |||
// Properties | // Properties | |||
RooStats::HistFactory::StatError fStatError; | RooStats::HistFactory::StatError fStatError; | |||
bool fNormalizeByTheory; | bool fNormalizeByTheory; | |||
bool fStatErrorActivate; | bool fStatErrorActivate; | |||
// The Nominal Shape | // The Nominal Shape | |||
TRef fhNominal; | TRef fhNominal; | |||
TH1* fhCountingHist; | ||||
}; | }; | |||
} // namespace HistFactory | } // namespace HistFactory | |||
} // namespace RooStats | } // namespace RooStats | |||
#endif | #endif | |||
End of changes. 16 change blocks. | ||||
0 lines changed or deleted | 16 lines changed or added | |||
Systematics.h | Systematics.h | |||
---|---|---|---|---|
skipping to change at line 21 | skipping to change at line 21 | |||
#ifndef HISTFACTORY_SYSTEMATICS_H | #ifndef HISTFACTORY_SYSTEMATICS_H | |||
#define HISTFACTORY_SYSTEMATICS_H | #define HISTFACTORY_SYSTEMATICS_H | |||
#include <string> | #include <string> | |||
#include <fstream> | #include <fstream> | |||
#include <iostream> | #include <iostream> | |||
#include "TH1.h" | #include "TH1.h" | |||
#include "TRef.h" | #include "TRef.h" | |||
//#include "RooStats/HistFactory/HistCollector.h" | ||||
namespace RooStats{ | namespace RooStats{ | |||
namespace HistFactory { | namespace HistFactory { | |||
namespace Constraint { | namespace Constraint { | |||
enum Type{ Gaussian, Poisson }; | enum Type{ Gaussian, Poisson }; | |||
std::string Name( Type type ); | std::string Name( Type type ); | |||
Type GetType( std::string Name ); | Type GetType( const std::string& Name ); | |||
} | } | |||
// Base class for common functions | ||||
/* | ||||
class Systematic { | ||||
public: | ||||
virtual void Print(std::ostream& = std::cout); | ||||
virtual void writeToFile(const std::string& FileName, | ||||
const std::string& Directory); | ||||
}; | ||||
*/ | ||||
class OverallSys { | class OverallSys { | |||
public: | public: | |||
//friend class Channel; | ||||
void SetName( const std::string& Name ) { fName = Name; } | void SetName( const std::string& Name ) { fName = Name; } | |||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
void SetLow( double Low ) { fLow = Low; } | void SetLow( double Low ) { fLow = Low; } | |||
void SetHigh( double High ) { fHigh = High; } | void SetHigh( double High ) { fHigh = High; } | |||
double GetLow() { return fLow; } | double GetLow() { return fLow; } | |||
double GetHigh() { return fHigh; } | double GetHigh() { return fHigh; } | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void PrintXML(std::ostream&); | ||||
protected: | protected: | |||
std::string fName; | std::string fName; | |||
double fLow; | double fLow; | |||
double fHigh; | double fHigh; | |||
}; | }; | |||
class NormFactor { | class NormFactor { | |||
public: | public: | |||
//friend class Channel; | ||||
NormFactor(); | NormFactor(); | |||
void SetName( const std::string& Name ) { fName = Name; } | void SetName( const std::string& Name ) { fName = Name; } | |||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
void SetVal( double Val ) { fVal = Val; } | void SetVal( double Val ) { fVal = Val; } | |||
double GetVal() { return fVal; } | double GetVal() { return fVal; } | |||
void SetConst( bool Const=true ) { fConst = Const; } | void SetConst( bool Const=true ) { fConst = Const; } | |||
bool GetConst() { return fConst; } | bool GetConst() { return fConst; } | |||
void SetLow( double Low ) { fLow = Low; } | void SetLow( double Low ) { fLow = Low; } | |||
void SetHigh( double High ) { fHigh = High; } | void SetHigh( double High ) { fHigh = High; } | |||
double GetLow() { return fLow; } | double GetLow() { return fLow; } | |||
double GetHigh() { return fHigh; } | double GetHigh() { return fHigh; } | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void PrintXML(std::ostream&); | ||||
protected: | protected: | |||
std::string fName; | std::string fName; | |||
double fVal; | double fVal; | |||
double fLow; | double fLow; | |||
double fHigh; | double fHigh; | |||
bool fConst; | bool fConst; | |||
}; | }; | |||
class HistoSys { | class HistoSys { | |||
public: | public: | |||
//friend class Channel; | ||||
HistoSys() : fhLow(NULL), fhHigh(NULL) {;} | HistoSys() : fhLow(NULL), fhHigh(NULL) {;} | |||
HistoSys(const std::string& Name) : fName(Name), fhLow(NULL), fhHigh(NU LL) {;} | HistoSys(const std::string& Name) : fName(Name), fhLow(NULL), fhHigh(NU LL) {;} | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void writeToFile( std::string FileName, std::string DirName ); | void PrintXML(std::ostream&); | |||
void writeToFile( const std::string& FileName, const std::string& DirNa | ||||
me ); | ||||
void SetHistoLow( TH1* Low ) { fhLow = Low; } | void SetHistoLow( TH1* Low ) { fhLow = Low; } | |||
void SetHistoHigh( TH1* High ) { fhHigh = High; } | void SetHistoHigh( TH1* High ) { fhHigh = High; } | |||
TH1* GetHistoLow(); | TH1* GetHistoLow(); | |||
TH1* GetHistoHigh(); | TH1* GetHistoHigh(); | |||
void SetName( const std::string& Name ) { fName = Name; } | void SetName( const std::string& Name ) { fName = Name; } | |||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
skipping to change at line 146 | skipping to change at line 157 | |||
// The Low and High Histograms | // The Low and High Histograms | |||
TRef fhLow; | TRef fhLow; | |||
TRef fhHigh; | TRef fhHigh; | |||
}; | }; | |||
class HistoFactor { | class HistoFactor { | |||
public: | public: | |||
//friend class Channel; | ||||
void SetName( const std::string& Name ) { fName = Name; } | void SetName( const std::string& Name ) { fName = Name; } | |||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
void SetInputFileLow( const std::string& InputFileLow ) { fInputFileLow = InputFileLow; } | void SetInputFileLow( const std::string& InputFileLow ) { fInputFileLow = InputFileLow; } | |||
void SetInputFileHigh( const std::string& InputFileHigh ) { fInputFileH igh = InputFileHigh; } | void SetInputFileHigh( const std::string& InputFileHigh ) { fInputFileH igh = InputFileHigh; } | |||
std::string GetInputFileLow() { return fInputFileLow; } | std::string GetInputFileLow() { return fInputFileLow; } | |||
std::string GetInputFileHigh() { return fInputFileHigh; } | std::string GetInputFileHigh() { return fInputFileHigh; } | |||
skipping to change at line 170 | skipping to change at line 180 | |||
std::string GetHistoNameLow() { return fHistoNameLow; } | std::string GetHistoNameLow() { return fHistoNameLow; } | |||
std::string GetHistoNameHigh() { return fHistoNameHigh; } | std::string GetHistoNameHigh() { return fHistoNameHigh; } | |||
void SetHistoPathLow( const std::string& HistoPathLow ) { fHistoPathLow = HistoPathLow; } | void SetHistoPathLow( const std::string& HistoPathLow ) { fHistoPathLow = HistoPathLow; } | |||
void SetHistoPathHigh( const std::string& HistoPathHigh ) { fHistoPathH igh = HistoPathHigh; } | void SetHistoPathHigh( const std::string& HistoPathHigh ) { fHistoPathH igh = HistoPathHigh; } | |||
std::string GetHistoPathLow() { return fHistoPathLow; } | std::string GetHistoPathLow() { return fHistoPathLow; } | |||
std::string GetHistoPathHigh() { return fHistoPathHigh; } | std::string GetHistoPathHigh() { return fHistoPathHigh; } | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void writeToFile( std::string FileName, std::string DirName ); | void writeToFile( const std::string& FileName, const std::string& DirNa | |||
me ); | ||||
void PrintXML(std::ostream&); | ||||
TH1* GetHistoLow(); | TH1* GetHistoLow(); | |||
TH1* GetHistoHigh(); | TH1* GetHistoHigh(); | |||
void SetHistoLow( TH1* Low ) { fhLow = Low; } | void SetHistoLow( TH1* Low ) { fhLow = Low; } | |||
void SetHistoHigh( TH1* High ) { fhHigh = High; } | void SetHistoHigh( TH1* High ) { fhHigh = High; } | |||
protected: | protected: | |||
std::string fName; | std::string fName; | |||
skipping to change at line 198 | skipping to change at line 209 | |||
// The Low and High Histograms | // The Low and High Histograms | |||
TRef fhLow; | TRef fhLow; | |||
TRef fhHigh; | TRef fhHigh; | |||
}; | }; | |||
class ShapeSys { | class ShapeSys { | |||
public: | public: | |||
//friend class Channel; | ||||
void SetName( const std::string& Name ) { fName = Name; } | void SetName( const std::string& Name ) { fName = Name; } | |||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
void SetInputFile( const std::string& InputFile ) { fInputFile = InputF ile; } | void SetInputFile( const std::string& InputFile ) { fInputFile = InputF ile; } | |||
std::string GetInputFile() { return fInputFile; } | std::string GetInputFile() { return fInputFile; } | |||
void SetHistoName( const std::string& HistoName ) { fHistoName = HistoN ame; } | void SetHistoName( const std::string& HistoName ) { fHistoName = HistoN ame; } | |||
std::string GetHistoName() { return fHistoName; } | std::string GetHistoName() { return fHistoName; } | |||
void SetHistoPath( const std::string& HistoPath ) { fHistoPath = HistoP ath; } | void SetHistoPath( const std::string& HistoPath ) { fHistoPath = HistoP ath; } | |||
std::string GetHistoPath() { return fHistoPath; } | std::string GetHistoPath() { return fHistoPath; } | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void writeToFile( std::string FileName, std::string DirName ); | void PrintXML(std::ostream&); | |||
void writeToFile( const std::string& FileName, const std::string& DirNa | ||||
me ); | ||||
TH1* GetErrorHist(); | TH1* GetErrorHist(); | |||
void SetErrorHist(TH1* hError) { fhError = hError; } | void SetErrorHist(TH1* hError) { fhError = hError; } | |||
void SetConstraintType( Constraint::Type ConstrType ) { fConstraintType = ConstrType; } | void SetConstraintType( Constraint::Type ConstrType ) { fConstraintType = ConstrType; } | |||
Constraint::Type GetConstraintType() { return fConstraintType; } | Constraint::Type GetConstraintType() { return fConstraintType; } | |||
protected: | protected: | |||
std::string fName; | std::string fName; | |||
skipping to change at line 237 | skipping to change at line 248 | |||
Constraint::Type fConstraintType; | Constraint::Type fConstraintType; | |||
// The histogram holding the error | // The histogram holding the error | |||
TRef fhError; | TRef fhError; | |||
}; | }; | |||
class ShapeFactor { | class ShapeFactor { | |||
public: | public: | |||
//friend class Channel; | ||||
ShapeFactor(); | ||||
void SetName( const std::string& Name ) { fName = Name; } | void SetName( const std::string& Name ) { fName = Name; } | |||
std::string GetName() { return fName; } | std::string GetName() { return fName; } | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void PrintXML(std::ostream&); | ||||
void writeToFile( const std::string& FileName, const std::string& DirNa | ||||
me); | ||||
void SetInitialShape(TH1* shape) { fhInitialShape = shape; } | ||||
TH1* GetInitialShape() { return fhInitialShape; } | ||||
void SetConstant(bool constant) { fConstant = constant; } | ||||
bool IsConstant() { return fConstant; } | ||||
bool HasInitialShape() { return fHasInitialShape; } | ||||
void SetInputFile( const std::string& InputFile ) { | ||||
fInputFile = InputFile; | ||||
fHasInitialShape=true; | ||||
} | ||||
std::string GetInputFile() { return fInputFile; } | ||||
void SetHistoName( const std::string& HistoName ) { | ||||
fHistoName = HistoName; | ||||
fHasInitialShape=true; | ||||
} | ||||
std::string GetHistoName() { return fHistoName; } | ||||
void SetHistoPath( const std::string& HistoPath ) { | ||||
fHistoPath = HistoPath; | ||||
fHasInitialShape=true; | ||||
} | ||||
std::string GetHistoPath() { return fHistoPath; } | ||||
protected: | protected: | |||
std::string fName; | std::string fName; | |||
bool fConstant; | ||||
// A histogram representing | ||||
// the initial shape | ||||
bool fHasInitialShape; | ||||
std::string fHistoName; | ||||
std::string fHistoPath; | ||||
std::string fInputFile; | ||||
TH1* fhInitialShape; | ||||
}; | }; | |||
class StatError { | class StatError { | |||
public: | public: | |||
//friend class Channel; | ||||
StatError() : fActivate(false), fUseHisto(false), fhError(NULL) {;} | StatError() : fActivate(false), fUseHisto(false), fhError(NULL) {;} | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void writeToFile( std::string FileName, std::string DirName ); | void PrintXML(std::ostream&); | |||
void writeToFile( const std::string& FileName, const std::string& DirNa | ||||
me ); | ||||
void Activate( bool IsActive=true ) { fActivate = IsActive; } | void Activate( bool IsActive=true ) { fActivate = IsActive; } | |||
bool GetActivate() { return fActivate; } | bool GetActivate() { return fActivate; } | |||
void SetUseHisto( bool UseHisto=true ) { fUseHisto = UseHisto; } | void SetUseHisto( bool UseHisto=true ) { fUseHisto = UseHisto; } | |||
bool GetUseHisto() { return fUseHisto; } | bool GetUseHisto() { return fUseHisto; } | |||
void SetInputFile( const std::string& InputFile ) { fInputFile = InputF ile; } | void SetInputFile( const std::string& InputFile ) { fInputFile = InputF ile; } | |||
std::string GetInputFile() { return fInputFile; } | std::string GetInputFile() { return fInputFile; } | |||
skipping to change at line 293 | skipping to change at line 343 | |||
std::string fHistoPath; | std::string fHistoPath; | |||
// The histogram holding the error | // The histogram holding the error | |||
TRef fhError; | TRef fhError; | |||
}; | }; | |||
class StatErrorConfig { | class StatErrorConfig { | |||
public: | public: | |||
//friend class Channel; | ||||
StatErrorConfig() : fRelErrorThreshold( .05 ), fConstraintType( Constra int::Gaussian ) {;} | StatErrorConfig() : fRelErrorThreshold( .05 ), fConstraintType( Constra int::Gaussian ) {;} | |||
void Print(std::ostream& = std::cout); | void Print(std::ostream& = std::cout); | |||
void PrintXML(std::ostream&); | ||||
void SetRelErrorThreshold( double Threshold ) { fRelErrorThreshold = Th reshold; } | void SetRelErrorThreshold( double Threshold ) { fRelErrorThreshold = Th reshold; } | |||
double GetRelErrorThreshold() { return fRelErrorThreshold; } | double GetRelErrorThreshold() { return fRelErrorThreshold; } | |||
void SetConstraintType( Constraint::Type ConstrType ) { fConstraintType = ConstrType; } | void SetConstraintType( Constraint::Type ConstrType ) { fConstraintType = ConstrType; } | |||
Constraint::Type GetConstraintType() { return fConstraintType; } | Constraint::Type GetConstraintType() { return fConstraintType; } | |||
protected: | protected: | |||
double fRelErrorThreshold; | double fRelErrorThreshold; | |||
End of changes. 20 change blocks. | ||||
15 lines changed or deleted | 70 lines changed or added | |||
TAttFill.h | TAttFill.h | |||
---|---|---|---|---|
skipping to change at line 57 | skipping to change at line 57 | |||
virtual void SetFillAttributes(); // *MENU* | virtual void SetFillAttributes(); // *MENU* | |||
virtual void SetFillColor(Color_t fcolor) { fFillColor = fcolor; } | virtual void SetFillColor(Color_t fcolor) { fFillColor = fcolor; } | |||
virtual void SetFillStyle(Style_t fstyle) { fFillStyle = fstyle; } | virtual void SetFillStyle(Style_t fstyle) { fFillStyle = fstyle; } | |||
ClassDef(TAttFill,1) //Fill area attributes | ClassDef(TAttFill,1) //Fill area attributes | |||
}; | }; | |||
inline Bool_t TAttFill::IsTransparent() const | inline Bool_t TAttFill::IsTransparent() const | |||
{ return fFillStyle >= 4000 && fFillStyle <= 4100 ? kTRUE : kFALSE; } | { return fFillStyle >= 4000 && fFillStyle <= 4100 ? kTRUE : kFALSE; } | |||
enum EFillStyle {kFDotted1 = 3001, kFDotted2 = 3002, kFDotted3 = 30 | ||||
03, | ||||
kFHatched1 = 3004, kHatched2 = 3005, kFHatched3 = 30 | ||||
06, | ||||
kFHatched4 = 3007, kFWicker = 3008, kFScales = 30 | ||||
09, | ||||
kFBricks = 3010, kFSnowflakes = 3011, kFCircles = 30 | ||||
12, | ||||
kFTiles = 3013, kFMondrian = 3014, kFDiamonds = 30 | ||||
15, | ||||
kFWaves1 = 3016, kFDashed1 = 3017, kFDashed2 = 30 | ||||
18, | ||||
kFAlhambra = 3019, kFWaves2 = 3020, kFStars1 = 30 | ||||
21, | ||||
kFStars2 = 3022, kFPyramids = 3023, kFFrieze = 30 | ||||
24, | ||||
kFMetopes = 3025, kFEmpty = 0 , kFSolid = 1} | ||||
; | ||||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 19 lines changed or added | |||
TAttText.h | TAttText.h | |||
---|---|---|---|---|
skipping to change at line 63 | skipping to change at line 63 | |||
virtual void SetTextAlign(Short_t align=11) { fTextAlign = align;} | virtual void SetTextAlign(Short_t align=11) { fTextAlign = align;} | |||
virtual void SetTextAngle(Float_t tangle=0) { fTextAngle = tangle;} // *MENU* | virtual void SetTextAngle(Float_t tangle=0) { fTextAngle = tangle;} // *MENU* | |||
virtual void SetTextColor(Color_t tcolor=1) { fTextColor = tcolor;} | virtual void SetTextColor(Color_t tcolor=1) { fTextColor = tcolor;} | |||
virtual void SetTextFont(Font_t tfont=62) { fTextFont = tfont;} | virtual void SetTextFont(Font_t tfont=62) { fTextFont = tfont;} | |||
virtual void SetTextSize(Float_t tsize=1) { fTextSize = tsize;} | virtual void SetTextSize(Float_t tsize=1) { fTextSize = tsize;} | |||
virtual void SetTextSizePixels(Int_t npixels); | virtual void SetTextSizePixels(Int_t npixels); | |||
ClassDef(TAttText,1) //Text attributes | ClassDef(TAttText,1) //Text attributes | |||
}; | }; | |||
enum ETextAlign {kHAlignLeft=10, kHAlignCenter=20, kHAlignRight=30, | ||||
kVAlignBottom=1, kVAlignCenter=2, kVAlignTop=3}; | ||||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 3 lines changed or added | |||
TBits.h | TBits.h | |||
---|---|---|---|---|
skipping to change at line 139 | skipping to change at line 139 | |||
void Get(UInt_t *array) const { Get((Int_t*)array); } | void Get(UInt_t *array) const { Get((Int_t*)array); } | |||
void Get(Long64_t *array) const; | void Get(Long64_t *array) const; | |||
void Get(ULong64_t *array) const { Get((Long64_t*)array); } | void Get(ULong64_t *array) const { Get((Long64_t*)array); } | |||
//----- Utilities | //----- Utilities | |||
void Clear(Option_t *option=""); | void Clear(Option_t *option=""); | |||
void Compact(); // Reduce the space used. | void Compact(); // Reduce the space used. | |||
UInt_t CountBits(UInt_t startBit=0) const ; // return number of bi ts set to 1 | UInt_t CountBits(UInt_t startBit=0) const ; // return number of bi ts set to 1 | |||
UInt_t FirstNullBit(UInt_t startBit=0) const; | UInt_t FirstNullBit(UInt_t startBit=0) const; | |||
UInt_t FirstSetBit(UInt_t startBit=0) const; | UInt_t FirstSetBit(UInt_t startBit=0) const; | |||
UInt_t LastNullBit(UInt_t startBit=999999999) const; | ||||
UInt_t LastSetBit(UInt_t startBit=999999999) const; | ||||
UInt_t GetNbits() const { return fNbits; } | UInt_t GetNbits() const { return fNbits; } | |||
UInt_t GetNbytes() const { return fNbytes; } | UInt_t GetNbytes() const { return fNbytes; } | |||
Bool_t operator==(const TBits &other) const; | Bool_t operator==(const TBits &other) const; | |||
Bool_t operator!=(const TBits &other) const { return !(*this==other); } | Bool_t operator!=(const TBits &other) const { return !(*this==other); } | |||
void Paint(Option_t *option=""); // to visualize the bits arra y as an histogram, etc | void Paint(Option_t *option=""); // to visualize the bits arra y as an histogram, etc | |||
void Print(Option_t *option="") const; // to show the list of active bits | void Print(Option_t *option="") const; // to show the list of active bits | |||
void Output(ostream &) const; | void Output(ostream &) const; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 2 lines changed or added | |||
TBranchElement.h | TBranchElement.h | |||
---|---|---|---|---|
skipping to change at line 113 | skipping to change at line 113 | |||
TBranchElement& operator=(const TBranchElement&); // not implemented | TBranchElement& operator=(const TBranchElement&); // not implemented | |||
static void SwitchContainer(TObjArray *); | static void SwitchContainer(TObjArray *); | |||
// Implementation use only functions. | // Implementation use only functions. | |||
protected: | protected: | |||
void BuildTitle(const char* name); | void BuildTitle(const char* name); | |||
virtual void InitializeOffsets(); | virtual void InitializeOffsets(); | |||
virtual void InitInfo(); | virtual void InitInfo(); | |||
Bool_t IsMissingCollection() const; | Bool_t IsMissingCollection() const; | |||
TClass *GetCurrentClass(); // Class referenced by trans ient description | ||||
TClass *GetParentClass(); // Class referenced by fParen tName | TClass *GetParentClass(); // Class referenced by fParen tName | |||
TStreamerInfo *GetInfoImp() const; | TStreamerInfo *GetInfoImp() const; | |||
void ReleaseObject(); | void ReleaseObject(); | |||
void SetBranchCount(TBranchElement* bre); | void SetBranchCount(TBranchElement* bre); | |||
void SetBranchCount2(TBranchElement* bre) { fBranchC ount2 = bre; } | void SetBranchCount2(TBranchElement* bre) { fBranchC ount2 = bre; } | |||
Int_t Unroll(const char* name, TClass* cltop, TClass* cl, char* ptr, Int_t basketsize, Int_t splitlevel, Int_t btype); | Int_t Unroll(const char* name, TClass* cltop, TClass* cl, char* ptr, Int_t basketsize, Int_t splitlevel, Int_t btype); | |||
inline void ValidateAddress() const; | inline void ValidateAddress() const; | |||
void Init(TTree *tree, TBranch *parent, const char* name, TStreamerInfo* sinfo, Int_t id, char* pointer, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t btype = 0); | void Init(TTree *tree, TBranch *parent, const char* name, TStreamerInfo* sinfo, Int_t id, char* pointer, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t btype = 0); | |||
void Init(TTree *tree, TBranch *parent, const char* name, TClonesArray* clones, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t compress = -1 ); | void Init(TTree *tree, TBranch *parent, const char* name, TClonesArray* clones, Int_t basketsize = 32000, Int_t splitlevel = 0, Int_t compress = -1 ); | |||
skipping to change at line 181 | skipping to change at line 180 | |||
virtual TLeaf *FindLeaf(const char *name); | virtual TLeaf *FindLeaf(const char *name); | |||
virtual char *GetAddress() const; | virtual char *GetAddress() const; | |||
TBranchElement *GetBranchCount() const { return fBranchCount; } | TBranchElement *GetBranchCount() const { return fBranchCount; } | |||
TBranchElement *GetBranchCount2() const { return fBranchCount2; } | TBranchElement *GetBranchCount2() const { return fBranchCount2; } | |||
Int_t *GetBranchOffset() const { return fBranchOffset; } | Int_t *GetBranchOffset() const { return fBranchOffset; } | |||
UInt_t GetCheckSum() { return fCheckSum; } | UInt_t GetCheckSum() { return fCheckSum; } | |||
virtual const char *GetClassName() const { return fClassName.Data() ; } | virtual const char *GetClassName() const { return fClassName.Data() ; } | |||
virtual TClass *GetClass() const { return fBranchClass; } | virtual TClass *GetClass() const { return fBranchClass; } | |||
virtual const char *GetClonesName() const { return fClonesName.Data (); } | virtual const char *GetClonesName() const { return fClonesName.Data (); } | |||
TVirtualCollectionProxy *GetCollectionProxy(); | TVirtualCollectionProxy *GetCollectionProxy(); | |||
TClass *GetCurrentClass(); // Class referenced by trans ient description | ||||
virtual Int_t GetEntry(Long64_t entry = 0, Int_t getall = 0); | virtual Int_t GetEntry(Long64_t entry = 0, Int_t getall = 0); | |||
virtual Int_t GetExpectedType(TClass *&clptr,EDataType &type) ; | virtual Int_t GetExpectedType(TClass *&clptr,EDataType &type) ; | |||
const char *GetIconName() const; | const char *GetIconName() const; | |||
Int_t GetID() const { return fID; } | Int_t GetID() const { return fID; } | |||
TStreamerInfo *GetInfo() const; | TStreamerInfo *GetInfo() const; | |||
Bool_t GetMakeClass() const; | Bool_t GetMakeClass() const; | |||
char *GetObject() const; | char *GetObject() const; | |||
virtual const char *GetParentName() const { return fParentName.Data (); } | virtual const char *GetParentName() const { return fParentName.Data (); } | |||
virtual Int_t GetMaximum() const; | virtual Int_t GetMaximum() const; | |||
Int_t GetNdata() const { return fNdata; } | Int_t GetNdata() const { return fNdata; } | |||
skipping to change at line 222 | skipping to change at line 222 | |||
virtual void SetBranchFolder() { SetBit(kBranchFolder); } | virtual void SetBranchFolder() { SetBit(kBranchFolder); } | |||
virtual void SetClassName(const char* name) { fClassName = n ame; } | virtual void SetClassName(const char* name) { fClassName = n ame; } | |||
virtual void SetOffset(Int_t offset); | virtual void SetOffset(Int_t offset); | |||
inline void SetParentClass(TClass* clparent); | inline void SetParentClass(TClass* clparent); | |||
virtual void SetParentName(const char* name) { fParentName = name; } | virtual void SetParentName(const char* name) { fParentName = name; } | |||
virtual void SetTargetClass(const char *name); | virtual void SetTargetClass(const char *name); | |||
virtual void SetupAddresses(); | virtual void SetupAddresses(); | |||
virtual void SetType(Int_t btype) { fType = btype; } | virtual void SetType(Int_t btype) { fType = btype; } | |||
virtual void UpdateFile(); | virtual void UpdateFile(); | |||
enum EBranchElementType { | ||||
kLeafNode = 0, | ||||
kBaseClassNode = 1, // -- We are a base class element. | ||||
// Note: This does not include an STL container | ||||
class which is | ||||
// being used as a base class because the | ||||
streamer element | ||||
// in that case is not the base streamer | ||||
element it is the | ||||
// STL streamer element. | ||||
kObjectNode = 2, | ||||
kClonesNode = 3, | ||||
kSTLNode = 4, | ||||
kClonesMemberNode = 31, | ||||
kSTLMemberNode = 41 | ||||
}; | ||||
ClassDef(TBranchElement,9) // Branch in case of an object | ClassDef(TBranchElement,9) // Branch in case of an object | |||
}; | }; | |||
inline void TBranchElement::SetParentClass(TClass* clparent) | inline void TBranchElement::SetParentClass(TClass* clparent) | |||
{ | { | |||
fParentClass = clparent; | fParentClass = clparent; | |||
fParentName = clparent ? clparent->GetName() : ""; | fParentName = clparent ? clparent->GetName() : ""; | |||
} | } | |||
inline void TBranchElement::ValidateAddress() const | inline void TBranchElement::ValidateAddress() const | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 18 lines changed or added | |||
TCint.h | TCint.h | |||
---|---|---|---|---|
skipping to change at line 183 | skipping to change at line 183 | |||
virtual void Setgvp(Long_t) const; | virtual void Setgvp(Long_t) const; | |||
virtual void SetRTLD_NOW() const; | virtual void SetRTLD_NOW() const; | |||
virtual void SetRTLD_LAZY() const; | virtual void SetRTLD_LAZY() const; | |||
virtual void SetTempLevel(int val) const; | virtual void SetTempLevel(int val) const; | |||
virtual int UnloadFile(const char *path) const; | virtual int UnloadFile(const char *path) const; | |||
// G__CallFunc interface | // G__CallFunc interface | |||
virtual void CallFunc_Delete(void *func) const; | virtual void CallFunc_Delete(void *func) const; | |||
virtual void CallFunc_Exec(CallFunc_t *func, void *address) const; | virtual void CallFunc_Exec(CallFunc_t *func, void *address) const; | |||
virtual Long_t CallFunc_ExecInt(CallFunc_t *func, void *address) cons t; | virtual Long_t CallFunc_ExecInt(CallFunc_t *func, void *address) cons t; | |||
virtual Long_t CallFunc_ExecInt64(CallFunc_t *func, void *address) co nst; | virtual Long64_t CallFunc_ExecInt64(CallFunc_t *func, void *address) co nst; | |||
virtual Double_t CallFunc_ExecDouble(CallFunc_t *func, void *address) c onst; | virtual Double_t CallFunc_ExecDouble(CallFunc_t *func, void *address) c onst; | |||
virtual CallFunc_t *CallFunc_Factory() const; | virtual CallFunc_t *CallFunc_Factory() const; | |||
virtual CallFunc_t *CallFunc_FactoryCopy(CallFunc_t *func) const; | virtual CallFunc_t *CallFunc_FactoryCopy(CallFunc_t *func) const; | |||
virtual MethodInfo_t *CallFunc_FactoryMethod(CallFunc_t *func) const; | virtual MethodInfo_t *CallFunc_FactoryMethod(CallFunc_t *func) const; | |||
virtual void CallFunc_Init(CallFunc_t *func) const; | virtual void CallFunc_Init(CallFunc_t *func) const; | |||
virtual Bool_t CallFunc_IsValid(CallFunc_t *func) const; | virtual Bool_t CallFunc_IsValid(CallFunc_t *func) const; | |||
virtual void CallFunc_ResetArg(CallFunc_t *func) const; | virtual void CallFunc_ResetArg(CallFunc_t *func) const; | |||
virtual void CallFunc_SetArg(CallFunc_t *func, Long_t param) const; | virtual void CallFunc_SetArg(CallFunc_t *func, Long_t param) const; | |||
virtual void CallFunc_SetArg(CallFunc_t *func, Double_t param) const; | virtual void CallFunc_SetArg(CallFunc_t *func, Double_t param) const; | |||
virtual void CallFunc_SetArg(CallFunc_t *func, Long64_t param) const; | virtual void CallFunc_SetArg(CallFunc_t *func, Long64_t param) const; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TClass.h | TClass.h | |||
---|---|---|---|---|
skipping to change at line 41 | skipping to change at line 41 | |||
#endif | #endif | |||
#ifndef ROOT_TObjString | #ifndef ROOT_TObjString | |||
#include "TObjString.h" | #include "TObjString.h" | |||
#endif | #endif | |||
#include <map> | #include <map> | |||
#include <string> | #include <string> | |||
class TBaseClass; | class TBaseClass; | |||
class TBrowser; | class TBrowser; | |||
class TDataMember; | class TDataMember; | |||
class TClassAttributeMap; | ||||
class TClassRef; | class TClassRef; | |||
class TMethod; | class TMethod; | |||
class TRealData; | class TRealData; | |||
class TCint; | class TCint; | |||
class TBuffer; | class TBuffer; | |||
class TVirtualStreamerInfo; | class TVirtualStreamerInfo; | |||
class TVirtualCollectionProxy; | class TVirtualCollectionProxy; | |||
class TMethodCall; | class TMethodCall; | |||
class TVirtualIsAProxy; | class TVirtualIsAProxy; | |||
class TVirtualRefProxy; | class TVirtualRefProxy; | |||
skipping to change at line 141 | skipping to change at line 142 | |||
mutable Long_t fProperty; //!Property | mutable Long_t fProperty; //!Property | |||
mutable Bool_t fVersionUsed; //!Indicates whether GetClassVersio n has been called | mutable Bool_t fVersionUsed; //!Indicates whether GetClassVersio n has been called | |||
mutable Bool_t fIsOffsetStreamerSet; //!saved remember if fOffsetStr eamer has been set. | mutable Bool_t fIsOffsetStreamerSet; //!saved remember if fOffsetStr eamer has been set. | |||
mutable Long_t fOffsetStreamer; //!saved info to call Streamer | mutable Long_t fOffsetStreamer; //!saved info to call Streamer | |||
Int_t fStreamerType; //!cached of the streaming method t o use | Int_t fStreamerType; //!cached of the streaming method t o use | |||
mutable TVirtualStreamerInfo *fCurrentInfo; //!cached current st reamer info. | mutable TVirtualStreamerInfo *fCurrentInfo; //!cached current st reamer info. | |||
TClassRef *fRefStart; //!List of references to this objec t | TClassRef *fRefStart; //!List of references to this objec t | |||
TVirtualRefProxy *fRefProxy; //!Pointer to reference proxy if th is class represents a reference | TVirtualRefProxy *fRefProxy; //!Pointer to reference proxy if th is class represents a reference | |||
ROOT::TSchemaRuleSet *fSchemaRules; //! Schema evolution rules | ROOT::TSchemaRuleSet *fSchemaRules; //! Schema evolution rules | |||
TClassAttributeMap *fAttributeMap; //pointer to a class attribute map | ||||
typedef void (TClass::*StreamerImpl_t)(void *obj, TBuffer &b, const TCla ss *onfile_class) const; | typedef void (TClass::*StreamerImpl_t)(void *obj, TBuffer &b, const TCla ss *onfile_class) const; | |||
mutable StreamerImpl_t fStreamerImpl;//! Pointer to the function impleme nting the right streaming behavior for the class represented by this object . | mutable StreamerImpl_t fStreamerImpl;//! Pointer to the function impleme nting the right streaming behavior for the class represented by this object . | |||
TMethod *GetClassMethod(Long_t faddr); | TMethod *GetClassMethod(Long_t faddr); | |||
TMethod *GetClassMethod(const char *name, const char *signatur e); | TMethod *GetClassMethod(const char *name, const char *signatur e); | |||
Int_t GetBaseClassOffsetRecurse(const TClass *base); | Int_t GetBaseClassOffsetRecurse(const TClass *base); | |||
void Init(const char *name, Version_t cversion, const type_info *info, | void Init(const char *name, Version_t cversion, const type_info *info, | |||
TVirtualIsAProxy *isa, ShowMembersFunc_t showmember, | TVirtualIsAProxy *isa, ShowMembersFunc_t showmember, | |||
const char *dfil, const char *ifil, | const char *dfil, const char *ifil, | |||
skipping to change at line 257 | skipping to change at line 259 | |||
TVirtualStreamerInfo *FindStreamerInfo(UInt_t checksum) const; | TVirtualStreamerInfo *FindStreamerInfo(UInt_t checksum) const; | |||
TVirtualStreamerInfo *GetConversionStreamerInfo( const char* onfile_ classname, Int_t version ) const; | TVirtualStreamerInfo *GetConversionStreamerInfo( const char* onfile_ classname, Int_t version ) const; | |||
TVirtualStreamerInfo *FindConversionStreamerInfo( const char* onfile _classname, UInt_t checksum ) const; | TVirtualStreamerInfo *FindConversionStreamerInfo( const char* onfile _classname, UInt_t checksum ) const; | |||
TVirtualStreamerInfo *GetConversionStreamerInfo( const TClass* onfil e_cl, Int_t version ) const; | TVirtualStreamerInfo *GetConversionStreamerInfo( const TClass* onfil e_cl, Int_t version ) const; | |||
TVirtualStreamerInfo *FindConversionStreamerInfo( const TClass* onfi le_cl, UInt_t checksum ) const; | TVirtualStreamerInfo *FindConversionStreamerInfo( const TClass* onfi le_cl, UInt_t checksum ) const; | |||
Bool_t HasDefaultConstructor() const; | Bool_t HasDefaultConstructor() const; | |||
UInt_t GetCheckSum(UInt_t code=0) const; | UInt_t GetCheckSum(UInt_t code=0) const; | |||
TVirtualCollectionProxy *GetCollectionProxy() const; | TVirtualCollectionProxy *GetCollectionProxy() const; | |||
TVirtualIsAProxy *GetIsAProxy() const; | TVirtualIsAProxy *GetIsAProxy() const; | |||
Version_t GetClassVersion() const { fVersionUsed = kTRUE; retur n fClassVersion; } | Version_t GetClassVersion() const { fVersionUsed = kTRUE; retur n fClassVersion; } | |||
Int_t GetClassSize() const { return Size(); } | ||||
TDataMember *GetDataMember(const char *datamember) const; | TDataMember *GetDataMember(const char *datamember) const; | |||
Long_t GetDataMemberOffset(const char *membername) const; | Long_t GetDataMemberOffset(const char *membername) const; | |||
const char *GetDeclFileName() const { return fDeclFileName; } | const char *GetDeclFileName() const { return fDeclFileName; } | |||
Short_t GetDeclFileLine() const { return fDeclFileLine; } | Short_t GetDeclFileLine() const { return fDeclFileLine; } | |||
ROOT::DelFunc_t GetDelete() const; | ROOT::DelFunc_t GetDelete() const; | |||
ROOT::DesFunc_t GetDestructor() const; | ROOT::DesFunc_t GetDestructor() const; | |||
ROOT::DelArrFunc_t GetDeleteArray() const; | ROOT::DelArrFunc_t GetDeleteArray() const; | |||
ClassInfo_t *GetClassInfo() const { return fClassInfo; } | ClassInfo_t *GetClassInfo() const { return fClassInfo; } | |||
const char *GetContextMenuTitle() const { return fContextMenuTitl e; } | const char *GetContextMenuTitle() const { return fContextMenuTitl e; } | |||
TVirtualStreamerInfo *GetCurrentStreamerInfo() { | TVirtualStreamerInfo *GetCurrentStreamerInfo() { | |||
skipping to change at line 382 | skipping to change at line 385 | |||
void Store(TBuffer &b) const; | void Store(TBuffer &b) const; | |||
// Pseudo-method apply to the 'obj'. In particular those are used to | // Pseudo-method apply to the 'obj'. In particular those are used to | |||
// implement TObject like methods for non-TObject classes | // implement TObject like methods for non-TObject classes | |||
Int_t Browse(void *obj, TBrowser *b) const; | Int_t Browse(void *obj, TBrowser *b) const; | |||
void DeleteArray(void *ary, Bool_t dtorOnly = kFALSE); | void DeleteArray(void *ary, Bool_t dtorOnly = kFALSE); | |||
void Destructor(void *obj, Bool_t dtorOnly = kFALSE); | void Destructor(void *obj, Bool_t dtorOnly = kFALSE); | |||
void *DynamicCast(const TClass *base, void *obj, Bool_t up = kTRUE); | void *DynamicCast(const TClass *base, void *obj, Bool_t up = kTRUE); | |||
Bool_t IsFolder(void *obj) const; | Bool_t IsFolder(void *obj) const; | |||
void CreateAttributeMap(); | ||||
TClassAttributeMap *GetAttributeMap() const | ||||
{ | ||||
//Get the TClassAttributeMap pointer to be able to add attribute | ||||
//pairs key-value to the TClass. | ||||
return fAttributeMap; | ||||
} | ||||
inline void Streamer(void *obj, TBuffer &b, const TClass *onfile_ class = 0) const | inline void Streamer(void *obj, TBuffer &b, const TClass *onfile_ class = 0) const | |||
{ | { | |||
// Inline for performance, skipping one function call. | // Inline for performance, skipping one function call. | |||
(this->*fStreamerImpl)(obj,b,onfile_class); | (this->*fStreamerImpl)(obj,b,onfile_class); | |||
} | } | |||
ClassDef(TClass,0) //Dictionary containing class information | ClassDef(TClass,0) //Dictionary containing class information | |||
}; | }; | |||
namespace ROOT { | namespace ROOT { | |||
End of changes. 4 change blocks. | ||||
0 lines changed or deleted | 11 lines changed or added | |||
TDSet.h | TDSet.h | |||
---|---|---|---|---|
skipping to change at line 95 | skipping to change at line 95 | |||
Long64_t fTDSetOffset;// the global offset in the TDSet of the f irst | Long64_t fTDSetOffset;// the global offset in the TDSet of the f irst | |||
// entry in this element | // entry in this element | |||
TObject *fEntryList; // entry (or event) list to be used in pro cessing | TObject *fEntryList; // entry (or event) list to be used in pro cessing | |||
Bool_t fValid; // whether or not the input values are val id | Bool_t fValid; // whether or not the input values are val id | |||
Long64_t fEntries; // total number of possible entries in fil e | Long64_t fEntries; // total number of possible entries in fil e | |||
TList *fFriends; // friend elements | TList *fFriends; // friend elements | |||
TString fDataSet; // Name of the dataset of which this eleme nt is part | TString fDataSet; // Name of the dataset of which this eleme nt is part | |||
TList *fAssocObjList; // List of objects associated to this e lement | TList *fAssocObjList; // List of objects associated to this e lement | |||
// (e.g. TObjString describing associate d files) | // (e.g. TObjString describing associate d files) | |||
Float_t fMaxProcTime; // Max processing time in secs; -1 no lim it | ||||
Bool_t HasBeenLookedUp() const { return TestBit(kHasBeenLooked Up); } | Bool_t HasBeenLookedUp() const { return TestBit(kHasBeenLooked Up); } | |||
TDSetElement& operator=(const TDSetElement &); // Not implemented | TDSetElement& operator=(const TDSetElement &); // Not implemented | |||
public: | public: | |||
TDSetElement(); | TDSetElement(); | |||
TDSetElement(const char *file, const char *objname = 0, | TDSetElement(const char *file, const char *objname = 0, | |||
const char *dir = 0, Long64_t first = 0, Long64_t num = -1, | const char *dir = 0, Long64_t first = 0, Long64_t num = -1, | |||
const char *msd = 0, const char *dataset = 0); | const char *msd = 0, const char *dataset = 0); | |||
skipping to change at line 142 | skipping to change at line 143 | |||
void Validate(Bool_t isTree); | void Validate(Bool_t isTree); | |||
void Validate(TDSetElement *elem); | void Validate(TDSetElement *elem); | |||
void Invalidate() { fValid = kFALSE; } | void Invalidate() { fValid = kFALSE; } | |||
void SetValid() { fValid = kTRUE; } | void SetValid() { fValid = kTRUE; } | |||
Int_t Compare(const TObject *obj) const; | Int_t Compare(const TObject *obj) const; | |||
Bool_t IsSortable() const { return kTRUE; } | Bool_t IsSortable() const { return kTRUE; } | |||
Int_t Lookup(Bool_t force = kFALSE); | Int_t Lookup(Bool_t force = kFALSE); | |||
void SetLookedUp() { SetBit(kHasBeenLookedUp); } | void SetLookedUp() { SetBit(kHasBeenLookedUp); } | |||
TFileInfo *GetFileInfo(const char *type = "TTree"); | TFileInfo *GetFileInfo(const char *type = "TTree"); | |||
Float_t GetMaxProcTime() const { return fMaxProcTime; } | ||||
void SetMaxProcTime(Float_t mpt) { fMaxProcTime = mpt; } | ||||
Int_t MergeElement(TDSetElement *elem); | Int_t MergeElement(TDSetElement *elem); | |||
ClassDef(TDSetElement,8) // A TDSet element | ClassDef(TDSetElement,9) // A TDSet element | |||
}; | }; | |||
class TDSet : public TNamed { | class TDSet : public TNamed { | |||
public: | public: | |||
// TDSet status bits | // TDSet status bits | |||
enum EStatusBits { | enum EStatusBits { | |||
kWriteV3 = BIT(16), | kWriteV3 = BIT(16), | |||
kEmpty = BIT(17), | kEmpty = BIT(17), | |||
kValidityChecked = BIT(18), // Set if elements validiy has been chec ked | kValidityChecked = BIT(18), // Set if elements validiy has been chec ked | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 5 lines changed or added | |||
TDataSetManagerAliEn.h | TDataSetManagerAliEn.h | |||
---|---|---|---|---|
// @(#)root/proof:$Id$ | // @(#)root/proof:$Id: 511148a2a899e02c8f5b86a7d87caee2e5979f9d $ | |||
// Author: Dario Berzano, 26.11.12 | // Author: Dario Berzano, 26.11.12 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 126 | skipping to change at line 126 | |||
virtual void Init(TString cacheDir, TString urlTpl, | virtual void Init(TString cacheDir, TString urlTpl, | |||
ULong_t cacheExpire_s); | ULong_t cacheExpire_s); | |||
public: | public: | |||
TDataSetManagerAliEn() : TDataSetManager(0, 0, 0) {} | TDataSetManagerAliEn() : TDataSetManager(0, 0, 0) {} | |||
TDataSetManagerAliEn(const char *cacheDir, const char *urlTpl, | TDataSetManagerAliEn(const char *cacheDir, const char *urlTpl, | |||
ULong_t cacheExpire_s); | ULong_t cacheExpire_s); | |||
TDataSetManagerAliEn(const char *, const char *, const char *cfgStr); | TDataSetManagerAliEn(const char *, const char *, const char *cfgStr); | |||
virtual TList *GetFindCommandsFromUri(TString &uri, EDataMode &dataMo de); | virtual TList *GetFindCommandsFromUri(TString &uri, EDataMode &dataMo de, Bool_t &forceUpdate); | |||
virtual ~TDataSetManagerAliEn(); | virtual ~TDataSetManagerAliEn(); | |||
virtual TFileCollection *GetDataSet(const char *uri, const char * = 0 ); | virtual TFileCollection *GetDataSet(const char *uri, const char * = 0 ); | |||
virtual Bool_t ExistsDataSet(const char *uri); | virtual Bool_t ExistsDataSet(const char *uri); | |||
// Not implemented functionalities | // Not implemented functionalities | |||
virtual Int_t RegisterDataSet(const char *, TFileCollection *, | virtual Int_t RegisterDataSet(const char *, TFileCollection *, | |||
const char *); | const char *); | |||
virtual TMap *GetDataSets(const char *, UInt_t); | virtual TMap *GetDataSets(const char *, UInt_t); | |||
virtual void ShowDataSets(const char * = "*", const char * = ""); | virtual void ShowDataSets(const char * = "*", const char * = ""); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TEveBrowser.h | TEveBrowser.h | |||
---|---|---|---|---|
skipping to change at line 150 | skipping to change at line 150 | |||
public: | public: | |||
TEveBrowser(UInt_t w, UInt_t h); | TEveBrowser(UInt_t w, UInt_t h); | |||
virtual ~TEveBrowser() {} | virtual ~TEveBrowser() {} | |||
virtual void ReallyDelete(); | virtual void ReallyDelete(); | |||
virtual void CloseTab(Int_t id); | virtual void CloseTab(Int_t id); | |||
virtual void CloseWindow(); | virtual void CloseWindow(); | |||
void InitPlugins(Option_t *opt="FI"); | void InitPlugins(Option_t *opt="FI"); | |||
TGFileBrowser* MakeFileBrowser(); | TGFileBrowser* MakeFileBrowser(Bool_t make_default=kFALSE); | |||
TGFileBrowser* GetFileBrowser() const { return fFileBrowser; } | TGFileBrowser* GetFileBrowser() const; | |||
void SetFileBrowser(TGFileBrowser* b); | ||||
void EveMenu(Int_t id); | void EveMenu(Int_t id); | |||
// Some getters missing in TRootBrowser | // Some getters missing in TRootBrowser | |||
TGMenuBar* GetMenuBar() const { return fMenuBar; } | TGMenuBar* GetMenuBar() const { return fMenuBar; } | |||
TGHorizontalFrame* GetTopMenuFrame() const { return fTopMenuFrame; } | TGHorizontalFrame* GetTopMenuFrame() const { return fTopMenuFrame; } | |||
void HideBottomTab(); | void HideBottomTab(); | |||
void SanitizeTabCounts(); | void SanitizeTabCounts(); | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 3 lines changed or added | |||
TGeoArb8.h | TGeoArb8.h | |||
---|---|---|---|---|
skipping to change at line 70 | skipping to change at line 70 | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoArb8(); | TGeoArb8(); | |||
TGeoArb8(Double_t dz, Double_t *vertices=0); | TGeoArb8(Double_t dz, Double_t *vertices=0); | |||
TGeoArb8(const char *name, Double_t dz, Double_t *vertices=0); | TGeoArb8(const char *name, Double_t dz, Double_t *vertices=0); | |||
// destructor | // destructor | |||
virtual ~TGeoArb8(); | virtual ~TGeoArb8(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual void ComputeNormal_v(const Double_t *points, const Doub | ||||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
void ComputeTwist(); | void ComputeTwist(); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
Double_t DistToPlane(Double_t *point, Double_t *dir, Int_t | virtual void Contains_v(const Double_t *points, Bool_t *inside, | |||
ipl, Bool_t in) const; | Int_t vecsize) const; | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | Double_t DistToPlane(const Double_t *point, const Double_t | |||
_t iact=1, | *dir, Int_t ipl, Bool_t in) const; | |||
virtual Double_t DistFromInside(const Double_t *point, const Double | ||||
_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual Int_t GetByteCount() const {return 100;} | virtual Int_t GetByteCount() const {return 100;} | |||
Double_t GetClosestEdge(Double_t *point, Double_t *vert, In t_t &isegment) const; | Double_t GetClosestEdge(const Double_t *point, Double_t *ve rt, Int_t &isegment) const; | |||
virtual Bool_t GetPointsOnFacet(Int_t /*index*/, Int_t /*npoints* /, Double_t * /*array*/) const; | virtual Bool_t GetPointsOnFacet(Int_t /*index*/, Int_t /*npoints* /, Double_t * /*array*/) const; | |||
Double_t GetDz() const {return fDz;} | Double_t GetDz() const {return fDz;} | |||
virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; | virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | |||
static void GetPlaneNormal(Double_t *p1, Double_t *p2, Double_ t *p3, Double_t *norm); | static void GetPlaneNormal(Double_t *p1, Double_t *p2, Double_ t *p3, Double_t *norm); | |||
Double_t *GetVertices() {return &fXY[0][0];} | Double_t *GetVertices() {return &fXY[0][0];} | |||
Double_t GetTwist(Int_t iseg) const; | Double_t GetTwist(Int_t iseg) const; | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
static Bool_t IsSamePoint(Double_t *p1, Double_t *p2) {return (T Math::Abs(p1[0]-p2[0])<1.E-16 && TMath::Abs(p1[1]-p2[1])<1.E-16)?kTRUE:kFAL SE;} | static Bool_t IsSamePoint(const Double_t *p1, const Double_t *p2 ) {return (TMath::Abs(p1[0]-p2[0])<1.E-16 && TMath::Abs(p1[1]-p2[1])<1.E-16 )?kTRUE:kFALSE;} | |||
static Bool_t InsidePolygon(Double_t x, Double_t y, Double_t *pt s); | static Bool_t InsidePolygon(Double_t x, Double_t y, Double_t *pt s); | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
Bool_t IsTwisted() const {return (fTwist==0)?kFALSE:kTRUE ;} | Bool_t IsTwisted() const {return (fTwist==0)?kFALSE:kTRUE ;} | |||
Double_t SafetyToFace(Double_t *point, Int_t iseg, Bool_t i | Double_t SafetyToFace(const Double_t *point, Int_t iseg, Bo | |||
n) const; | ol_t in) const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetPlaneVertices(Double_t zpl, Double_t *vertices) const; | void SetPlaneVertices(Double_t zpl, Double_t *vertices) const; | |||
virtual void SetVertex(Int_t vnum, Double_t x, Double_t y); | virtual void SetVertex(Int_t vnum, Double_t x, Double_t y); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
void SetDz(Double_t dz) {fDz = dz;} | void SetDz(Double_t dz) {fDz = dz;} | |||
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; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoArb8, 1) // arbitrary trapezoid with 8 vertices | ClassDef(TGeoArb8, 1) // arbitrary trapezoid with 8 vertices | |||
skipping to change at line 152 | skipping to change at line 157 | |||
TGeoTrap(); | TGeoTrap(); | |||
TGeoTrap(Double_t dz, Double_t theta, Double_t phi); | TGeoTrap(Double_t dz, Double_t theta, Double_t phi); | |||
TGeoTrap(Double_t dz, Double_t theta, Double_t phi, Double_t h1, | TGeoTrap(Double_t dz, Double_t theta, Double_t phi, Double_t h1, | |||
Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Doubl e_t bl2, | Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Doubl e_t bl2, | |||
Double_t tl2, Double_t alpha2); | Double_t tl2, Double_t alpha2); | |||
TGeoTrap(const char *name, Double_t dz, Double_t theta, Double_t phi, Do uble_t h1, | TGeoTrap(const char *name, Double_t dz, Double_t theta, Double_t phi, Do uble_t h1, | |||
Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Doubl e_t bl2, | Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Doubl e_t bl2, | |||
Double_t tl2, Double_t alpha2); | Double_t tl2, Double_t alpha2); | |||
// destructor | // destructor | |||
virtual ~TGeoTrap(); | virtual ~TGeoTrap(); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
Double_t GetTheta() const {return fTheta;} | Double_t GetTheta() const {return fTheta;} | |||
Double_t GetPhi() const {return fPhi;} | Double_t GetPhi() const {return fPhi;} | |||
Double_t GetH1() const {return fH1;} | Double_t GetH1() const {return fH1;} | |||
Double_t GetBl1() const {return fBl1;} | Double_t GetBl1() const {return fBl1;} | |||
Double_t GetTl1() const {return fTl1;} | Double_t GetTl1() const {return fTl1;} | |||
Double_t GetAlpha1() const {return fAlpha1;} | Double_t GetAlpha1() const {return fAlpha1;} | |||
Double_t GetH2() const {return fH2;} | Double_t GetH2() const {return fH2;} | |||
Double_t GetBl2() const {return fBl2;} | Double_t GetBl2() const {return fBl2;} | |||
Double_t GetTl2() const {return fTl2;} | Double_t GetTl2() const {return fTl2;} | |||
Double_t GetAlpha2() const {return fAlpha2;} | Double_t GetAlpha2() const {return fAlpha2;} | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
ClassDef(TGeoTrap, 1) // G3 TRAP shape | ClassDef(TGeoTrap, 1) // G3 TRAP shape | |||
}; | }; | |||
/////////////////////////////////////////////////////////////////////////// / | /////////////////////////////////////////////////////////////////////////// / | |||
// / / | // / / | |||
// TGeoGtra / / | // TGeoGtra / / | |||
// / / | // / / | |||
// Gtra is a twisted general trapezoid, i.e. one for which the faces perpen dicular// | // Gtra is a twisted general trapezoid, i.e. one for which the faces perpen dicular// | |||
skipping to change at line 207 | skipping to change at line 215 | |||
// constructors | // constructors | |||
TGeoGtra(); | TGeoGtra(); | |||
TGeoGtra(Double_t dz, Double_t theta, Double_t phi, Double_t twist, Doub le_t h1, | TGeoGtra(Double_t dz, Double_t theta, Double_t phi, Double_t twist, Doub le_t h1, | |||
Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Doubl e_t bl2, | Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Doubl e_t bl2, | |||
Double_t tl2, Double_t alpha2); | Double_t tl2, Double_t alpha2); | |||
TGeoGtra(const char *name, Double_t dz, Double_t theta, Double_t phi, Do uble_t twist, Double_t h1, | TGeoGtra(const char *name, Double_t dz, Double_t theta, Double_t phi, Do uble_t twist, Double_t h1, | |||
Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Doubl e_t bl2, | Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Doubl e_t bl2, | |||
Double_t tl2, Double_t alpha2); | Double_t tl2, Double_t alpha2); | |||
// destructor | // destructor | |||
virtual ~TGeoGtra(); | virtual ~TGeoGtra(); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
Double_t GetTwistAngle() const {return fTwistAngle;} | Double_t GetTwistAngle() const {return fTwistAngle;} | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
ClassDef(TGeoGtra, 1) // G3 GTRA shape | ClassDef(TGeoGtra, 1) // G3 GTRA shape | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 15 change blocks. | ||||
22 lines changed or deleted | 44 lines changed or added | |||
TGeoBBox.h | TGeoBBox.h | |||
---|---|---|---|---|
skipping to change at line 51 | skipping to change at line 51 | |||
TGeoBBox(); | TGeoBBox(); | |||
TGeoBBox(Double_t dx, Double_t dy, Double_t dz, Double_t *origin=0); | TGeoBBox(Double_t dx, Double_t dy, Double_t dz, Double_t *origin=0); | |||
TGeoBBox(const char *name, Double_t dx, Double_t dy, Double_t dz, Double _t *origin=0); | TGeoBBox(const char *name, Double_t dx, Double_t dy, Double_t dz, Double _t *origin=0); | |||
TGeoBBox(Double_t *param); | TGeoBBox(Double_t *param); | |||
// destructor | // destructor | |||
virtual ~TGeoBBox(); | virtual ~TGeoBBox(); | |||
// methods | // methods | |||
static Bool_t AreOverlapping(const TGeoBBox *box1, const TGeoMat rix *mat1, const TGeoBBox *box2, const TGeoMatrix *mat2); | static Bool_t AreOverlapping(const TGeoBBox *box1, const TGeoMat rix *mat1, const TGeoBBox *box2, const TGeoMatrix *mat2); | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
static Bool_t Contains(const Double_t *point, Double_t dx, Doubl e_t dy, Double_t dz, const Double_t *origin); | static Bool_t Contains(const Double_t *point, Double_t dx, Doubl e_t dy, Double_t dz, const Double_t *origin); | |||
virtual Bool_t CouldBeCrossed(Double_t *point, Double_t *dir) con st; | virtual Bool_t CouldBeCrossed(const Double_t *point, const Double _t *dir) const; | |||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromInside_v(const Double_t *points, const Dou ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
static Double_t DistFromInside(const Double_t *point,const Double_ t *dir, | static Double_t DistFromInside(const Double_t *point,const Double_ t *dir, | |||
Double_t dx, Double_t dy, Double_t dz, c onst Double_t *origin, Double_t stepmax=TGeoShape::Big()); | Double_t dx, Double_t dy, Double_t dz, c onst Double_t *origin, Double_t stepmax=TGeoShape::Big()); | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In t_t iact=1, | virtual Double_t DistFromOutside(const Double_t *point, const Doubl e_t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
static Double_t DistFromOutside(const Double_t *point,const Double _t *dir, | static Double_t DistFromOutside(const Double_t *point,const Double _t *dir, | |||
Double_t dx, Double_t dy, Double_t dz, c onst Double_t *origin, Double_t stepmax=TGeoShape::Big()); | Double_t dx, Double_t dy, Double_t dz, c onst Double_t *origin, Double_t stepmax=TGeoShape::Big()); | |||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual const char *GetAxisName(Int_t iaxis) const; | virtual const char *GetAxisName(Int_t iaxis) const; | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 36;} | virtual Int_t GetByteCount() const {return 36;} | |||
virtual Double_t GetFacetArea(Int_t index=0) const; | virtual Double_t GetFacetArea(Int_t index=0) const; | |||
skipping to change at line 87 | skipping to change at line 91 | |||
virtual Int_t GetNmeshVertices() const {return 8;} | virtual Int_t GetNmeshVertices() const {return 8;} | |||
virtual Double_t GetDX() const {return fDX;} | virtual Double_t GetDX() const {return fDX;} | |||
virtual Double_t GetDY() const {return fDY;} | virtual Double_t GetDY() const {return fDY;} | |||
virtual Double_t GetDZ() const {return fDZ;} | virtual Double_t GetDZ() const {return fDZ;} | |||
virtual const Double_t *GetOrigin() const {return fOrigin;} | virtual const Double_t *GetOrigin() const {return fOrigin;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
virtual Bool_t IsValidBox() const {return ((fDX<0)||(fDY<0)||(fDZ <0))?kFALSE:kTRUE;} | virtual Bool_t IsValidBox() const {return ((fDX<0)||(fDY<0)||(fDZ <0))?kFALSE:kTRUE;} | |||
virtual Bool_t IsNullBox() const {return ((fDX<1.E-16)&&(fDY<1.E- 16)&&(fDZ<1.E-16))?kTRUE:kFALSE;} | virtual Bool_t IsNullBox() const {return ((fDX<1.E-16)&&(fDY<1.E- 16)&&(fDZ<1.E-16))?kTRUE:kFALSE;} | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetBoxDimensions(Double_t dx, Double_t dy, Double_ t dz, Double_t *origin=0); | void SetBoxDimensions(Double_t dx, Double_t dy, Double_ t dz, Double_t *origin=0); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
void SetBoxPoints(Double_t *points) const; | void SetBoxPoints(Double_t *points) const; | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buffer) const; | virtual void SetSegsAndPols(TBuffer3D &buffer) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoBBox, 1) // box primitive | ClassDef(TGeoBBox, 1) // box primitive | |||
End of changes. 7 change blocks. | ||||
7 lines changed or deleted | 16 lines changed or added | |||
TGeoBoolNode.h | TGeoBoolNode.h | |||
---|---|---|---|---|
skipping to change at line 77 | skipping to change at line 77 | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoBoolNode(); | TGeoBoolNode(); | |||
TGeoBoolNode(const char *expr1, const char *expr2); | TGeoBoolNode(const char *expr1, const char *expr2); | |||
TGeoBoolNode(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, TGeo Matrix *rmat=0); | TGeoBoolNode(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, TGeo Matrix *rmat=0); | |||
// destructor | // destructor | |||
virtual ~TGeoBoolNode(); | virtual ~TGeoBoolNode(); | |||
// methods | // methods | |||
virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin) = 0; | virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin) = 0; | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t | virtual void ComputeNormal(const Double_t *point, const Double_t *d | |||
*norm) = 0; | ir, Double_t *norm) = 0; | |||
virtual Bool_t Contains(Double_t *point) const = 0; | virtual Bool_t Contains(const Double_t *point) const = 0; | |||
virtual Int_t DistanceToPrimitive(Int_t px, Int_t py) = 0; | virtual Int_t DistanceToPrimitive(Int_t px, Int_t py) = 0; | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1, | virtual Double_t DistFromInside(const Double_t *point, const 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 Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1, | virtual Double_t DistFromOutside(const Double_t *point, const 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 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); | Bool_t ReplaceMatrix(TGeoMatrix *mat, TGeoMatrix *newmat); | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const = 0; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) const = 0; | |||
virtual void SavePrimitive(std::ostream &out, Option_t *option = "" ); | virtual void SavePrimitive(std::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 122 | skipping to change at line 122 | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoUnion(); | TGeoUnion(); | |||
TGeoUnion(const char *expr1, const char *expr2); | TGeoUnion(const char *expr1, const char *expr2); | |||
TGeoUnion(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, TGeoMat rix *rmat=0); | TGeoUnion(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, TGeoMat rix *rmat=0); | |||
// destructor | // destructor | |||
virtual ~TGeoUnion(); | virtual ~TGeoUnion(); | |||
// methods | // methods | |||
virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); | virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t | virtual void ComputeNormal(const Double_t *point, const Double_t *d | |||
*norm); | ir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); | virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1, | virtual Double_t DistFromInside(const Double_t *point, const 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 Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1, | virtual Double_t DistFromOutside(const Double_t *point, const 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(const Double_t *point, Bool_t in=kTRUE) const; | |||
virtual void SavePrimitive(std::ostream &out, Option_t *option = "" ); | virtual void SavePrimitive(std::ostream &out, Option_t *option = "" ); | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
//CS specific | //CS specific | |||
virtual TGeoBoolNode *MakeClone() const; | 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 | |||
}; | }; | |||
skipping to change at line 161 | skipping to change at line 161 | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoIntersection(); | TGeoIntersection(); | |||
TGeoIntersection(const char *expr1, const char *expr2); | TGeoIntersection(const char *expr1, const char *expr2); | |||
TGeoIntersection(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, TGeoMatrix *rmat=0); | TGeoIntersection(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, TGeoMatrix *rmat=0); | |||
// destructor | // destructor | |||
virtual ~TGeoIntersection(); | virtual ~TGeoIntersection(); | |||
// methods | // methods | |||
virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); | virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t | virtual void ComputeNormal(const Double_t *point, const Double_t *d | |||
*norm); | ir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); | virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1, | virtual Double_t DistFromInside(const Double_t *point, const 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 Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1, | virtual Double_t DistFromOutside(const Double_t *point, const 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(const Double_t *point, Bool_t in=kTRUE) const; | |||
virtual void SavePrimitive(std::ostream &out, Option_t *option = "" ); | virtual void SavePrimitive(std::ostream &out, Option_t *option = "" ); | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
//CS specific | //CS specific | |||
virtual TGeoBoolNode *MakeClone() const; | 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 | |||
}; | }; | |||
skipping to change at line 199 | skipping to change at line 199 | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoSubtraction(); | TGeoSubtraction(); | |||
TGeoSubtraction(const char *expr1, const char *expr2); | TGeoSubtraction(const char *expr1, const char *expr2); | |||
TGeoSubtraction(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, T GeoMatrix *rmat=0); | TGeoSubtraction(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=0, T GeoMatrix *rmat=0); | |||
// destructor | // destructor | |||
virtual ~TGeoSubtraction(); | virtual ~TGeoSubtraction(); | |||
// methods | // methods | |||
virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); | virtual void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Double_t | virtual void ComputeNormal(const Double_t *point, const Double_t *d | |||
*norm); | ir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); | virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t i act=1, | virtual Double_t DistFromInside(const Double_t *point, const 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 Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact=1, | virtual Double_t DistFromOutside(const Double_t *point, const 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(const Double_t *point, Bool_t in=kTRUE) const; | |||
virtual void SavePrimitive(std::ostream &out, Option_t *option = "" ); | virtual void SavePrimitive(std::ostream &out, Option_t *option = "" ); | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
//CS specific | //CS specific | |||
virtual TGeoBoolNode *MakeClone() const; | 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. 16 change blocks. | ||||
24 lines changed or deleted | 24 lines changed or added | |||
TGeoCompositeShape.h | TGeoCompositeShape.h | |||
---|---|---|---|---|
skipping to change at line 54 | skipping to change at line 54 | |||
TGeoCompositeShape(const char *name, const char *expression); | TGeoCompositeShape(const char *name, const char *expression); | |||
TGeoCompositeShape(const char *expression); | TGeoCompositeShape(const char *expression); | |||
TGeoCompositeShape(const char *name, TGeoBoolNode *node); | TGeoCompositeShape(const char *name, TGeoBoolNode *node); | |||
// destructor | // destructor | |||
virtual ~TGeoCompositeShape(); | virtual ~TGeoCompositeShape(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ClearThreadData() const; | virtual void ClearThreadData() const; | |||
virtual void CreateThreadData(Int_t nthreads); | virtual void CreateThreadData(Int_t nthreads); | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
TGeoBoolNode *GetBoolNode() const {return fNode;} | TGeoBoolNode *GetBoolNode() const {return fNode;} | |||
virtual void GetBoundingCylinder(Double_t * /*param*/) const {; } | virtual void GetBoundingCylinder(Double_t * /*param*/) const {; } | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsComposite() const {return kTRUE;} | virtual Bool_t IsComposite() const {return kTRUE;} | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
void MakeNode(const char *expression); | void MakeNode(const char *expression); | |||
virtual Bool_t PaintComposite(Option_t *option = "") const; | virtual Bool_t PaintComposite(Option_t *option = "") const; | |||
void RegisterYourself(); | void RegisterYourself(); | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
virtual void SetDimensions(Double_t * /*param*/) {;} | virtual void SetDimensions(Double_t * /*param*/) {;} | |||
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; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoCompositeShape, 1) // boolean composite shape | ClassDef(TGeoCompositeShape, 1) // boolean composite shape | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 5 change blocks. | ||||
7 lines changed or deleted | 17 lines changed or added | |||
TGeoCone.h | TGeoCone.h | |||
---|---|---|---|---|
skipping to change at line 53 | skipping to change at line 53 | |||
TGeoCone(const char *name, Double_t dz, Double_t rmin1, Double_t rmax1, | TGeoCone(const char *name, Double_t dz, Double_t rmin1, Double_t rmax1, | |||
Double_t rmin2, Double_t rmax2); | Double_t rmin2, Double_t rmax2); | |||
TGeoCone(Double_t *params); | TGeoCone(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoCone(); | virtual ~TGeoCone(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
static Double_t Capacity(Double_t dz, Double_t rmin1, Double_t rma x1, Double_t rmin2, Double_t rmax2); | static Double_t Capacity(Double_t dz, Double_t rmin1, Double_t rma x1, Double_t rmin2, Double_t rmax2); | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
static void ComputeNormalS(Double_t *point, Double_t *dir, Dou | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
ble_t *norm, | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
static void ComputeNormalS(const Double_t *point, const Double | ||||
_t *dir, Double_t *norm, | ||||
Double_t dz, Double_t rmin1, Double _t rmax1, Double_t rmin2, Double_t rmax2); | Double_t dz, Double_t rmin1, Double _t rmax1, Double_t rmin2, Double_t rmax2); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
static void DistToCone(Double_t *point, Double_t *dir, Double_ | static void DistToCone(const Double_t *point, const Double_t * | |||
t dz, Double_t r1, Double_t r2, Double_t &b, Double_t &delta); | dir, Double_t dz, Double_t r1, Double_t r2, Double_t &b, Double_t &delta); | |||
static Double_t DistFromInsideS(Double_t *point, Double_t *dir, Do | static Double_t DistFromInsideS(const Double_t *point, const Doubl | |||
uble_t dz, | e_t *dir, Double_t dz, | |||
Double_t rmin1, Double_t rmax1, Double_ t rmin2, Double_t rmax2); | Double_t rmin1, Double_t rmax1, Double_ t rmin2, Double_t rmax2); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
static Double_t DistFromOutsideS(Double_t *point, Double_t *dir, D | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
ouble_t dz, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
static Double_t DistFromOutsideS(const Double_t *point, const Doub | ||||
le_t *dir, Double_t dz, | ||||
Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2); | Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2); | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In t_t iact=1, | virtual Double_t DistFromOutside(const Double_t *point, const Doubl e_t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual const char *GetAxisName(Int_t iaxis) const; | virtual const char *GetAxisName(Int_t iaxis) const; | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual Int_t GetByteCount() const {return 56;} | virtual Int_t GetByteCount() const {return 56;} | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Double_t GetDz() const {return fDz;} | virtual Double_t GetDz() const {return fDz;} | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
skipping to change at line 88 | skipping to change at line 92 | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | |||
virtual Double_t GetRmin1() const {return fRmin1;} | virtual Double_t GetRmin1() const {return fRmin1;} | |||
virtual Double_t GetRmax1() const {return fRmax1;} | virtual Double_t GetRmax1() const {return fRmax1;} | |||
virtual Double_t GetRmin2() const {return fRmin2;} | virtual Double_t GetRmin2() const {return fRmin2;} | |||
virtual Double_t GetRmax2() const {return fRmax2;} | virtual Double_t GetRmax2() const {return fRmax2;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kTRUE;} | virtual Bool_t IsCylType() const {return kTRUE;} | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
static Double_t SafetyS(Double_t *point, Bool_t in, Double_t dz, D | st; | |||
ouble_t rmin1, Double_t rmax1, | virtual void Safety_v(const Double_t *points, const Bool_t *ins | |||
ide, Double_t *safe, Int_t vecsize) const; | ||||
static Double_t SafetyS(const Double_t *point, Bool_t in, Double_t | ||||
dz, Double_t rmin1, Double_t rmax1, | ||||
Double_t rmin2, Double_t rmax2, Int_t skip z=0); | Double_t rmin2, Double_t rmax2, Int_t skip z=0); | |||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetConeDimensions(Double_t dz, Double_t rmin1, Dou ble_t rmax1, | void SetConeDimensions(Double_t dz, Double_t rmin1, Dou ble_t rmax1, | |||
Double_t rmin2, Double_t rmax2); | Double_t rmin2, Double_t rmax2); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buffer) const; | virtual void SetSegsAndPols(TBuffer3D &buffer) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
skipping to change at line 134 | skipping to change at line 139 | |||
Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2 ); | Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2 ); | |||
TGeoConeSeg(const char *name, Double_t dz, Double_t rmin1, Double_t rmax 1, | TGeoConeSeg(const char *name, Double_t dz, Double_t rmin1, Double_t rmax 1, | |||
Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2 ); | Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2 ); | |||
TGeoConeSeg(Double_t *params); | TGeoConeSeg(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoConeSeg(); | virtual ~TGeoConeSeg(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
static Double_t Capacity(Double_t dz, Double_t rmin1, Double_t rma x1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2); | static Double_t Capacity(Double_t dz, Double_t rmin1, Double_t rma x1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2); | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
static void ComputeNormalS(Double_t *point, Double_t *dir, Dou | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
ble_t *norm, | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
static void ComputeNormalS(const Double_t *point, const Double | ||||
_t *dir, Double_t *norm, | ||||
Double_t dz, Double_t rmin1, Double _t rmax1, Double_t rmin2, Double_t rmax2, | Double_t dz, Double_t rmin1, Double _t rmax1, Double_t rmin2, Double_t rmax2, | |||
Double_t c1, Double_t s1, Double_t c2, Double_t s2); | Double_t c1, Double_t s1, Double_t c2, Double_t s2); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
static Double_t DistToCons(Double_t *point, Double_t *dir, Double_ | static Double_t DistToCons(const Double_t *point, const Double_t * | |||
t r1, Double_t z1, Double_t r2, Double_t z2, Double_t phi1, Double_t phi2); | dir, Double_t r1, Double_t z1, Double_t r2, Double_t z2, Double_t phi1, Dou | |||
static Double_t DistFromInsideS(Double_t *point, Double_t *dir, Do | ble_t phi2); | |||
uble_t dz, Double_t rmin1, Double_t rmax1, | static Double_t DistFromInsideS(const Double_t *point, const Doubl | |||
e_t *dir, Double_t dz, Double_t rmin1, Double_t rmax1, | ||||
Double_t rmin2, Double_t rmax2, Double_t c1, Double_t s1, Double_t c2, Double_t s2, Double_t cm, Double_t sm, Doubl e_t cdfi); | Double_t rmin2, Double_t rmax2, Double_t c1, Double_t s1, Double_t c2, Double_t s2, Double_t cm, Double_t sm, Doubl e_t cdfi); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
static Double_t DistFromOutsideS(Double_t *point, Double_t *dir, D | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
ouble_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
static Double_t DistFromOutsideS(const Double_t *point, const Doub | ||||
le_t *dir, Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Dou | ||||
ble_t rmax2, | ||||
Double_t c1, Double_t s1, Double_t c2, D ouble_t s2, Double_t cm, Double_t sm, Double_t cdfi); | Double_t c1, Double_t s1, Double_t c2, D ouble_t s2, Double_t cm, Double_t sm, Double_t cdfi); | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In t_t iact=1, | virtual Double_t DistFromOutside(const Double_t *point, const Doubl e_t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 64;} | virtual Int_t GetByteCount() const {return 64;} | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | |||
Double_t GetPhi1() const {return fPhi1;} | Double_t GetPhi1() const {return fPhi1;} | |||
Double_t GetPhi2() const {return fPhi2;} | Double_t GetPhi2() const {return fPhi2;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
static Double_t SafetyS(Double_t *point, Bool_t in, Double_t dz, D | st; | |||
ouble_t rmin1, Double_t rmax1, | virtual void Safety_v(const Double_t *points, const Bool_t *ins | |||
ide, Double_t *safe, Int_t vecsize) const; | ||||
static Double_t SafetyS(const Double_t *point, Bool_t in, Double_t | ||||
dz, Double_t rmin1, Double_t rmax1, | ||||
Double_t rmin2, Double_t rmax2, Double_t p hi1, Double_t phi2, Int_t skipz=0); | Double_t rmin2, Double_t rmax2, Double_t p hi1, Double_t phi2, Int_t skipz=0); | |||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetConsDimensions(Double_t dz, Double_t rmin1, Dou ble_t rmax1, | void SetConsDimensions(Double_t dz, Double_t rmin1, Dou ble_t rmax1, | |||
Double_t rmin2, Double_t rmax2, Doub le_t phi1, Double_t phi2); | Double_t rmin2, Double_t rmax2, Doub le_t phi1, Double_t phi2); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buffer) const; | virtual void SetSegsAndPols(TBuffer3D &buffer) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
End of changes. 16 change blocks. | ||||
32 lines changed or deleted | 54 lines changed or added | |||
TGeoEltu.h | TGeoEltu.h | |||
---|---|---|---|---|
skipping to change at line 41 | skipping to change at line 41 | |||
// constructors | // constructors | |||
TGeoEltu(); | TGeoEltu(); | |||
TGeoEltu(Double_t a, Double_t b, Double_t dz); | TGeoEltu(Double_t a, Double_t b, Double_t dz); | |||
TGeoEltu(const char *name, Double_t a, Double_t b, Double_t dz); | TGeoEltu(const char *name, Double_t a, Double_t b, Double_t dz); | |||
TGeoEltu(Double_t *params); | TGeoEltu(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoEltu(); | virtual ~TGeoEltu(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetA() const {return fRmin;} | virtual Double_t GetA() const {return fRmin;} | |||
virtual Double_t GetB() const {return fRmax;} | virtual Double_t GetB() const {return fRmax;} | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kTRUE;} | virtual Bool_t IsCylType() const {return kTRUE;} | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetEltuDimensions(Double_t a, Double_t b, Double_t dz); | void SetEltuDimensions(Double_t a, Double_t b, Double_t dz); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
ClassDef(TGeoEltu, 1) // elliptical tube class | ClassDef(TGeoEltu, 1) // elliptical tube class | |||
}; | }; | |||
End of changes. 5 change blocks. | ||||
7 lines changed or deleted | 17 lines changed or added | |||
TGeoExtension.h | TGeoExtension.h | |||
---|---|---|---|---|
skipping to change at line 40 | skipping to change at line 40 | |||
class TGeoExtension : public TObject | class TGeoExtension : public TObject | |||
{ | { | |||
protected: | protected: | |||
TGeoExtension() : TObject() {} | TGeoExtension() : TObject() {} | |||
virtual ~TGeoExtension() {} | virtual ~TGeoExtension() {} | |||
public: | public: | |||
// Method called whenever requiring a pointer to the extension | // Method called whenever requiring a pointer to the extension | |||
// Equivalent to new() | // Equivalent to new() | |||
virtual TGeoExtension *Grab() const = 0; | virtual TGeoExtension *Grab() = 0; | |||
// Method called always when the pointer to the extension is not needed | // Method called always when the pointer to the extension is not needed | |||
// Equivalent to delete() | // Equivalent to delete() | |||
virtual void Release() const = 0; | virtual void Release() const = 0; | |||
ClassDef(TGeoExtension, 1) // User extension for volumes and nodes | ClassDef(TGeoExtension, 1) // User extension for volumes and nodes | |||
}; | }; | |||
//_________________________________________________________________________ _____ | //_________________________________________________________________________ _____ | |||
// TGeoRCExtension - Reference counted extension which has a pointer to a nd | // TGeoRCExtension - Reference counted extension which has a pointer to a nd | |||
// owns a user defined TObject. This class can be used as | // owns a user defined TObject. This class can be used as | |||
skipping to change at line 63 | skipping to change at line 63 | |||
//_________________________________________________________________________ _____ | //_________________________________________________________________________ _____ | |||
class TGeoRCExtension : public TGeoExtension | class TGeoRCExtension : public TGeoExtension | |||
{ | { | |||
protected: | protected: | |||
virtual ~TGeoRCExtension() {delete fUserObject;} | virtual ~TGeoRCExtension() {delete fUserObject;} | |||
public: | public: | |||
TGeoRCExtension() : TGeoExtension(), fRC(0), fUserObject(0) {fRC++;} | TGeoRCExtension() : TGeoExtension(), fRC(0), fUserObject(0) {fRC++;} | |||
TGeoRCExtension(TObject *obj) : TGeoExtension(), fRC(0), fUserObject(obj ) {fRC++;} | TGeoRCExtension(TObject *obj) : TGeoExtension(), fRC(0), fUserObject(obj ) {fRC++;} | |||
TGeoExtension *Grab() const {fRC++; return (TGeoExt ension*)this;} | TGeoExtension *Grab() {fRC++; return this;} | |||
void Release() const {assert(fRC > 0); fRC-- ; if (fRC ==0) delete this;} | void Release() const {assert(fRC > 0); fRC-- ; if (fRC ==0) delete this;} | |||
void SetUserObject(TObject *obj) {fUserObject = obj;} | void SetUserObject(TObject *obj) {fUserObject = obj;} | |||
TObject *GetUserObject() const {return fUserObject;} | TObject *GetUserObject() const {return fUserObject;} | |||
private: | private: | |||
// Copy constructor and assignment not allowed | // Copy constructor and assignment not allowed | |||
TGeoRCExtension(const TGeoRCExtension &) {} | TGeoRCExtension(const TGeoRCExtension &); // Not implemented | |||
TGeoRCExtension &operator =(const TGeoRCExtension &) {return *this;} | TGeoRCExtension &operator =(const TGeoRCExtension &); // Not implemented | |||
mutable Int_t fRC; // Reference counter | mutable Int_t fRC; // Reference counter | |||
TObject *fUserObject; // Attached user object | TObject *fUserObject; // Attached user object | |||
ClassDef(TGeoRCExtension, 1) // Reference counted extension for vo lumes and nodes | ClassDef(TGeoRCExtension, 1) // Reference counted extension for vo lumes and nodes | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
TGeoHalfSpace.h | TGeoHalfSpace.h | |||
---|---|---|---|---|
skipping to change at line 44 | skipping to change at line 44 | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoHalfSpace(); | TGeoHalfSpace(); | |||
TGeoHalfSpace(const char *name, Double_t *p, Double_t *n); | TGeoHalfSpace(const char *name, Double_t *p, Double_t *n); | |||
TGeoHalfSpace(Double_t *params); | TGeoHalfSpace(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoHalfSpace(); | virtual ~TGeoHalfSpace(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const {return 0.;} | virtual Double_t Capacity() const {return 0.;} | |||
virtual void ComputeBBox() {;} | virtual void ComputeBBox() {;} | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t *GetPoint() {return fP;} | virtual Double_t *GetPoint() {return fP;} | |||
virtual Double_t *GetNorm() {return fN;} | virtual Double_t *GetNorm() {return fN;} | |||
virtual void GetBoundingCylinder(Double_t * /*param*/) const {; } | virtual void GetBoundingCylinder(Double_t * /*param*/) const {; } | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const {return 0;} | virtual Int_t GetNmeshVertices() const {return 0;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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 {;} | |||
virtual void Sizeof3D() const {;} | virtual void Sizeof3D() const {;} | |||
ClassDef(TGeoHalfSpace, 1) // half-space class | ClassDef(TGeoHalfSpace, 1) // half-space class | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 5 change blocks. | ||||
7 lines changed or deleted | 17 lines changed or added | |||
TGeoHype.h | TGeoHype.h | |||
---|---|---|---|---|
skipping to change at line 75 | skipping to change at line 75 | |||
TGeoHype(); | TGeoHype(); | |||
TGeoHype(Double_t rin, Double_t stin, Double_t rout, Double_t stout, Dou ble_t dz); | TGeoHype(Double_t rin, Double_t stin, Double_t rout, Double_t stout, Dou ble_t dz); | |||
TGeoHype(const char *name, Double_t rin, Double_t stin, Double_t rout, D ouble_t stout, Double_t dz); | TGeoHype(const char *name, Double_t rin, Double_t stin, Double_t rout, D ouble_t stout, Double_t dz); | |||
TGeoHype(Double_t *params); | TGeoHype(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoHype(); | virtual ~TGeoHype(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
_t iact=1, | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Double_t DistFromInside(const Double_t *point, const Double | ||||
_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
Int_t DistToHype(Double_t *point, Double_t *dir, Double_ | virtual void DistFromOutside_v(const Double_t *points, const Do | |||
t *s, Bool_t inner, Bool_t in) const; | uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
Int_t DistToHype(const Double_t *point, const Double_t * | ||||
dir, Double_t *s, Bool_t inner, Bool_t in) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 64;} | virtual Int_t GetByteCount() const {return 64;} | |||
virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
Double_t GetStIn() const {return fStIn;} | Double_t GetStIn() const {return fStIn;} | |||
Double_t GetStOut() const {return fStOut;} | Double_t GetStOut() const {return fStOut;} | |||
Bool_t HasInner() const {return !TestShapeBit(kGeoRSeg);} | Bool_t HasInner() const {return !TestShapeBit(kGeoRSeg);} | |||
Double_t RadiusHypeSq(Double_t z, Bool_t inner) const; | Double_t RadiusHypeSq(Double_t z, Bool_t inner) const; | |||
Double_t ZHypeSq(Double_t r, Bool_t inner) const; | Double_t ZHypeSq(Double_t r, Bool_t inner) const; | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kTRUE;} | virtual Bool_t IsCylType() const {return kTRUE;} | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
//virtual void Paint(Option_t *option); | //virtual void Paint(Option_t *option); | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
Double_t SafetyToHype(Double_t *point, Bool_t inner, Bool_t | st; | |||
in) const; | virtual void Safety_v(const Double_t *points, const Bool_t *ins | |||
ide, Double_t *safe, Int_t vecsize) const; | ||||
Double_t SafetyToHype(const Double_t *point, Bool_t inner, | ||||
Bool_t in) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetHypeDimensions(Double_t rin, Double_t stin, Dou ble_t rout, Double_t stout, Double_t dz); | void SetHypeDimensions(Double_t rin, Double_t stin, Dou ble_t rout, Double_t stout, Double_t dz); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoHype, 1) // hyperboloid class | ClassDef(TGeoHype, 1) // hyperboloid class | |||
End of changes. 4 change blocks. | ||||
12 lines changed or deleted | 23 lines changed or added | |||
TGeoManager.h | TGeoManager.h | |||
---|---|---|---|---|
skipping to change at line 79 | skipping to change at line 79 | |||
Int_t fNsegments; // number of segments to approx imate circles | Int_t fNsegments; // number of segments to approx imate circles | |||
Int_t fNtracks; // number of tracks | Int_t fNtracks; // number of tracks | |||
Int_t fMaxVisNodes; // maximum number of visible no des | Int_t fMaxVisNodes; // maximum number of visible no des | |||
TVirtualGeoTrack *fCurrentTrack; //! current track | TVirtualGeoTrack *fCurrentTrack; //! current track | |||
Int_t fNpdg; // number of different pdg's st ored | Int_t fNpdg; // number of different pdg's st ored | |||
Int_t fPdgId[256]; // pdg conversion table | Int_t fPdgId[256]; // pdg conversion table | |||
Bool_t fClosed; //! flag that geometry is close d | Bool_t fClosed; //! flag that geometry is close d | |||
Bool_t fLoopVolumes; //! flag volume lists loop | Bool_t fLoopVolumes; //! flag volume lists loop | |||
Bool_t fStreamVoxels; // flag to allow voxelization I /O | Bool_t fStreamVoxels; // flag to allow voxelization I /O | |||
Bool_t fIsGeomReading; //! flag set when reading geome try | Bool_t fIsGeomReading; //! flag set when reading geome try | |||
Bool_t fIsGeomCleaning; //! flag to notify that the man ager is being destructed | ||||
Bool_t fPhiCut; // flag for phi cuts | Bool_t fPhiCut; // flag for phi cuts | |||
Bool_t fTimeCut; // time cut for tracks | Bool_t fTimeCut; // time cut for tracks | |||
Bool_t fDrawExtra; //! flag that the list of physi cal nodes has to be drawn | Bool_t fDrawExtra; //! flag that the list of physi cal nodes has to be drawn | |||
Bool_t fMatrixTransform; //! flag for using GL matrix | Bool_t fMatrixTransform; //! flag for using GL matrix | |||
Bool_t fMatrixReflection; //! flag for GL reflections | Bool_t fMatrixReflection; //! flag for GL reflections | |||
Bool_t fActivity; //! switch ON/OFF volume activi ty (default OFF - all volumes active)) | Bool_t fActivity; //! switch ON/OFF volume activi ty (default OFF - all volumes active)) | |||
Bool_t fIsNodeSelectable; //! flag that nodes are the sel ected objects in pad rather than volumes | Bool_t fIsNodeSelectable; //! flag that nodes are the sel ected objects in pad rather than volumes | |||
TVirtualGeoPainter *fPainter; //! current painter | TVirtualGeoPainter *fPainter; //! current painter | |||
TObjArray *fMatrices; //-> list of local transformati ons | TObjArray *fMatrices; //-> list of local transformati ons | |||
skipping to change at line 451 | skipping to change at line 452 | |||
//--- I/O | //--- I/O | |||
virtual Int_t Export(const char *filename, const char *name="", Option_t *option="vg"); | virtual Int_t Export(const char *filename, const char *name="", Option_t *option="vg"); | |||
static void LockGeometry(); | static void LockGeometry(); | |||
static void UnlockGeometry(); | static void UnlockGeometry(); | |||
static Int_t GetVerboseLevel(); | static Int_t GetVerboseLevel(); | |||
static void SetVerboseLevel(Int_t vl); | static void SetVerboseLevel(Int_t vl); | |||
static TGeoManager *Import(const char *filename, const char *name="", Option_t *option=""); | static TGeoManager *Import(const char *filename, const char *name="", Option_t *option=""); | |||
static Bool_t IsLocked(); | static Bool_t IsLocked(); | |||
Bool_t IsStreamingVoxels() const {return fStreamVoxels;} | Bool_t IsStreamingVoxels() const {return fStreamVoxels;} | |||
Bool_t IsCleaning() const {return fIsGeomCleaning;} | ||||
//--- list getters | //--- list getters | |||
TObjArray *GetListOfNodes() {return fNodes;} | TObjArray *GetListOfNodes() {return fNodes;} | |||
TObjArray *GetListOfPhysicalNodes() {return fPhysicalNo des;} | TObjArray *GetListOfPhysicalNodes() {return fPhysicalNo des;} | |||
TObjArray *GetListOfOverlaps() {return fOverlaps;} | TObjArray *GetListOfOverlaps() {return fOverlaps;} | |||
TObjArray *GetListOfMatrices() const {return fMatrices;} | TObjArray *GetListOfMatrices() const {return fMatrices;} | |||
TList *GetListOfMaterials() const {return fMaterials; } | TList *GetListOfMaterials() const {return fMaterials; } | |||
TList *GetListOfMedia() const {return fMedia;} | TList *GetListOfMedia() const {return fMedia;} | |||
TObjArray *GetListOfVolumes() const {return fVolumes;} | TObjArray *GetListOfVolumes() const {return fVolumes;} | |||
TObjArray *GetListOfGVolumes() const {return fGVolumes;} | TObjArray *GetListOfGVolumes() const {return fGVolumes;} | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 2 lines changed or added | |||
TGeoMatrix.h | TGeoMatrix.h | |||
---|---|---|---|---|
skipping to change at line 257 | skipping to change at line 257 | |||
{ | { | |||
protected: | protected: | |||
Double_t fScale[3]; // scale (x, y, z) | Double_t fScale[3]; // scale (x, y, z) | |||
public : | public : | |||
TGeoScale(); | TGeoScale(); | |||
TGeoScale(const TGeoScale &other); | TGeoScale(const TGeoScale &other); | |||
TGeoScale(Double_t sx, Double_t sy, Double_t sz); | TGeoScale(Double_t sx, Double_t sy, Double_t sz); | |||
TGeoScale(const char *name, Double_t sx, Double_t sy, Double_t sz); | TGeoScale(const char *name, Double_t sx, Double_t sy, Double_t sz); | |||
virtual ~TGeoScale(); | virtual ~TGeoScale(); | |||
TGeoScale& operator=(const TGeoScale &other); | ||||
virtual TGeoMatrix& Inverse() const; | virtual TGeoMatrix& Inverse() const; | |||
void SetScale(Double_t sx, Double_t sy, Double_t sz); | void SetScale(Double_t sx, Double_t sy, Double_t sz); | |||
virtual void LocalToMaster(const Double_t *local, Double_t *mast er) const; | virtual void LocalToMaster(const Double_t *local, Double_t *mast er) const; | |||
Double_t LocalToMaster(Double_t dist, const Double_t *dir=0) const; | Double_t LocalToMaster(Double_t dist, const Double_t *dir=0) const; | |||
virtual void LocalToMasterVect(const Double_t *local, Double_t * master) const {TGeoScale::LocalToMaster(local, master);} | virtual void LocalToMasterVect(const Double_t *local, Double_t * master) const {TGeoScale::LocalToMaster(local, master);} | |||
virtual TGeoMatrix *MakeClone() const; | virtual TGeoMatrix *MakeClone() const; | |||
virtual void MasterToLocal(const Double_t *master, Double_t *loc al) const; | virtual void MasterToLocal(const Double_t *master, Double_t *loc al) const; | |||
Double_t MasterToLocal(Double_t dist, const Double_t *dir=0) const; | Double_t MasterToLocal(Double_t dist, const Double_t *dir=0) const; | |||
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const {TGeoScale::MasterToLocal(master, local);} | virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const {TGeoScale::MasterToLocal(master, local);} | |||
virtual void ReflectX(Bool_t, Bool_t) {fScale[0]=-fScale[0]; Set Bit(kGeoReflection, !IsReflection());} | virtual void ReflectX(Bool_t, Bool_t) {fScale[0]=-fScale[0]; Set Bit(kGeoReflection, !IsReflection());} | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
TGeoNode.h | TGeoNode.h | |||
---|---|---|---|---|
skipping to change at line 119 | skipping to change at line 119 | |||
virtual Bool_t IsFolder() const {return (GetNdaughters()?kTRUE:kFALSE );} | virtual Bool_t IsFolder() const {return (GetNdaughters()?kTRUE:kFALSE );} | |||
Bool_t IsOffset() const {return TObject::TestBit(kGeoNodeOffs et);} | Bool_t IsOffset() const {return TObject::TestBit(kGeoNodeOffs et);} | |||
Bool_t IsOnScreen() const; // *MENU* | Bool_t IsOnScreen() const; // *MENU* | |||
Bool_t IsOverlapping() const {return TObject::TestBit(kGeoNod eOverlap);} | Bool_t IsOverlapping() const {return TObject::TestBit(kGeoNod eOverlap);} | |||
Bool_t IsVirtual() const {return TObject::TestBit(kGeoNodeVC) ;} | Bool_t IsVirtual() const {return TObject::TestBit(kGeoNodeVC) ;} | |||
Bool_t IsVisible() const {return (TGeoAtt::IsVisible() && fVo lume->IsVisible());} | Bool_t IsVisible() const {return (TGeoAtt::IsVisible() && fVo lume->IsVisible());} | |||
Bool_t IsVisDaughters() const {return (TGeoAtt::IsVisDaughter s() && fVolume->IsVisDaughters());} | Bool_t IsVisDaughters() const {return (TGeoAtt::IsVisDaughter s() && fVolume->IsVisDaughters());} | |||
Bool_t MayOverlap(Int_t iother) const; | Bool_t MayOverlap(Int_t iother) const; | |||
virtual TGeoNode *MakeCopyNode() const {return 0;} | virtual TGeoNode *MakeCopyNode() const {return 0;} | |||
Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | Double_t Safety(const Double_t *point, Bool_t in=kTRUE) const; | |||
void SaveAttributes(std::ostream &out); | void SaveAttributes(std::ostream &out); | |||
void SetCurrentPoint(Double_t x, Double_t y, Double_t z) {f Volume->SetCurrentPoint(x,y,z);}// *MENU* | void SetCurrentPoint(Double_t x, Double_t y, Double_t z) {f Volume->SetCurrentPoint(x,y,z);}// *MENU* | |||
void SetVolume(TGeoVolume *volume) {fVolume = volume; } | void SetVolume(TGeoVolume *volume) {fVolume = volume; } | |||
void SetNumber(Int_t number) {fNumber=number;} | void SetNumber(Int_t number) {fNumber=number;} | |||
void SetOverlapping(Bool_t flag=kTRUE) {TObject::SetBit(k GeoNodeOverlap, flag);} | void SetOverlapping(Bool_t flag=kTRUE) {TObject::SetBit(k GeoNodeOverlap, flag);} | |||
void SetVirtual() {TObject::SetBit(k GeoNodeVC, kTRUE);} | void SetVirtual() {TObject::SetBit(k GeoNodeVC, kTRUE);} | |||
void SetVisibility(Bool_t vis=kTRUE); // *MENU* | void SetVisibility(Bool_t vis=kTRUE); // *MENU* | |||
void SetInvisible() {SetVisibility(kFA LSE);} // *MENU* | void SetInvisible() {SetVisibility(kFA LSE);} // *MENU* | |||
void SetAllInvisible() {VisibleDaughters( kFALSE);} // *MENU* | void SetAllInvisible() {VisibleDaughters( kFALSE);} // *MENU* | |||
void SetMotherVolume(TGeoVolume *mother) {fMother = mother; } | void SetMotherVolume(TGeoVolume *mother) {fMother = mother; } | |||
skipping to change at line 214 | skipping to change at line 214 | |||
TGeoNodeOffset(const TGeoVolume *vol, Int_t index, Double_t offset); | TGeoNodeOffset(const TGeoVolume *vol, Int_t index, Double_t offset); | |||
// destructor | // destructor | |||
virtual ~TGeoNodeOffset(); | virtual ~TGeoNodeOffset(); | |||
virtual void cd() const {fFinder->cd(fIndex);} | virtual void cd() const {fFinder->cd(fIndex);} | |||
Double_t GetOffset() const {return fOffset;} | Double_t GetOffset() const {return fOffset;} | |||
virtual Int_t GetIndex() const; | virtual Int_t GetIndex() const; | |||
virtual TGeoPatternFinder *GetFinder() const {return fFinder;} | virtual TGeoPatternFinder *GetFinder() const {return fFinder;} | |||
virtual TGeoMatrix *GetMatrix() const {cd(); return fFinder->GetMatrix() ;} | virtual TGeoMatrix *GetMatrix() const {cd(); return fFinder->GetMatrix() ;} | |||
virtual TGeoNode *MakeCopyNode() const; | virtual TGeoNode *MakeCopyNode() const; | |||
void SetFinder(const TGeoPatternFinder *finder) {fFinder = (TGeoPatternFinder*)finder;} | void SetFinder(TGeoPatternFinder *finder) {fFinder = finder ;} | |||
ClassDef(TGeoNodeOffset, 1) // a geometry node with just an offset | ClassDef(TGeoNodeOffset, 1) // a geometry node with just an offset | |||
}; | }; | |||
/////////////////////////////////////////////////////////////////////////// / | /////////////////////////////////////////////////////////////////////////// / | |||
// / / | // / / | |||
// TGeoIteratorPlugin - Plugin for a TGeoIterator providing the method / / | // TGeoIteratorPlugin - Plugin for a TGeoIterator providing the method / / | |||
// ProcessNode each time Next is called. / / | // ProcessNode each time Next is called. / / | |||
// / / | // / / | |||
/////////////////////////////////////////////////////////////////////////// / | /////////////////////////////////////////////////////////////////////////// / | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TGeoPara.h | TGeoPara.h | |||
---|---|---|---|---|
skipping to change at line 56 | skipping to change at line 56 | |||
// constructors | // constructors | |||
TGeoPara(); | TGeoPara(); | |||
TGeoPara(Double_t dx, Double_t dy, Double_t dz, Double_t alpha, Double_t theta, Double_t phi); | TGeoPara(Double_t dx, Double_t dy, Double_t dz, Double_t alpha, Double_t theta, Double_t phi); | |||
TGeoPara(const char *name, Double_t dx, Double_t dy, Double_t dz, Double _t alpha, Double_t theta, Double_t phi); | TGeoPara(const char *name, Double_t dx, Double_t dy, Double_t dz, Double _t alpha, Double_t theta, Double_t phi); | |||
TGeoPara(Double_t *param); | TGeoPara(Double_t *param); | |||
// destructor | // destructor | |||
virtual ~TGeoPara(); | virtual ~TGeoPara(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
_t iact=1, | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Double_t DistFromInside(const Double_t *point, const Double | ||||
_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual Int_t GetByteCount() const {return 48;} | virtual Int_t GetByteCount() const {return 48;} | |||
virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; | virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual Int_t GetNmeshVertices() const {return 8;} | virtual Int_t GetNmeshVertices() const {return 8;} | |||
Double_t GetX() const {return fX;} | Double_t GetX() const {return fX;} | |||
Double_t GetY() const {return fY;} | Double_t GetY() const {return fY;} | |||
Double_t GetZ() const {return fZ;} | Double_t GetZ() const {return fZ;} | |||
Double_t GetAlpha() const {return fAlpha;} | Double_t GetAlpha() const {return fAlpha;} | |||
Double_t GetTheta() const {return fTheta;} | Double_t GetTheta() const {return fTheta;} | |||
Double_t GetPhi() const {return fPhi;} | Double_t GetPhi() const {return fPhi;} | |||
Double_t GetTxy() const {return fTxy;} | Double_t GetTxy() const {return fTxy;} | |||
Double_t GetTxz() const {return fTxz;} | Double_t GetTxz() const {return fTxz;} | |||
Double_t GetTyz() const {return fTyz;} | Double_t GetTyz() const {return fTyz;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoPara, 1) // box primitive | ClassDef(TGeoPara, 1) // box primitive | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
8 lines changed or deleted | 18 lines changed or added | |||
TGeoParaboloid.h | TGeoParaboloid.h | |||
---|---|---|---|---|
skipping to change at line 55 | skipping to change at line 55 | |||
// constructors | // constructors | |||
TGeoParaboloid(); | TGeoParaboloid(); | |||
TGeoParaboloid(Double_t rlo, Double_t rhi, Double_t dz); | TGeoParaboloid(Double_t rlo, Double_t rhi, Double_t dz); | |||
TGeoParaboloid(const char *name, Double_t rlo, Double_t rhi, Double_t dz ); | TGeoParaboloid(const char *name, Double_t rlo, Double_t rhi, Double_t dz ); | |||
TGeoParaboloid(Double_t *params); | TGeoParaboloid(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoParaboloid(); | virtual ~TGeoParaboloid(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
Double_t DistToParaboloid(Double_t *point, Double_t *dir, B | Double_t DistToParaboloid(const Double_t *point, const Doub | |||
ool_t in) const; | le_t *dir, Bool_t in) const; | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | virtual Double_t DistFromInside(const Double_t *point, const Double | |||
_t iact=1, | _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
Double_t GetRlo() const {return fRlo;} | Double_t GetRlo() const {return fRlo;} | |||
Double_t GetRhi() const {return fRhi;} | Double_t GetRhi() const {return fRhi;} | |||
Double_t GetDz() const {return fDz;} | Double_t GetDz() const {return fDz;} | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kTRUE;} | virtual Bool_t IsCylType() const {return kTRUE;} | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetParaboloidDimensions(Double_t rlo, Double_t rhi , Double_t dz); | void SetParaboloidDimensions(Double_t rlo, Double_t rhi , Double_t dz); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoParaboloid, 1) // paraboloid class | ClassDef(TGeoParaboloid, 1) // paraboloid class | |||
End of changes. 5 change blocks. | ||||
10 lines changed or deleted | 20 lines changed or added | |||
TGeoPatternFinder.h | TGeoPatternFinder.h | |||
---|---|---|---|---|
skipping to change at line 43 | skipping to change at line 43 | |||
{ | { | |||
public: | public: | |||
struct ThreadData_t | struct ThreadData_t | |||
{ | { | |||
TGeoMatrix *fMatrix; //! generic matrix | TGeoMatrix *fMatrix; //! generic matrix | |||
Int_t fCurrent; //! current division element | Int_t fCurrent; //! current division element | |||
Int_t fNextIndex; //! index of next node | Int_t fNextIndex; //! index of next node | |||
ThreadData_t(); | ThreadData_t(); | |||
~ThreadData_t(); | ~ThreadData_t(); | |||
private: | ||||
ThreadData_t(const ThreadData_t&); // Not implemented | ||||
ThreadData_t& operator=(const ThreadData_t&); // Not implemented | ||||
}; | }; | |||
ThreadData_t& GetThreadData() const; | ThreadData_t& GetThreadData() const; | |||
void ClearThreadData() const; | void ClearThreadData() const; | |||
void CreateThreadData(Int_t nthreads); | void CreateThreadData(Int_t nthreads); | |||
protected : | protected : | |||
enum EGeoPatternFlags { | enum EGeoPatternFlags { | |||
kPatternReflected = BIT(14), | kPatternReflected = BIT(14), | |||
kPatternSpacedOut = BIT(15) | kPatternSpacedOut = BIT(15) | |||
}; | }; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 3 lines changed or added | |||
TGeoPcon.h | TGeoPcon.h | |||
---|---|---|---|---|
skipping to change at line 64 | skipping to change at line 64 | |||
// constructors | // constructors | |||
TGeoPcon(); | TGeoPcon(); | |||
TGeoPcon(Double_t phi, Double_t dphi, Int_t nz); | TGeoPcon(Double_t phi, Double_t dphi, Int_t nz); | |||
TGeoPcon(const char *name, Double_t phi, Double_t dphi, Int_t nz); | TGeoPcon(const char *name, Double_t phi, Double_t dphi, Int_t nz); | |||
TGeoPcon(Double_t *params); | TGeoPcon(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoPcon(); | virtual ~TGeoPcon(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual void DefineSection(Int_t snum, Double_t z, Double_t rmi n, Double_t rmax); | virtual void DefineSection(Int_t snum, Double_t z, Double_t rmi n, Double_t rmax); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
Double_t DistToSegZ(Double_t *point, Double_t *dir, Int_t & | virtual void DistFromOutside_v(const Double_t *points, const Do | |||
iz) const; | uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
Double_t DistToSegZ(const Double_t *point, const Double_t * | ||||
dir, Int_t &iz) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual const char *GetAxisName(Int_t iaxis) const; | virtual const char *GetAxisName(Int_t iaxis) const; | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 60+12*fNz;} | virtual Int_t GetByteCount() const {return 60+12*fNz;} | |||
Double_t GetPhi1() const {return fPhi1;} | Double_t GetPhi1() const {return fPhi1;} | |||
Double_t GetDphi() const {return fDphi;} | Double_t GetDphi() const {return fDphi;} | |||
skipping to change at line 102 | skipping to change at line 106 | |||
virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kTRUE;} | virtual Bool_t IsCylType() const {return kTRUE;} | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
Double_t &Phi1() {return fPhi1;} | Double_t &Phi1() {return fPhi1;} | |||
Double_t &Dphi() {return fDphi;} | Double_t &Dphi() {return fDphi;} | |||
Double_t &Rmin(Int_t ipl) {return fRmin[ipl];} | Double_t &Rmin(Int_t ipl) {return fRmin[ipl];} | |||
Double_t &Rmax(Int_t ipl) {return fRmax[ipl];} | Double_t &Rmax(Int_t ipl) {return fRmax[ipl];} | |||
Double_t &Z(Int_t ipl) {return fZ[ipl];} | Double_t &Z(Int_t ipl) {return fZ[ipl];} | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
Double_t SafetyToSegment(Double_t *point, Int_t ipl, Bool_t | st; | |||
in=kTRUE, Double_t safmin=TGeoShape::Big()) const; | virtual void Safety_v(const Double_t *points, const Bool_t *ins | |||
ide, Double_t *safe, Int_t vecsize) const; | ||||
Double_t SafetyToSegment(const Double_t *point, Int_t ipl, | ||||
Bool_t in=kTRUE, Double_t safmin=TGeoShape::Big()) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoPcon, 1) // polycone class | ClassDef(TGeoPcon, 1) // polycone class | |||
}; | }; | |||
End of changes. 5 change blocks. | ||||
11 lines changed or deleted | 22 lines changed or added | |||
TGeoPgon.h | TGeoPgon.h | |||
---|---|---|---|---|
skipping to change at line 39 | skipping to change at line 39 | |||
/////////////////////////////////////////////////////////////////////////// / | /////////////////////////////////////////////////////////////////////////// / | |||
class TGeoPgon : public TGeoPcon | class TGeoPgon : public TGeoPcon | |||
{ | { | |||
protected: | protected: | |||
// data members | // data members | |||
Int_t fNedges; // number of edges (at least one) | Int_t fNedges; // number of edges (at least one) | |||
mutable Int_t *fIntBuffer; //![fNedges+4] temporary int buffer ar ray | mutable Int_t *fIntBuffer; //![fNedges+4] temporary int buffer ar ray | |||
mutable Double_t *fDblBuffer; //![fNedges+4] temporary double buffer array | mutable Double_t *fDblBuffer; //![fNedges+4] temporary double buffer array | |||
Int_t GetPhiCrossList(Double_t *point, Double_t *dir, In | Int_t GetPhiCrossList(const Double_t *point, const Doubl | |||
t_t istart, Double_t *sphi, Int_t *iphi, Double_t stepmax=TGeoShape::Big()) | e_t *dir, Int_t istart, Double_t *sphi, Int_t *iphi, Double_t stepmax=TGeoS | |||
const; | hape::Big()) const; | |||
Bool_t IsCrossingSlice(Double_t *point, Double_t *dir, In | Bool_t IsCrossingSlice(const Double_t *point, const Doubl | |||
t_t iphi, Double_t sstart, Int_t &ipl, Double_t &snext, Double_t stepmax) c | e_t *dir, Int_t iphi, Double_t sstart, Int_t &ipl, Double_t &snext, Double_ | |||
onst; | t stepmax) const; | |||
void LocatePhi(Double_t *point, Int_t &ipsec) const; | void LocatePhi(const Double_t *point, Int_t &ipsec) con | |||
st; | ||||
Double_t Rpg(Double_t z, Int_t ipl, Bool_t inner, Double_t &a, Double_t &b) const; | Double_t Rpg(Double_t z, Int_t ipl, Bool_t inner, Double_t &a, Double_t &b) const; | |||
Double_t Rproj(Double_t z,Double_t *point, Double_t *dir, D | Double_t Rproj(Double_t z,const Double_t *point, const Doub | |||
ouble_t cphi, Double_t sphi, Double_t &a, Double_t &b) const; | le_t *dir, Double_t cphi, Double_t sphi, Double_t &a, Double_t &b) const; | |||
Bool_t SliceCrossing(Double_t *point, Double_t *dir, Int_ | Bool_t SliceCrossing(const Double_t *point, const Double_ | |||
t nphi, Int_t *iphi, Double_t *sphi, Double_t &snext, Double_t stepmax) con | t *dir, Int_t nphi, Int_t *iphi, Double_t *sphi, Double_t &snext, Double_t | |||
st; | stepmax) const; | |||
Bool_t SliceCrossingIn(Double_t *point, Double_t *dir, In | Bool_t SliceCrossingIn(const Double_t *point, const Doubl | |||
t_t ipl, Int_t nphi, Int_t *iphi, Double_t *sphi, Double_t &snext, Double_t | e_t *dir, Int_t ipl, Int_t nphi, Int_t *iphi, Double_t *sphi, Double_t &sne | |||
stepmax) const; | xt, Double_t stepmax) const; | |||
Bool_t SliceCrossingZ(Double_t *point, Double_t *dir, Int | Bool_t SliceCrossingZ(const Double_t *point, const Double | |||
_t nphi, Int_t *iphi, Double_t *sphi, Double_t &snext, Double_t stepmax) co | _t *dir, Int_t nphi, Int_t *iphi, Double_t *sphi, Double_t &snext, Double_t | |||
nst; | stepmax) const; | |||
Bool_t SliceCrossingInZ(Double_t *point, Double_t *dir, I | Bool_t SliceCrossingInZ(const Double_t *point, const Doub | |||
nt_t nphi, Int_t *iphi, Double_t *sphi, Double_t &snext, Double_t stepmax) | le_t *dir, Int_t nphi, Int_t *iphi, Double_t *sphi, Double_t &snext, Double | |||
const; | _t stepmax) const; | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoPgon(); | TGeoPgon(); | |||
TGeoPgon(Double_t phi, Double_t dphi, Int_t nedges, Int_t nz); | TGeoPgon(Double_t phi, Double_t dphi, Int_t nedges, Int_t nz); | |||
TGeoPgon(const char *name, Double_t phi, Double_t dphi, Int_t nedges, In t_t nz); | TGeoPgon(const char *name, Double_t phi, Double_t dphi, Int_t nedges, In t_t nz); | |||
TGeoPgon(Double_t *params); | TGeoPgon(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoPgon(); | virtual ~TGeoPgon(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
_t iact=1, | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Double_t DistFromInside(const Double_t *point, const Double | ||||
_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 64+12*fNz;} | virtual Int_t GetByteCount() const {return 64+12*fNz;} | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
Int_t GetNedges() const {return fNedges;} | Int_t GetNedges() const {return fNedges;} | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual Int_t GetNsegments() const {return fNedges;} | virtual Int_t GetNsegments() const {return fNedges;} | |||
virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const {return TGeoBBox::GetPointsOnSegments(npoints,array);} | virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const {return TGeoBBox::GetPointsOnSegments(npoints,array);} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
Double_t SafetyToSegment(Double_t *point, Int_t ipl, Int_t | st; | |||
iphi, Bool_t in, Double_t safphi, Double_t safmin=TGeoShape::Big()) const; | virtual void Safety_v(const Double_t *points, const Bool_t *ins | |||
ide, Double_t *safe, Int_t vecsize) const; | ||||
Double_t SafetyToSegment(const Double_t *point, Int_t ipl, | ||||
Int_t iphi, Bool_t in, Double_t safphi, Double_t safmin=TGeoShape::Big()) c | ||||
onst; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
void SetNedges(Int_t ne) {if (ne>2) fNedges=ne;} | void SetNedges(Int_t ne) {if (ne>2) fNedges=ne;} | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoPgon, 1) // polygone class | ClassDef(TGeoPgon, 1) // polygone class | |||
}; | }; | |||
End of changes. 6 change blocks. | ||||
31 lines changed or deleted | 43 lines changed or added | |||
TGeoPolygon.h | TGeoPolygon.h | |||
---|---|---|---|---|
skipping to change at line 51 | skipping to change at line 51 | |||
Int_t fNvert; // number of vertices (must be de fined clockwise in XY plane) | Int_t fNvert; // number of vertices (must be de fined clockwise in XY plane) | |||
Int_t fNconvex; // number of points of the outscr ibed convex polygon | Int_t fNconvex; // number of points of the outscr ibed convex polygon | |||
Int_t *fInd; //[fNvert] list of vertex indices | Int_t *fInd; //[fNvert] list of vertex indices | |||
Int_t *fIndc; //[fNconvex] indices of vertices of the outscribed convex polygon | Int_t *fIndc; //[fNconvex] indices of vertices of the outscribed convex polygon | |||
Double_t *fX; //! pointer to list of current X coordinates of vertices | Double_t *fX; //! pointer to list of current X coordinates of vertices | |||
Double_t *fY; //! pointer to list of current Y coordinates of vertices | Double_t *fY; //! pointer to list of current Y coordinates of vertices | |||
TObjArray *fDaughters; // list of concave daughters | TObjArray *fDaughters; // list of concave daughters | |||
private: | private: | |||
void ConvexCheck(); // force convexity checking | void ConvexCheck(); // force convexity checking | |||
Bool_t IsSegConvex(Int_t i1, Int_t i2=-1) const; | Bool_t IsSegConvex(Int_t i1, Int_t i2=-1) const; | |||
Bool_t IsRightSided(Double_t *point, Int_t ind1, Int_t ind2 ) const; | Bool_t IsRightSided(const Double_t *point, Int_t ind1, Int_ t ind2) const; | |||
void OutscribedConvex(); | void OutscribedConvex(); | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoPolygon(); | TGeoPolygon(); | |||
TGeoPolygon(Int_t nvert); | TGeoPolygon(Int_t nvert); | |||
// destructor | // destructor | |||
virtual ~TGeoPolygon(); | virtual ~TGeoPolygon(); | |||
// methods | // methods | |||
Double_t Area() const; | Double_t Area() const; | |||
Bool_t Contains(Double_t *point) const; | Bool_t Contains(const Double_t *point) const; | |||
virtual void Draw(Option_t *option=""); | virtual void Draw(Option_t *option=""); | |||
void FinishPolygon(); | void FinishPolygon(); | |||
Int_t GetNvert() const {return fNvert;} | Int_t GetNvert() const {return fNvert;} | |||
Int_t GetNconvex() const {return fNconvex;} | Int_t GetNconvex() const {return fNconvex;} | |||
Double_t *GetX() {return fX;} | Double_t *GetX() {return fX;} | |||
Double_t *GetY() {return fY;} | Double_t *GetY() {return fY;} | |||
void GetVertices(Double_t *x, Double_t *y) const; | void GetVertices(Double_t *x, Double_t *y) const; | |||
void GetConvexVertices(Double_t *x, Double_t *y) const; | void GetConvexVertices(Double_t *x, Double_t *y) const; | |||
Bool_t IsClockwise() const {return !TObject::TestBit(kGeoAC W);} | Bool_t IsClockwise() const {return !TObject::TestBit(kGeoAC W);} | |||
Bool_t IsConvex() const {return TObject::TestBit(kGeoConvex );} | Bool_t IsConvex() const {return TObject::TestBit(kGeoConvex );} | |||
Bool_t IsFinished() const {return TObject::TestBit(kGeoFini shPolygon);} | Bool_t IsFinished() const {return TObject::TestBit(kGeoFini shPolygon);} | |||
Bool_t IsIllegalCheck() const; | Bool_t IsIllegalCheck() const; | |||
Double_t Safety(Double_t *point, Int_t &isegment) const; | Double_t Safety(const Double_t *point, Int_t &isegment) const ; | |||
void SetConvex(Bool_t flag=kTRUE) {TObject::SetBit(kGeoCo nvex,flag);} | void SetConvex(Bool_t flag=kTRUE) {TObject::SetBit(kGeoCo nvex,flag);} | |||
void SetXY(Double_t *x, Double_t *y); | void SetXY(Double_t *x, Double_t *y); | |||
void SetNextIndex(Int_t index=-1); | void SetNextIndex(Int_t index=-1); | |||
ClassDef(TGeoPolygon, 2) // class for handling arbitrary polygon s | ClassDef(TGeoPolygon, 2) // class for handling arbitrary polygon s | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
TGeoScaledShape.h | TGeoScaledShape.h | |||
---|---|---|---|---|
skipping to change at line 46 | skipping to change at line 46 | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoScaledShape(); | TGeoScaledShape(); | |||
TGeoScaledShape(const char *name, TGeoShape *shape, TGeoScale *scale); | TGeoScaledShape(const char *name, TGeoShape *shape, TGeoScale *scale); | |||
TGeoScaledShape(TGeoShape *shape, TGeoScale *scale); | TGeoScaledShape(TGeoShape *shape, TGeoScale *scale); | |||
// destructor | // destructor | |||
virtual ~TGeoScaledShape(); | virtual ~TGeoScaledShape(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const {return fShape->GetNmeshV ertices();} | virtual Int_t GetNmeshVertices() const {return fShape->GetNmeshV ertices();} | |||
TGeoShape *GetShape() const {return fShape;} | TGeoShape *GetShape() const {return fShape;} | |||
TGeoScale *GetScale() const {return fScale;} | TGeoScale *GetScale() const {return fScale;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsAssembly() const; | virtual Bool_t IsAssembly() const; | |||
virtual Bool_t IsCylType() const {return fShape->IsCylType();} | virtual Bool_t IsCylType() const {return fShape->IsCylType();} | |||
virtual Bool_t IsReflected() const; | virtual Bool_t IsReflected() const; | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
static TGeoShape *MakeScaledShape(const char *name, TGeoShape *shape , TGeoScale *scale); | static TGeoShape *MakeScaledShape(const char *name, TGeoShape *shape , TGeoScale *scale); | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetScale(TGeoScale *scale) {fScale = scale;} | void SetScale(TGeoScale *scale) {fScale = scale;} | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buffer) const; | virtual void SetSegsAndPols(TBuffer3D &buffer) const; | |||
ClassDef(TGeoScaledShape, 1) // a scaled shape | ClassDef(TGeoScaledShape, 1) // a scaled shape | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 5 change blocks. | ||||
7 lines changed or deleted | 17 lines changed or added | |||
TGeoShape.h | TGeoShape.h | |||
---|---|---|---|---|
skipping to change at line 107 | skipping to change at line 107 | |||
static Double_t Big() {return 1.E30;} | static Double_t Big() {return 1.E30;} | |||
static TGeoMatrix *GetTransform(); | static TGeoMatrix *GetTransform(); | |||
static void SetTransform(TGeoMatrix *matrix); | static void SetTransform(TGeoMatrix *matrix); | |||
static Double_t Tolerance() {return 1.E-10;} | static Double_t Tolerance() {return 1.E-10;} | |||
static Double_t ComputeEpsMch(); | static Double_t ComputeEpsMch(); | |||
static Double_t EpsMch(); | static Double_t EpsMch(); | |||
virtual Double_t Capacity() const = 0; | virtual Double_t Capacity() const = 0; | |||
void CheckShape(Int_t testNo, Int_t nsamples=10000, Opt ion_t *option=""); | void CheckShape(Int_t testNo, Int_t nsamples=10000, Opt ion_t *option=""); | |||
virtual void ComputeBBox() = 0; | virtual void ComputeBBox() = 0; | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm) = 0; | t *dir, Double_t *norm) = 0; | |||
virtual Bool_t Contains(Double_t *point) const = 0; | virtual void ComputeNormal_v(const Double_t *, const Double_t * | |||
virtual Bool_t CouldBeCrossed(Double_t *point, Double_t *dir) con | , Double_t *, Int_t) {} | |||
st = 0; | virtual Bool_t Contains(const Double_t *point) const = 0; | |||
virtual void Contains_v(const Double_t *, Bool_t *, Int_t) cons | ||||
t {} | ||||
virtual Bool_t CouldBeCrossed(const Double_t *point, const Double | ||||
_t *dir) const = 0; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) = 0; | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) = 0; | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const = 0; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const = 0; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *, const Double_t | |||
t_t iact=1, | *, Double_t *, Int_t, Double_t *) const {} | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const = 0; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const = 0; | |||
static Double_t DistToPhiMin(Double_t *point, Double_t *dir, Doubl | virtual void DistFromOutside_v(const Double_t *, const Double_t | |||
e_t s1, Double_t c1, Double_t s2, Double_t c2, | *, Double_t *, Int_t, Double_t *) const {} | |||
static Double_t DistToPhiMin(const Double_t *point, const Double_t | ||||
*dir, Double_t s1, Double_t c1, Double_t s2, Double_t c2, | ||||
Double_t sm, Double_t cm, Bool_t in=k TRUE); | Double_t sm, Double_t cm, Bool_t in=k TRUE); | |||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step) = 0; | Double_t start, Double_t step) = 0; | |||
virtual void Draw(Option_t *option=""); // *MENU* | virtual void Draw(Option_t *option=""); // *MENU* | |||
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); | virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); | |||
virtual const char *GetAxisName(Int_t iaxis) const = 0; | virtual const char *GetAxisName(Int_t iaxis) const = 0; | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const = 0; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const = 0; | |||
virtual void GetBoundingCylinder(Double_t *param) const = 0; | virtual void GetBoundingCylinder(Double_t *param) const = 0; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const = 0; | virtual Int_t GetByteCount() const = 0; | |||
skipping to change at line 137 | skipping to change at line 141 | |||
virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const = 0; | virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const = 0; | |||
Int_t GetId() const {return fShapeId;} | Int_t GetId() const {return fShapeId;} | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const = 0; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const = 0; | |||
virtual void GetMeshNumbers(Int_t &/*nvert*/, Int_t &/*nsegs*/, Int_t &/*npols*/) const {;} | virtual void GetMeshNumbers(Int_t &/*nvert*/, Int_t &/*nsegs*/, Int_t &/*npols*/) const {;} | |||
virtual const char *GetName() const; | virtual const char *GetName() const; | |||
virtual Int_t GetNmeshVertices() const {return 0;} | virtual Int_t GetNmeshVertices() const {return 0;} | |||
const char *GetPointerName() const; | const char *GetPointerName() const; | |||
virtual Bool_t IsAssembly() const {return kFALSE;} | virtual Bool_t IsAssembly() const {return kFALSE;} | |||
virtual Bool_t IsComposite() const {return kFALSE;} | virtual Bool_t IsComposite() const {return kFALSE;} | |||
virtual Bool_t IsCylType() const = 0; | virtual Bool_t IsCylType() const = 0; | |||
static Bool_t IsCloseToPhi(Double_t epsil, Double_t *point, Doub | static Bool_t IsCloseToPhi(Double_t epsil, const Double_t *point | |||
le_t c1, Double_t s1, Double_t c2, Double_t s2); | , Double_t c1, Double_t s1, Double_t c2, Double_t s2); | |||
static Bool_t IsCrossingSemiplane(Double_t *point, Double_t *dir | static Bool_t IsCrossingSemiplane(const Double_t *point, const D | |||
, Double_t cphi, Double_t sphi, Double_t &snext, Double_t &rxy); | ouble_t *dir, Double_t cphi, Double_t sphi, Double_t &snext, Double_t &rxy) | |||
; | ||||
static Bool_t IsSameWithinTolerance(Double_t a, Double_t b); | static Bool_t IsSameWithinTolerance(Double_t a, Double_t b); | |||
static Bool_t IsSegCrossing(Double_t x1, Double_t y1, Double_t x 2, Double_t y2,Double_t x3, Double_t y3,Double_t x4, Double_t y4); | static Bool_t IsSegCrossing(Double_t x1, Double_t y1, Double_t x 2, Double_t y2,Double_t x3, Double_t y3,Double_t x4, Double_t y4); | |||
static Bool_t IsInPhiRange(Double_t *point, Double_t phi1, Doubl e_t phi2); | static Bool_t IsInPhiRange(const Double_t *point, Double_t phi1, Double_t phi2); | |||
virtual Bool_t IsReflected() const {return kFALSE;} | virtual Bool_t IsReflected() const {return kFALSE;} | |||
Bool_t IsRunTimeShape() const {return TestShapeBit(kGeoRu nTimeShape);} | Bool_t IsRunTimeShape() const {return TestShapeBit(kGeoRu nTimeShape);} | |||
Bool_t IsValid() const {return !TestShapeBit(kGeoInvalidS hape);} | Bool_t IsValid() const {return !TestShapeBit(kGeoInvalidS hape);} | |||
virtual Bool_t IsValidBox() const = 0; | virtual Bool_t IsValidBox() const = 0; | |||
virtual void InspectShape() const = 0; | virtual void InspectShape() const = 0; | |||
virtual TBuffer3D *MakeBuffer3D() const {return 0;} | virtual TBuffer3D *MakeBuffer3D() const {return 0;} | |||
static void NormalPhi(Double_t *point, Double_t *dir, Double_t *norm, Double_t c1, Double_t s1, Double_t c2, Double_t s2); | static void NormalPhi(const Double_t *point, const Double_t *d ir, Double_t *norm, Double_t c1, Double_t s1, Double_t c2, Double_t s2); | |||
virtual void Paint(Option_t *option=""); | virtual void Paint(Option_t *option=""); | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const = 0 | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
; | st = 0; | |||
static Double_t SafetyPhi(Double_t *point, Bool_t in, Double_t phi | virtual void Safety_v(const Double_t *, const Bool_t *, Double_ | |||
1, Double_t phi2); | t *, Int_t) const {} | |||
static Double_t SafetyPhi(const Double_t *point, Bool_t in, Double | ||||
_t phi1, Double_t phi2); | ||||
static Double_t SafetySeg(Double_t r, Double_t z, Double_t r1, Dou ble_t z1, Double_t r2, Double_t z2, Bool_t outer); | static Double_t SafetySeg(Double_t r, Double_t z, Double_t r1, Dou ble_t z1, Double_t r2, Double_t z2, Bool_t outer); | |||
virtual void SetDimensions(Double_t *param) = 0; | virtual void SetDimensions(Double_t *param) = 0; | |||
void SetId(Int_t id) {fShapeId = id;} | void SetId(Int_t id) {fShapeId = id;} | |||
virtual void SetPoints(Double_t *points) const = 0; | virtual void SetPoints(Double_t *points) const = 0; | |||
virtual void SetPoints(Float_t *points) const = 0; | virtual void SetPoints(Float_t *points) const = 0; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const = 0; | virtual void SetSegsAndPols(TBuffer3D &buff) const = 0; | |||
void SetRuntime(Bool_t flag=kTRUE) {SetShapeBit(kGeoRun TimeShape, flag);} | void SetRuntime(Bool_t flag=kTRUE) {SetShapeBit(kGeoRun TimeShape, flag);} | |||
Int_t ShapeDistancetoPrimitive(Int_t numpoints, Int_t px , Int_t py) const; | Int_t ShapeDistancetoPrimitive(Int_t numpoints, Int_t px , Int_t py) const; | |||
virtual void Sizeof3D() const = 0; | virtual void Sizeof3D() const = 0; | |||
End of changes. 8 change blocks. | ||||
20 lines changed or deleted | 31 lines changed or added | |||
TGeoShapeAssembly.h | TGeoShapeAssembly.h | |||
---|---|---|---|---|
skipping to change at line 44 | skipping to change at line 44 | |||
// methods | // methods | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoShapeAssembly(); | TGeoShapeAssembly(); | |||
TGeoShapeAssembly(TGeoVolumeAssembly *vol); | TGeoShapeAssembly(TGeoVolumeAssembly *vol); | |||
// destructor | // destructor | |||
virtual ~TGeoShapeAssembly(); | virtual ~TGeoShapeAssembly(); | |||
// methods | // methods | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const {return 0;} | virtual Int_t GetNmeshVertices() const {return 0;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsAssembly() const {return kTRUE;} | virtual Bool_t IsAssembly() const {return kTRUE;} | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
void NeedsBBoxRecompute() {fBBoxOK = kFALSE;} | void NeedsBBoxRecompute() {fBBoxOK = kFALSE;} | |||
void RecomputeBoxLast(); | void RecomputeBoxLast(); | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
ClassDef(TGeoShapeAssembly, 2) // assembly shape | ClassDef(TGeoShapeAssembly, 2) // assembly shape | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 5 change blocks. | ||||
7 lines changed or deleted | 17 lines changed or added | |||
TGeoSphere.h | TGeoSphere.h | |||
---|---|---|---|---|
skipping to change at line 56 | skipping to change at line 56 | |||
TGeoSphere(Double_t rmin, Double_t rmax, Double_t theta1=0, Double_t the ta2=180, | TGeoSphere(Double_t rmin, Double_t rmax, Double_t theta1=0, Double_t the ta2=180, | |||
Double_t phi1=0, Double_t phi2=360); | Double_t phi1=0, Double_t phi2=360); | |||
TGeoSphere(const char *name, Double_t rmin, Double_t rmax, Double_t thet a1=0, Double_t theta2=180, | TGeoSphere(const char *name, Double_t rmin, Double_t rmax, Double_t thet a1=0, Double_t theta2=180, | |||
Double_t phi1=0, Double_t phi2=360); | Double_t phi1=0, Double_t phi2=360); | |||
TGeoSphere(Double_t *param, Int_t nparam=6); | TGeoSphere(Double_t *param, Int_t nparam=6); | |||
// destructor | // destructor | |||
virtual ~TGeoSphere(); | virtual ~TGeoSphere(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
Double_t DistToSphere(Double_t *point, Double_t *dir, Doubl | virtual void DistFromOutside_v(const Double_t *points, const Do | |||
e_t rsph, Bool_t check=kTRUE, Bool_t firstcross=kTRUE) const; | uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
Double_t DistToSphere(const Double_t *point, const Double_t | ||||
*dir, Double_t rsph, Bool_t check=kTRUE, Bool_t firstcross=kTRUE) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual const char *GetAxisName(Int_t iaxis) const; | virtual const char *GetAxisName(Int_t iaxis) const; | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 42;} | virtual Int_t GetByteCount() const {return 42;} | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
skipping to change at line 85 | skipping to change at line 89 | |||
virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | |||
Int_t GetNz() const {return fNz;} | Int_t GetNz() const {return fNz;} | |||
virtual Double_t GetRmin() const {return fRmin;} | virtual Double_t GetRmin() const {return fRmin;} | |||
virtual Double_t GetRmax() const {return fRmax;} | virtual Double_t GetRmax() const {return fRmax;} | |||
Double_t GetTheta1() const {return fTheta1;} | Double_t GetTheta1() const {return fTheta1;} | |||
Double_t GetTheta2() const {return fTheta2;} | Double_t GetTheta2() const {return fTheta2;} | |||
Double_t GetPhi1() const {return fPhi1;} | Double_t GetPhi1() const {return fPhi1;} | |||
Double_t GetPhi2() const {return fPhi2;} | Double_t GetPhi2() const {return fPhi2;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
Int_t IsOnBoundary(Double_t *point) const; | Int_t IsOnBoundary(const Double_t *point) const; | |||
Bool_t IsPointInside(Double_t *point, Bool_t checkR=kTRUE | Bool_t IsPointInside(const Double_t *point, Bool_t checkR | |||
, Bool_t checkTh=kTRUE, Bool_t checkPh=kTRUE) const; | =kTRUE, Bool_t checkTh=kTRUE, Bool_t checkPh=kTRUE) const; | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetSphDimensions(Double_t rmin, Double_t rmax, Dou ble_t theta1, | void SetSphDimensions(Double_t rmin, Double_t rmax, Dou ble_t theta1, | |||
Double_t theta2, Double_t phi1, Doub le_t phi2); | Double_t theta2, Double_t phi1, Doub le_t phi2); | |||
virtual void SetNumberOfDivisions(Int_t p); | virtual void SetNumberOfDivisions(Int_t p); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
void SetDimensions(Double_t *param, Int_t nparam); | ||||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoSphere, 1) // sphere class | ClassDef(TGeoSphere, 1) // sphere class | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 7 change blocks. | ||||
12 lines changed or deleted | 24 lines changed or added | |||
TGeoTorus.h | TGeoTorus.h | |||
---|---|---|---|---|
skipping to change at line 43 | skipping to change at line 43 | |||
// data members | // data members | |||
Double_t fR; // axial radius | Double_t fR; // axial radius | |||
Double_t fRmin; // inner radius | Double_t fRmin; // inner radius | |||
Double_t fRmax; // outer radius | Double_t fRmax; // outer radius | |||
Double_t fPhi1; // starting phi | Double_t fPhi1; // starting phi | |||
Double_t fDphi; // phi extent | Double_t fDphi; // phi extent | |||
// methods | // methods | |||
public: | public: | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
Double_t Daxis(Double_t *pt, Double_t *dir, Double_t t) con | Double_t Daxis(const Double_t *pt, const Double_t *dir, Dou | |||
st; | ble_t t) const; | |||
Double_t DDaxis(Double_t *pt, Double_t *dir, Double_t t) co | Double_t DDaxis(const Double_t *pt, const Double_t *dir, Do | |||
nst; | uble_t t) const; | |||
Double_t DDDaxis(Double_t *pt, Double_t *dir, Double_t t) c | Double_t DDDaxis(const Double_t *pt, const Double_t *dir, D | |||
onst; | ouble_t t) const; | |||
Double_t ToBoundary(Double_t *pt, Double_t *dir, Double_t r | Double_t ToBoundary(const Double_t *pt, const Double_t *dir | |||
, Bool_t in) const; | , Double_t r, Bool_t in) const; | |||
Int_t SolveCubic(Double_t a, Double_t b, Double_t c, Dou ble_t *x) const; | Int_t SolveCubic(Double_t a, Double_t b, Double_t c, Dou ble_t *x) const; | |||
Int_t SolveQuartic(Double_t a, Double_t b, Double_t c, D ouble_t d, Double_t *x) const; | Int_t SolveQuartic(Double_t a, Double_t b, Double_t c, D ouble_t d, Double_t *x) const; | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoTorus(); | TGeoTorus(); | |||
TGeoTorus(Double_t r, Double_t rmin, Double_t rmax, Double_t phi1=0, Dou ble_t dphi=360); | TGeoTorus(Double_t r, Double_t rmin, Double_t rmax, Double_t phi1=0, Dou ble_t dphi=360); | |||
TGeoTorus(const char * name, Double_t r, Double_t rmin, Double_t rmax, D ouble_t phi1=0, Double_t dphi=360); | TGeoTorus(const char * name, Double_t r, Double_t rmin, Double_t rmax, D ouble_t phi1=0, Double_t dphi=360); | |||
TGeoTorus(Double_t *params); | TGeoTorus(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoTorus() {} | virtual ~TGeoTorus() {} | |||
// methods | // methods | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
_t iact=1, | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Double_t DistFromInside(const Double_t *point, const Double | ||||
_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual const char *GetAxisName(Int_t iaxis) const; | virtual const char *GetAxisName(Int_t iaxis) const; | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 56;} | virtual Int_t GetByteCount() const {return 56;} | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | virtual Bool_t GetPointsOnSegments(Int_t /*npoints*/, Double_t * /*array*/) const {return kFALSE;} | |||
Double_t GetR() const {return fR;} | Double_t GetR() const {return fR;} | |||
Double_t GetRmin() const {return fRmin;} | Double_t GetRmin() const {return fRmin;} | |||
Double_t GetRmax() const {return fRmax;} | Double_t GetRmax() const {return fRmax;} | |||
Double_t GetPhi1() const {return fPhi1;} | Double_t GetPhi1() const {return fPhi1;} | |||
Double_t GetDphi() const {return fDphi;} | Double_t GetDphi() const {return fDphi;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kTRUE;} | virtual Bool_t IsCylType() const {return kTRUE;} | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetTorusDimensions(Double_t r, Double_t rmin, Doub le_t rmax, Double_t phi1, Double_t dphi); | void SetTorusDimensions(Double_t r, Double_t rmin, Doub le_t rmax, Double_t phi1, Double_t dphi); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoTorus, 1) // torus class | ClassDef(TGeoTorus, 1) // torus class | |||
End of changes. 5 change blocks. | ||||
16 lines changed or deleted | 26 lines changed or added | |||
TGeoTrd1.h | TGeoTrd1.h | |||
---|---|---|---|---|
skipping to change at line 50 | skipping to change at line 50 | |||
TGeoTrd1(); | TGeoTrd1(); | |||
TGeoTrd1(Double_t dx1, Double_t dx2, Double_t dy, Double_t dz); | TGeoTrd1(Double_t dx1, Double_t dx2, Double_t dy, Double_t dz); | |||
TGeoTrd1(const char *name, Double_t dx1, Double_t dx2, Double_t dy, Doub le_t dz); | TGeoTrd1(const char *name, Double_t dx1, Double_t dx2, Double_t dy, Doub le_t dz); | |||
TGeoTrd1(Double_t *params); | TGeoTrd1(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoTrd1(); | virtual ~TGeoTrd1(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
_t iact=1, | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Double_t DistFromInside(const Double_t *point, const Double | ||||
_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual Int_t GetByteCount() const {return 52;} | virtual Int_t GetByteCount() const {return 52;} | |||
Double_t GetDx1() const {return fDx1;} | Double_t GetDx1() const {return fDx1;} | |||
Double_t GetDx2() const {return fDx2;} | Double_t GetDx2() const {return fDx2;} | |||
Double_t GetDy() const {return fDy;} | Double_t GetDy() const {return fDy;} | |||
Double_t GetDz() const {return fDz;} | Double_t GetDz() const {return fDz;} | |||
virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; | virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
void GetVisibleCorner(Double_t *point, Double_t *vertex | void GetVisibleCorner(const Double_t *point, Double_t * | |||
, Double_t *normals) const; | vertex, Double_t *normals) const; | |||
void GetOppositeCorner(Double_t *point, Int_t inorm, Do | void GetOppositeCorner(const Double_t *point, Int_t ino | |||
uble_t *vertex, Double_t *normals) const; | rm, Double_t *vertex, Double_t *normals) const; | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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 SetVertex(Double_t *vertex) const; | void SetVertex(Double_t *vertex) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoTrd1, 1) // TRD1 shape class | ClassDef(TGeoTrd1, 1) // TRD1 shape class | |||
}; | }; | |||
End of changes. 5 change blocks. | ||||
12 lines changed or deleted | 22 lines changed or added | |||
TGeoTrd2.h | TGeoTrd2.h | |||
---|---|---|---|---|
skipping to change at line 50 | skipping to change at line 50 | |||
// constructors | // constructors | |||
TGeoTrd2(); | TGeoTrd2(); | |||
TGeoTrd2(Double_t dx1, Double_t dx2, Double_t dy1, Double_t dy2, Double_ t dz); | TGeoTrd2(Double_t dx1, Double_t dx2, Double_t dy1, Double_t dy2, Double_ t dz); | |||
TGeoTrd2(const char *name, Double_t dx1, Double_t dx2, Double_t dy1, Dou ble_t dy2, Double_t dz); | TGeoTrd2(const char *name, Double_t dx1, Double_t dx2, Double_t dy1, Dou ble_t dy2, Double_t dz); | |||
TGeoTrd2(Double_t *params); | TGeoTrd2(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoTrd2(); | virtual ~TGeoTrd2(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
_t iact=1, | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
virtual Double_t DistFromInside(const Double_t *point, const Double | ||||
_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual Int_t GetByteCount() const {return 56;} | virtual Int_t GetByteCount() const {return 56;} | |||
Double_t GetDx1() const {return fDx1;} | Double_t GetDx1() const {return fDx1;} | |||
Double_t GetDx2() const {return fDx2;} | Double_t GetDx2() const {return fDx2;} | |||
Double_t GetDy1() const {return fDy1;} | Double_t GetDy1() const {return fDy1;} | |||
Double_t GetDy2() const {return fDy2;} | Double_t GetDy2() const {return fDy2;} | |||
Double_t GetDz() const {return fDz;} | Double_t GetDz() const {return fDz;} | |||
virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; | virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
void GetVisibleCorner(Double_t *point, Double_t *vertex | void GetVisibleCorner(const Double_t *point, Double_t * | |||
, Double_t *normals) const; | vertex, Double_t *normals) const; | |||
void GetOppositeCorner(Double_t *point, Int_t inorm, Do | void GetOppositeCorner(const Double_t *point, Int_t ino | |||
uble_t *vertex, Double_t *normals) const; | rm, Double_t *vertex, Double_t *normals) const; | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kFALSE;} | virtual Bool_t IsCylType() const {return kFALSE;} | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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 SetVertex(Double_t *vertex) const; | void SetVertex(Double_t *vertex) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoTrd2, 1) // TRD2 shape class | ClassDef(TGeoTrd2, 1) // TRD2 shape class | |||
}; | }; | |||
End of changes. 6 change blocks. | ||||
12 lines changed or deleted | 22 lines changed or added | |||
TGeoTube.h | TGeoTube.h | |||
---|---|---|---|---|
skipping to change at line 50 | skipping to change at line 50 | |||
TGeoTube(Double_t rmin, Double_t rmax, Double_t dz); | TGeoTube(Double_t rmin, Double_t rmax, Double_t dz); | |||
TGeoTube(const char * name, Double_t rmin, Double_t rmax, Double_t dz); | TGeoTube(const char * name, Double_t rmin, Double_t rmax, Double_t dz); | |||
TGeoTube(Double_t *params); | TGeoTube(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoTube(); | virtual ~TGeoTube(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
static Double_t Capacity(Double_t rmin, Double_t rmax, Double_t dz ); | static Double_t Capacity(Double_t rmin, Double_t rmax, Double_t dz ); | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
static void ComputeNormalS(Double_t *point, Double_t *dir, Dou | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
ble_t *norm, | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
static void ComputeNormalS(const Double_t *point, const Double | ||||
_t *dir, Double_t *norm, | ||||
Double_t rmin, Double_t rmax, Doubl e_t dz); | Double_t rmin, Double_t rmax, Doubl e_t dz); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
static Double_t DistFromInsideS(Double_t *point, Double_t *dir, Do | virtual void Contains_v(const Double_t *points, Bool_t *inside, | |||
uble_t rmin, Double_t rmax, Double_t dz); | Int_t vecsize) const; | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | static Double_t DistFromInsideS(const Double_t *point, const Doubl | |||
_t iact=1, | e_t *dir, Double_t rmin, Double_t rmax, Double_t dz); | |||
Double_t step=TGeoShape::Big(), Double_t | virtual Double_t DistFromInside(const Double_t *point, const Double | |||
*safe=0) const; | _t *dir, Int_t iact=1, | |||
static Double_t DistFromOutsideS(Double_t *point, Double_t *dir, D | Double_t step=TGeoShape::Big(), Double_t | |||
ouble_t rmin, Double_t rmax, Double_t dz); | *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
static Double_t DistFromOutsideS(const Double_t *point, const Doub | ||||
le_t *dir, Double_t rmin, Double_t rmax, Double_t dz); | ||||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
static void DistToTube(Double_t rsq, Double_t nsq, Double_t rd otn, Double_t radius, Double_t &b, Double_t &delta); | static void DistToTube(Double_t rsq, Double_t nsq, Double_t rd otn, Double_t radius, Double_t &b, Double_t &delta); | |||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual const char *GetAxisName(Int_t iaxis) const; | virtual const char *GetAxisName(Int_t iaxis) const; | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 48;} | virtual Int_t GetByteCount() const {return 48;} | |||
virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual Double_t GetRmin() const {return fRmin;} | virtual Double_t GetRmin() const {return fRmin;} | |||
virtual Double_t GetRmax() const {return fRmax;} | virtual Double_t GetRmax() const {return fRmax;} | |||
virtual Double_t GetDz() const {return fDz;} | virtual Double_t GetDz() const {return fDz;} | |||
Bool_t HasRmin() const {return (fRmin>0)?kTRUE:kFALSE;} | Bool_t HasRmin() const {return (fRmin>0)?kTRUE:kFALSE;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Bool_t IsCylType() const {return kTRUE;} | virtual Bool_t IsCylType() const {return kTRUE;} | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
static Double_t SafetyS(Double_t *point, Bool_t in, Double_t rmin, | st; | |||
Double_t rmax, Double_t dz, Int_t skipz=0); | virtual void Safety_v(const Double_t *points, const Bool_t *ins | |||
ide, Double_t *safe, Int_t vecsize) const; | ||||
static Double_t SafetyS(const Double_t *point, Bool_t in, Double_t | ||||
rmin, Double_t rmax, Double_t dz, Int_t skipz=0); | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetTubeDimensions(Double_t rmin, Double_t rmax, Do uble_t dz); | void SetTubeDimensions(Double_t rmin, Double_t rmax, Do uble_t dz); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoTube, 1) // cylindrical tube class | ClassDef(TGeoTube, 1) // cylindrical tube class | |||
skipping to change at line 124 | skipping to change at line 129 | |||
Double_t phi1, Double_t phi2); | Double_t phi1, Double_t phi2); | |||
TGeoTubeSeg(const char * name, Double_t rmin, Double_t rmax, Double_t dz , | TGeoTubeSeg(const char * name, Double_t rmin, Double_t rmax, Double_t dz , | |||
Double_t phi1, Double_t phi2); | Double_t phi1, Double_t phi2); | |||
TGeoTubeSeg(Double_t *params); | TGeoTubeSeg(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoTubeSeg(); | virtual ~TGeoTubeSeg(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
static Double_t Capacity(Double_t rmin, Double_t rmax, Double_t dz , Double_t phi1, Double_t phi2); | static Double_t Capacity(Double_t rmin, Double_t rmax, Double_t dz , Double_t phi1, Double_t phi2); | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
static void ComputeNormalS(Double_t *point, Double_t *dir, Dou | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
ble_t *norm, | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
static void ComputeNormalS(const Double_t *point, const Double | ||||
_t *dir, Double_t *norm, | ||||
Double_t rmin, Double_t rmax, Doubl e_t dz, | Double_t rmin, Double_t rmax, Doubl e_t dz, | |||
Double_t c1, Double_t s1, Double_t c2, Double_t s2); | Double_t c1, Double_t s1, Double_t c2, Double_t s2); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
static Double_t DistFromInsideS(Double_t *point, Double_t *dir,Dou ble_t rmin, Double_t rmax, Double_t dz, | static Double_t DistFromInsideS(const Double_t *point, const Doubl e_t *dir,Double_t rmin, Double_t rmax, Double_t dz, | |||
Double_t c1, Double_t s1, Double_t c2, Double_t s2, Double_t cm, Double_t sm, Double_t cdfi); | Double_t c1, Double_t s1, Double_t c2, Double_t s2, Double_t cm, Double_t sm, Double_t cdfi); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
static Double_t DistFromOutsideS(Double_t *point, Double_t *dir, D | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
ouble_t rmin, Double_t rmax, Double_t dz, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
static Double_t DistFromOutsideS(const Double_t *point, const Doub | ||||
le_t *dir, Double_t rmin, Double_t rmax, Double_t dz, | ||||
Double_t c1, Double_t s1, Double_t c2, D ouble_t s2, Double_t cm, Double_t sm, Double_t cdfi); | Double_t c1, Double_t s1, Double_t c2, D ouble_t s2, Double_t cm, Double_t sm, Double_t cdfi); | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In t_t iact=1, | virtual Double_t DistFromOutside(const Double_t *point, const Doubl e_t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual void GetBoundingCylinder(Double_t *param) const; | virtual void GetBoundingCylinder(Double_t *param) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 56;} | virtual Int_t GetByteCount() const {return 56;} | |||
virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
Double_t GetPhi1() const {return fPhi1;} | Double_t GetPhi1() const {return fPhi1;} | |||
Double_t GetPhi2() const {return fPhi2;} | Double_t GetPhi2() const {return fPhi2;} | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
static Double_t SafetyS(Double_t *point, Bool_t in, Double_t rmin, | st; | |||
Double_t rmax, Double_t dz, | virtual void Safety_v(const Double_t *points, const Bool_t *ins | |||
ide, Double_t *safe, Int_t vecsize) const; | ||||
static Double_t SafetyS(const Double_t *point, Bool_t in, Double_t | ||||
rmin, Double_t rmax, Double_t dz, | ||||
Double_t phi1, Double_t phi2, Int_t skipz= 0); | Double_t phi1, Double_t phi2, Int_t skipz= 0); | |||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetTubsDimensions(Double_t rmin, Double_t rmax, Do uble_t dz, | void SetTubsDimensions(Double_t rmin, Double_t rmax, Do uble_t dz, | |||
Double_t phi1, Double_t phi2); | Double_t phi1, Double_t phi2); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
skipping to change at line 198 | skipping to change at line 208 | |||
TGeoCtub(Double_t rmin, Double_t rmax, Double_t dz, Double_t phi1, Doubl e_t phi2, | TGeoCtub(Double_t rmin, Double_t rmax, Double_t dz, Double_t phi1, Doubl e_t phi2, | |||
Double_t lx, Double_t ly, Double_t lz, Double_t tx, Double_t ty , Double_t tz); | Double_t lx, Double_t ly, Double_t lz, Double_t tx, Double_t ty , Double_t tz); | |||
TGeoCtub(const char *name, Double_t rmin, Double_t rmax, Double_t dz, Do uble_t phi1, Double_t phi2, | TGeoCtub(const char *name, Double_t rmin, Double_t rmax, Double_t dz, Do uble_t phi1, Double_t phi2, | |||
Double_t lx, Double_t ly, Double_t lz, Double_t tx, Double_t ty , Double_t tz); | Double_t lx, Double_t ly, Double_t lz, Double_t tx, Double_t ty , Double_t tz); | |||
TGeoCtub(Double_t *params); | TGeoCtub(Double_t *params); | |||
// destructor | // destructor | |||
virtual ~TGeoCtub(); | virtual ~TGeoCtub(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int | le_t *dirs, Double_t *norms, Int_t vecsize); | |||
_t iact=1, | virtual Bool_t Contains(const Double_t *point) const; | |||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
virtual Double_t DistFromInside(const Double_t *point, const Double | ||||
_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, | |||
Double_t start, Double_t step); | Double_t start, Double_t step); | |||
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
virtual Int_t GetByteCount() const {return 98;} | virtual Int_t GetByteCount() const {return 98;} | |||
virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | virtual Bool_t GetPointsOnSegments(Int_t npoints, Double_t *array ) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix *mat) const; | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
const Double_t *GetNlow() const {return &fNlow[0];} | const Double_t *GetNlow() const {return &fNlow[0];} | |||
const Double_t *GetNhigh() const {return &fNhigh[0];} | const Double_t *GetNhigh() const {return &fNhigh[0];} | |||
Double_t GetZcoord(Double_t xc, Double_t yc, Double_t zc) c onst; | Double_t GetZcoord(Double_t xc, Double_t yc, Double_t zc) c onst; | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetCtubDimensions(Double_t rmin, Double_t rmax, Do uble_t dz, | void SetCtubDimensions(Double_t rmin, Double_t rmax, Do uble_t dz, | |||
Double_t phi1, Double_t phi2, Double _t lx, Double_t ly, Double_t lz, | Double_t phi1, Double_t phi2, Double _t lx, Double_t ly, Double_t lz, | |||
Double_t tx, Double_t ty, Double_t t z); | Double_t tx, Double_t ty, Double_t t z); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
ClassDef(TGeoCtub, 1) // cut tube segment class | ClassDef(TGeoCtub, 1) // cut tube segment class | |||
}; | }; | |||
End of changes. 16 change blocks. | ||||
39 lines changed or deleted | 69 lines changed or added | |||
TGeoVolume.h | TGeoVolume.h | |||
---|---|---|---|---|
skipping to change at line 121 | skipping to change at line 121 | |||
void CheckShapes(); | void CheckShapes(); | |||
void ClearNodes() {fNodes = 0;} | void ClearNodes() {fNodes = 0;} | |||
void ClearShape(); | void ClearShape(); | |||
void CleanAll(); | void CleanAll(); | |||
virtual TGeoVolume *CloneVolume() const; | virtual TGeoVolume *CloneVolume() const; | |||
void CloneNodesAndConnect(TGeoVolume *newmother) const; | void CloneNodesAndConnect(TGeoVolume *newmother) const; | |||
void CheckGeometry(Int_t nrays=1, Double_t startx=0, Double_t starty=0, Double_t startz=0) const; | void CheckGeometry(Int_t nrays=1, Double_t startx=0, Double_t starty=0, Double_t startz=0) const; | |||
void CheckOverlaps(Double_t ovlp=0.1, Option_t *option="") co nst; // *MENU* | void CheckOverlaps(Double_t ovlp=0.1, Option_t *option="") co nst; // *MENU* | |||
void CheckShape(Int_t testNo, Int_t nsamples=10000, Option_t *option=""); // *MENU* | void CheckShape(Int_t testNo, Int_t nsamples=10000, Option_t *option=""); // *MENU* | |||
Int_t CountNodes(Int_t nlevels=1000, Int_t option=0); | Int_t CountNodes(Int_t nlevels=1000, Int_t option=0); | |||
Bool_t Contains(Double_t *point) const {return fShape->Contains (point);} | Bool_t Contains(const Double_t *point) const {return fShape->Co ntains(point);} | |||
virtual Bool_t IsAssembly() const; | virtual Bool_t IsAssembly() const; | |||
virtual Bool_t IsFolder() const; | virtual Bool_t IsFolder() const; | |||
Bool_t IsRunTime() const {return fShape->IsRunTimeShape();} | Bool_t IsRunTime() const {return fShape->IsRunTimeShape();} | |||
virtual Bool_t IsVolumeMulti() const {return kFALSE;} | virtual Bool_t IsVolumeMulti() const {return kFALSE;} | |||
virtual void AddNode(const TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option=""); // most general case | virtual void AddNode(const TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option=""); // most general case | |||
void AddNodeOffset(const TGeoVolume *vol, Int_t copy_no, Doub le_t offset=0, Option_t *option=""); | void AddNodeOffset(const TGeoVolume *vol, Int_t copy_no, Doub le_t offset=0, Option_t *option=""); | |||
virtual void AddNodeOverlap(const TGeoVolume *vol, Int_t copy_no, TGe oMatrix *mat=0, Option_t *option=""); | virtual void AddNodeOverlap(const TGeoVolume *vol, Int_t copy_no, TGe oMatrix *mat=0, Option_t *option=""); | |||
virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option=""); | virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option=""); | |||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
skipping to change at line 283 | skipping to change at line 283 | |||
public: | public: | |||
TGeoVolumeMulti(); | TGeoVolumeMulti(); | |||
TGeoVolumeMulti(const char* name, TGeoMedium *med=0); | TGeoVolumeMulti(const char* name, TGeoMedium *med=0); | |||
virtual ~TGeoVolumeMulti(); | virtual ~TGeoVolumeMulti(); | |||
void AddVolume(TGeoVolume *vol); | void AddVolume(TGeoVolume *vol); | |||
TGeoVolume *GetVolume(Int_t id) const {return (TGeoVolume*)fVolumes- >At(id);} | TGeoVolume *GetVolume(Int_t id) const {return (TGeoVolume*)fVolumes- >At(id);} | |||
virtual void AddNode(const TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat, Option_t *option=""); // most general case | virtual void AddNode(const TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat, Option_t *option=""); // most general case | |||
virtual void AddNodeOverlap(const TGeoVolume *vol, Int_t copy_no, TGe oMatrix *mat, Option_t *option=""); | virtual void AddNodeOverlap(const TGeoVolume *vol, Int_t copy_no, TGe oMatrix *mat, Option_t *option=""); | |||
virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option=""); | virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option=""); | |||
TGeoShape *GetLastShape() const {return GetVolume(fVolumes->GetEntr iesFast()-1)->GetShape();} | TGeoShape *GetLastShape() const; | |||
Int_t GetNvolumes() const {return fVolumes->GetEntriesFast();} | Int_t GetNvolumes() const {return fVolumes->GetEntriesFast();} | |||
Int_t GetAxis() const {return fNdiv;} | Int_t GetAxis() const {return fNdiv;} | |||
Int_t GetNdiv() const {return fNdiv;} | Int_t GetNdiv() const {return fNdiv;} | |||
Double_t GetStart() const {return fStart;} | Double_t GetStart() const {return fStart;} | |||
Double_t GetStep() const {return fStep;} | Double_t GetStep() const {return fStep;} | |||
virtual Bool_t IsVolumeMulti() const {return kTRUE;} | virtual Bool_t IsVolumeMulti() const {return kTRUE;} | |||
virtual TGeoVolume *MakeCopyVolume(TGeoShape *newshape); | virtual TGeoVolume *MakeCopyVolume(TGeoShape *newshape); | |||
virtual void SetLineColor(Color_t lcolor); | virtual void SetLineColor(Color_t lcolor); | |||
virtual void SetLineStyle(Style_t lstyle); | virtual void SetLineStyle(Style_t lstyle); | |||
virtual void SetLineWidth(Width_t lwidth); | virtual void SetLineWidth(Width_t lwidth); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TGeoVoxelFinder.h | TGeoVoxelFinder.h | |||
---|---|---|---|---|
skipping to change at line 79 | skipping to change at line 79 | |||
UChar_t *fIndcY; //[fNy] array of slices bits on Y | UChar_t *fIndcY; //[fNy] array of slices bits on Y | |||
UChar_t *fIndcZ; //[fNz] array of slices bits on Z | UChar_t *fIndcZ; //[fNz] array of slices bits on Z | |||
TGeoVoxelFinder(const TGeoVoxelFinder&); | TGeoVoxelFinder(const TGeoVoxelFinder&); | |||
TGeoVoxelFinder& operator=(const TGeoVoxelFinder&); | TGeoVoxelFinder& operator=(const TGeoVoxelFinder&); | |||
void BuildVoxelLimits(); | void BuildVoxelLimits(); | |||
Int_t *GetExtraX(Int_t islice, Bool_t left, Int_t &nextra) const; | Int_t *GetExtraX(Int_t islice, Bool_t left, Int_t &nextra) const; | |||
Int_t *GetExtraY(Int_t islice, Bool_t left, Int_t &nextra) const; | Int_t *GetExtraY(Int_t islice, Bool_t left, Int_t &nextra) const; | |||
Int_t *GetExtraZ(Int_t islice, Bool_t left, Int_t &nextra) const; | Int_t *GetExtraZ(Int_t islice, Bool_t left, Int_t &nextra) const; | |||
Bool_t GetIndices(Double_t *point, TGeoStateInfo &td); | Bool_t GetIndices(const Double_t *point, TGeoStateInfo &td) ; | |||
Int_t GetPriority(Int_t iaxis) const {return fPriority[iax is];} | Int_t GetPriority(Int_t iaxis) const {return fPriority[iax is];} | |||
Int_t GetNcandidates( TGeoStateInfo &td) const; | Int_t GetNcandidates( TGeoStateInfo &td) const; | |||
Int_t *GetValidExtra(Int_t *list, Int_t &ncheck, TGeoStateI nfo &td); | Int_t *GetValidExtra(Int_t *list, Int_t &ncheck, TGeoStateI nfo &td); | |||
Int_t *GetValidExtra(Int_t n1, UChar_t *array1, Int_t *list , Int_t &ncheck, TGeoStateInfo &td); | Int_t *GetValidExtra(Int_t n1, UChar_t *array1, Int_t *list , Int_t &ncheck, TGeoStateInfo &td); | |||
Int_t *GetValidExtra(Int_t n1, UChar_t *array1, Int_t n2, U Char_t *array2, Int_t *list, Int_t &ncheck, TGeoStateInfo &td); | Int_t *GetValidExtra(Int_t n1, UChar_t *array1, Int_t n2, U Char_t *array2, Int_t *list, Int_t &ncheck, TGeoStateInfo &td); | |||
Int_t *GetVoxelCandidates(Int_t i, Int_t j, Int_t k, Int_t &ncheck, TGeoStateInfo &td); | Int_t *GetVoxelCandidates(Int_t i, Int_t j, Int_t k, Int_t &ncheck, TGeoStateInfo &td); | |||
Bool_t Intersect(Int_t n1, UChar_t *array1, Int_t &nf, Int_ t *result); | Bool_t Intersect(Int_t n1, UChar_t *array1, Int_t &nf, Int_ t *result); | |||
Bool_t Intersect(Int_t n1, UChar_t *array1, Int_t n2, UChar _t *array2, | Bool_t Intersect(Int_t n1, UChar_t *array1, Int_t n2, UChar _t *array2, | |||
Int_t &nf, Int_t *result); | Int_t &nf, Int_t *result); | |||
Bool_t Intersect(Int_t n1, UChar_t *array1, Int_t n2, UChar _t *array2, | Bool_t Intersect(Int_t n1, UChar_t *array1, Int_t n2, UChar _t *array2, | |||
skipping to change at line 104 | skipping to change at line 104 | |||
Int_t n3, UChar_t *array3, TGeoStateInfo &td); | Int_t n3, UChar_t *array3, TGeoStateInfo &td); | |||
void SortAll(Option_t *option=""); | void SortAll(Option_t *option=""); | |||
Bool_t Union(Int_t n1, UChar_t *array1, TGeoStateInfo &td); | Bool_t Union(Int_t n1, UChar_t *array1, TGeoStateInfo &td); | |||
Bool_t Union(Int_t n1, UChar_t *array1, Int_t n2, UChar_t * array2, TGeoStateInfo &td); | Bool_t Union(Int_t n1, UChar_t *array1, Int_t n2, UChar_t * array2, TGeoStateInfo &td); | |||
Bool_t Union(Int_t n1, UChar_t *array1, Int_t n2, UChar_t * array2, | Bool_t Union(Int_t n1, UChar_t *array1, Int_t n2, UChar_t * array2, | |||
Int_t n3, UChar_t *array3, TGeoStateInfo &td); | Int_t n3, UChar_t *array3, TGeoStateInfo &td); | |||
public : | public : | |||
TGeoVoxelFinder(); | TGeoVoxelFinder(); | |||
TGeoVoxelFinder(TGeoVolume *vol); | TGeoVoxelFinder(TGeoVolume *vol); | |||
virtual ~TGeoVoxelFinder(); | virtual ~TGeoVoxelFinder(); | |||
void DaughterToMother(Int_t id, Double_t *local, Double_t *master) const; | void DaughterToMother(Int_t id, const Double_t *local, Do uble_t *master) const; | |||
virtual Double_t Efficiency(); | virtual Double_t Efficiency(); | |||
virtual Int_t *GetCheckList(Double_t *point, Int_t &nelem, TGeoStat eInfo &td); | virtual Int_t *GetCheckList(const Double_t *point, Int_t &nelem, TG eoStateInfo &td); | |||
Int_t *GetCheckList(Int_t &nelem, TGeoStateInfo &td) const; | Int_t *GetCheckList(Int_t &nelem, TGeoStateInfo &td) const; | |||
virtual Int_t *GetNextCandidates(Double_t *point, Int_t &ncheck, TG eoStateInfo &td); | virtual Int_t *GetNextCandidates(const Double_t *point, Int_t &nche ck, TGeoStateInfo &td); | |||
virtual void FindOverlaps(Int_t inode) const; | virtual void FindOverlaps(Int_t inode) const; | |||
Bool_t IsInvalid() const {return TObject::TestBit(kGeoInval idVoxels);} | Bool_t IsInvalid() const {return TObject::TestBit(kGeoInval idVoxels);} | |||
Bool_t NeedRebuild() const {return TObject::TestBit(kGeoReb uildVoxels);} | Bool_t NeedRebuild() const {return TObject::TestBit(kGeoReb uildVoxels);} | |||
Double_t *GetBoxes() const {return fBoxes;} | Double_t *GetBoxes() const {return fBoxes;} | |||
Bool_t IsSafeVoxel(Double_t *point, Int_t inode, Double_t m insafe) const; | Bool_t IsSafeVoxel(const Double_t *point, Int_t inode, Doub le_t minsafe) const; | |||
virtual void Print(Option_t *option="") const; | virtual void Print(Option_t *option="") const; | |||
void PrintVoxelLimits(Double_t *point) const; | void PrintVoxelLimits(const Double_t *point) const; | |||
void SetInvalid(Bool_t flag=kTRUE) {TObject::SetBit(kGeoI nvalidVoxels, flag);} | void SetInvalid(Bool_t flag=kTRUE) {TObject::SetBit(kGeoI nvalidVoxels, flag);} | |||
void SetNeedRebuild(Bool_t flag=kTRUE) {TObject::SetBit(k GeoRebuildVoxels, flag);} | void SetNeedRebuild(Bool_t flag=kTRUE) {TObject::SetBit(k GeoRebuildVoxels, flag);} | |||
virtual Int_t *GetNextVoxel(Double_t *point, Double_t *dir, Int_t & | virtual Int_t *GetNextVoxel(const Double_t *point, const Double_t * | |||
ncheck, TGeoStateInfo &td); | dir, Int_t &ncheck, TGeoStateInfo &td); | |||
virtual void SortCrossedVoxels(Double_t *point, Double_t *dir, TG | virtual void SortCrossedVoxels(const Double_t *point, const Doubl | |||
eoStateInfo &td); | e_t *dir, TGeoStateInfo &td); | |||
virtual void Voxelize(Option_t *option=""); | virtual void Voxelize(Option_t *option=""); | |||
ClassDef(TGeoVoxelFinder, 4) // voxel finder class | ClassDef(TGeoVoxelFinder, 4) // voxel finder class | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 7 change blocks. | ||||
10 lines changed or deleted | 10 lines changed or added | |||
TGeoXtru.h | TGeoXtru.h | |||
---|---|---|---|---|
skipping to change at line 67 | skipping to change at line 67 | |||
Double_t *fScale; //[fNz] array of scale factors (for each Z ) | Double_t *fScale; //[fNz] array of scale factors (for each Z ) | |||
Double_t *fX0; //[fNz] array of X offsets (for each Z) | Double_t *fX0; //[fNz] array of X offsets (for each Z) | |||
Double_t *fY0; //[fNz] array of Y offsets (for each Z) | Double_t *fY0; //[fNz] array of Y offsets (for each Z) | |||
mutable std::vector<ThreadData_t*> fThreadData; //! Navigation data per thread | mutable std::vector<ThreadData_t*> fThreadData; //! Navigation data per thread | |||
mutable Int_t fThreadSize; //! size of thread-speci fic array | mutable Int_t fThreadSize; //! size of thread-speci fic array | |||
TGeoXtru(const TGeoXtru&); | TGeoXtru(const TGeoXtru&); | |||
TGeoXtru& operator=(const TGeoXtru&); | TGeoXtru& operator=(const TGeoXtru&); | |||
// methods | // methods | |||
Double_t DistToPlane(Double_t *point, Double_t *dir, Int_t iz, Int_t ivert, Double_t stepmax, Bool_t in) const; | Double_t DistToPlane(const Double_t *point, const Double_t *dir, Int_t iz, Int_t ivert, Double_t stepmax, Bool_t in) const; | |||
void GetPlaneVertices(Int_t iz, Int_t ivert, Double_t * vert) const; | void GetPlaneVertices(Int_t iz, Int_t ivert, Double_t * vert) const; | |||
void GetPlaneNormal(const Double_t *vert, Double_t *nor m) const; | void GetPlaneNormal(const Double_t *vert, Double_t *nor m) const; | |||
Bool_t IsPointInsidePlane(Double_t *point, Double_t *vert | Bool_t IsPointInsidePlane(const Double_t *point, Double_t | |||
, Double_t *norm) const; | *vert, Double_t *norm) const; | |||
Double_t SafetyToSector(Double_t *point, Int_t iz, Double_t | Double_t SafetyToSector(const Double_t *point, Int_t iz, Do | |||
safmin, Bool_t in); | uble_t safmin, Bool_t in); | |||
void SetIz(Int_t iz); | void SetIz(Int_t iz); | |||
void SetSeg(Int_t iseg); | void SetSeg(Int_t iseg); | |||
public: | public: | |||
// constructors | // constructors | |||
TGeoXtru(); | TGeoXtru(); | |||
TGeoXtru(Int_t nz); | TGeoXtru(Int_t nz); | |||
TGeoXtru(Double_t *param); | TGeoXtru(Double_t *param); | |||
// destructor | // destructor | |||
virtual ~TGeoXtru(); | virtual ~TGeoXtru(); | |||
// methods | // methods | |||
virtual Double_t Capacity() const; | virtual Double_t Capacity() const; | |||
virtual void ComputeBBox(); | virtual void ComputeBBox(); | |||
virtual void ComputeNormal(Double_t *point, Double_t *dir, Doub | virtual void ComputeNormal(const Double_t *point, const Double_ | |||
le_t *norm); | t *dir, Double_t *norm); | |||
virtual Bool_t Contains(Double_t *point) const; | virtual void ComputeNormal_v(const Double_t *points, const Doub | |||
le_t *dirs, Double_t *norms, Int_t vecsize); | ||||
virtual Bool_t Contains(const Double_t *point) const; | ||||
virtual void Contains_v(const Double_t *points, Bool_t *inside, | ||||
Int_t vecsize) const; | ||||
Bool_t DefinePolygon(Int_t nvert, const Double_t *xv, con st Double_t *yv); | Bool_t DefinePolygon(Int_t nvert, const Double_t *xv, con st Double_t *yv); | |||
virtual void DefineSection(Int_t snum, Double_t z, Double_t x0= 0., Double_t y0=0., Double_t scale=1.); | virtual void DefineSection(Int_t snum, Double_t z, Double_t x0= 0., Double_t y0=0., Double_t scale=1.); | |||
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, | virtual Double_t DistFromInside(const Double_t *point, const Double _t *dir, Int_t iact=1, | |||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In | virtual void DistFromInside_v(const Double_t *points, const Dou | |||
t_t iact=1, | ble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | |||
virtual Double_t DistFromOutside(const Double_t *point, const Doubl | ||||
e_t *dir, Int_t iact=1, | ||||
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | Double_t step=TGeoShape::Big(), Double_t *safe=0) const; | |||
virtual void DistFromOutside_v(const Double_t *points, const Do uble_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const; | ||||
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); | |||
void DrawPolygon(Option_t *option=""); | void DrawPolygon(Option_t *option=""); | |||
virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | virtual const TBuffer3D &GetBuffer3D(Int_t reqSections, Bool_t localFram e) const; | |||
// virtual Int_t GetByteCount() const {return 60+12*fNz;} | // virtual Int_t GetByteCount() const {return 60+12*fNz;} | |||
Int_t GetNz() const {return fNz;} | Int_t GetNz() const {return fNz;} | |||
Int_t GetNvert() const {return fNvert;} | Int_t GetNvert() const {return fNvert;} | |||
Double_t GetX(Int_t i) const {return (i<fNvert&&i>-1 &&fX!= 0) ? fX[i] : -1.0E10;} | Double_t GetX(Int_t i) const {return (i<fNvert&&i>-1 &&fX!= 0) ? fX[i] : -1.0E10;} | |||
Double_t GetY(Int_t i) const {return (i<fNvert&&i>-1 &&fY!= 0) ? fY[i] : -1.0E10;} | Double_t GetY(Int_t i) const {return (i<fNvert&&i>-1 &&fY!= 0) ? fY[i] : -1.0E10;} | |||
Double_t GetXOffset(Int_t i) const {return (i<fNz&&i>-1 && fX0!=0) ? fX0[i] : 0.0;} | Double_t GetXOffset(Int_t i) const {return (i<fNz&&i>-1 && fX0!=0) ? fX0[i] : 0.0;} | |||
Double_t GetYOffset(Int_t i) const {return (i<fNz&&i>-1 && fY0!=0) ? fY0[i] : 0.0;} | Double_t GetYOffset(Int_t i) const {return (i<fNz&&i>-1 && fY0!=0) ? fY0[i] : 0.0;} | |||
Double_t GetScale(Int_t i) const {return (i<fNz&&i>-1 && fS cale!=0) ? fScale[i] : 1.0;} | Double_t GetScale(Int_t i) const {return (i<fNz&&i>-1 && fS cale!=0) ? fScale[i] : 1.0;} | |||
Double_t *GetZ() const {return fZ;} | Double_t *GetZ() const {return fZ;} | |||
Double_t GetZ(Int_t ipl) const; | Double_t GetZ(Int_t ipl) const; | |||
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} | |||
virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | virtual void GetMeshNumbers(Int_t &nvert, Int_t &nsegs, Int_t & npols) const; | |||
virtual Int_t GetNmeshVertices() const; | virtual Int_t GetNmeshVertices() const; | |||
virtual void InspectShape() const; | virtual void InspectShape() const; | |||
virtual TBuffer3D *MakeBuffer3D() const; | virtual TBuffer3D *MakeBuffer3D() const; | |||
Double_t &Z(Int_t ipl) {return fZ[ipl];} | Double_t &Z(Int_t ipl) {return fZ[ipl];} | |||
virtual Double_t Safety(Double_t *point, Bool_t in=kTRUE) const; | virtual Double_t Safety(const Double_t *point, Bool_t in=kTRUE) con | |||
st; | ||||
virtual void Safety_v(const Double_t *points, const Bool_t *ins | ||||
ide, Double_t *safe, Int_t vecsize) const; | ||||
virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | virtual void SavePrimitive(std::ostream &out, Option_t *option = ""); | |||
void SetCurrentZ(Double_t z, Int_t iz); | void SetCurrentZ(Double_t z, Int_t iz); | |||
void SetCurrentVertices(Double_t x0, Double_t y0, Doubl e_t scale); | void SetCurrentVertices(Double_t x0, Double_t y0, Doubl e_t scale); | |||
virtual void SetDimensions(Double_t *param); | virtual void SetDimensions(Double_t *param); | |||
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; | |||
virtual void SetSegsAndPols(TBuffer3D &buff) const; | virtual void SetSegsAndPols(TBuffer3D &buff) const; | |||
virtual void Sizeof3D() const; | virtual void Sizeof3D() const; | |||
ClassDef(TGeoXtru, 3) // extruded polygon class | ClassDef(TGeoXtru, 3) // extruded polygon class | |||
End of changes. 7 change blocks. | ||||
12 lines changed or deleted | 22 lines changed or added | |||
TGraph2D.h | TGraph2D.h | |||
---|---|---|---|---|
skipping to change at line 115 | skipping to change at line 115 | |||
TList *GetContourList(Double_t contour); | TList *GetContourList(Double_t contour); | |||
TDirectory *GetDirectory() const {return fDirectory;} | TDirectory *GetDirectory() const {return fDirectory;} | |||
Int_t GetNpx() const {return fNpx;} | Int_t GetNpx() const {return fNpx;} | |||
Int_t GetNpy() const {return fNpy;} | Int_t GetNpy() const {return fNpy;} | |||
TH2D *GetHistogram(Option_t *option=""); | TH2D *GetHistogram(Option_t *option=""); | |||
TList *GetListOfFunctions() const { return fFunctions; } | TList *GetListOfFunctions() const { return fFunctions; } | |||
virtual Double_t GetErrorX(Int_t bin) const; | virtual Double_t GetErrorX(Int_t bin) const; | |||
virtual Double_t GetErrorY(Int_t bin) const; | virtual Double_t GetErrorY(Int_t bin) const; | |||
virtual Double_t GetErrorZ(Int_t bin) const; | virtual Double_t GetErrorZ(Int_t bin) const; | |||
Double_t GetMargin() const {return fMargin;} | Double_t GetMargin() const {return fMargin;} | |||
Double_t GetMaximum() const {return fMaximum;}; | ||||
Double_t GetMinimum() const {return fMinimum;}; | ||||
TAxis *GetXaxis() const ; | TAxis *GetXaxis() const ; | |||
TAxis *GetYaxis() const ; | TAxis *GetYaxis() const ; | |||
TAxis *GetZaxis() const ; | TAxis *GetZaxis() const ; | |||
Int_t GetN() const {return fNpoints;} | Int_t GetN() const {return fNpoints;} | |||
Double_t *GetX() const {return fX;} | Double_t *GetX() const {return fX;} | |||
Double_t *GetY() const {return fY;} | Double_t *GetY() const {return fY;} | |||
Double_t *GetZ() const {return fZ;} | Double_t *GetZ() const {return fZ;} | |||
virtual Double_t *GetEX() const {return 0;} | virtual Double_t *GetEX() const {return 0;} | |||
virtual Double_t *GetEY() const {return 0;} | virtual Double_t *GetEY() const {return 0;} | |||
virtual Double_t *GetEZ() const {return 0;} | virtual Double_t *GetEZ() const {return 0;} | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 2 lines changed or added | |||
TH2Poly.h | TH2Poly.h | |||
---|---|---|---|---|
skipping to change at line 119 | skipping to change at line 119 | |||
Double_t GetMaximum(Double_t maxval) const; | Double_t GetMaximum(Double_t maxval) const; | |||
Double_t GetMinimum() const; | Double_t GetMinimum() const; | |||
Double_t GetMinimum(Double_t minval) const; | Double_t GetMinimum(Double_t minval) const; | |||
Bool_t GetNewBinAdded() const{return fNewBinAdded;} | Bool_t GetNewBinAdded() const{return fNewBinAdded;} | |||
Int_t GetNumberOfBins() const{return fNcells;} | Int_t GetNumberOfBins() const{return fNcells;} | |||
void Honeycomb(Double_t xstart, Double_t ystart, Double_t a, Int _t k, Int_t s); // Bins the histogram using a honeycomb structure | void Honeycomb(Double_t xstart, Double_t ystart, Double_t a, Int _t k, Int_t s); // Bins the histogram using a honeycomb structure | |||
Double_t Integral(Option_t* option = "") const; | Double_t Integral(Option_t* option = "") const; | |||
Double_t Integral(Int_t, Int_t, const Option_t*) const{return 0;} //MayNotUse | Double_t Integral(Int_t, Int_t, const Option_t*) const{return 0;} //MayNotUse | |||
Double_t Integral(Int_t, Int_t, Int_t, Int_t, const Option_t*) const {return 0;} //MayNotUse | Double_t Integral(Int_t, Int_t, Int_t, Int_t, const Option_t*) const {return 0;} //MayNotUse | |||
Double_t Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, const Op tion_t*) const{return 0;} //MayNotUse | Double_t Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, const Op tion_t*) const{return 0;} //MayNotUse | |||
Long64_t Merge(TCollection *); | ||||
void Reset(Option_t *option); | void Reset(Option_t *option); | |||
void SavePrimitive(ostream& out, Option_t* option = ""); | void SavePrimitive(ostream& out, Option_t* option = ""); | |||
void SetBinContent(Int_t bin, Double_t content); | void SetBinContent(Int_t bin, Double_t content); | |||
void SetBinContent(Int_t, Int_t, Double_t){return;} // MayNotUse | void SetBinContent(Int_t, Int_t, Double_t){return;} // MayNotUse | |||
void SetBinContent(Int_t, Int_t, Int_t, Double_t){return;} // MayNotUse | void SetBinContent(Int_t, Int_t, Int_t, Double_t){return;} // MayNotUse | |||
void SetBinContentChanged(Bool_t flag){fBinContentChanged = flag ;} | void SetBinContentChanged(Bool_t flag){fBinContentChanged = flag ;} | |||
void SetFloat(Bool_t flag = true); | void SetFloat(Bool_t flag = true); | |||
void SetNewBinAdded(Bool_t flag){fNewBinAdded = flag;} | void SetNewBinAdded(Bool_t flag){fNewBinAdded = flag;} | |||
protected: | protected: | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
TInterpreter.h | TInterpreter.h | |||
---|---|---|---|---|
skipping to change at line 154 | skipping to change at line 154 | |||
virtual void Setgvp(Long_t) const {;} | virtual void Setgvp(Long_t) const {;} | |||
virtual void SetRTLD_NOW() const {;} | virtual void SetRTLD_NOW() const {;} | |||
virtual void SetRTLD_LAZY() const {;} | virtual void SetRTLD_LAZY() const {;} | |||
virtual void SetTempLevel(int /* val */) const {;} | virtual void SetTempLevel(int /* val */) const {;} | |||
virtual int UnloadFile(const char * /* path */) const {return 0;} | virtual int UnloadFile(const char * /* path */) const {return 0;} | |||
// G__CallFunc interface | // G__CallFunc interface | |||
virtual void CallFunc_Delete(void * /* func */) const {;} | virtual void CallFunc_Delete(void * /* func */) const {;} | |||
virtual void CallFunc_Exec(CallFunc_t * /* func */, void * /* address */) const {;} | virtual void CallFunc_Exec(CallFunc_t * /* func */, void * /* address */) const {;} | |||
virtual Long_t CallFunc_ExecInt(CallFunc_t * /* func */, void * /* ad dress */) const {return 0;} | virtual Long_t CallFunc_ExecInt(CallFunc_t * /* func */, void * /* ad dress */) const {return 0;} | |||
virtual Long_t CallFunc_ExecInt64(CallFunc_t * /* func */, void * /* address */) const {return 0;} | virtual Long64_t CallFunc_ExecInt64(CallFunc_t * /* func */, void * /* address */) const {return 0;} | |||
virtual Double_t CallFunc_ExecDouble(CallFunc_t * /* func */, void * /* address */) const {return 0;} | virtual Double_t CallFunc_ExecDouble(CallFunc_t * /* func */, void * /* address */) const {return 0;} | |||
virtual CallFunc_t *CallFunc_Factory() const {return 0;} | virtual CallFunc_t *CallFunc_Factory() const {return 0;} | |||
virtual CallFunc_t *CallFunc_FactoryCopy(CallFunc_t * /* func */) cons t {return 0;} | virtual CallFunc_t *CallFunc_FactoryCopy(CallFunc_t * /* func */) cons t {return 0;} | |||
virtual MethodInfo_t *CallFunc_FactoryMethod(CallFunc_t * /* func */) co nst {return 0;} | virtual MethodInfo_t *CallFunc_FactoryMethod(CallFunc_t * /* func */) co nst {return 0;} | |||
virtual void CallFunc_Init(CallFunc_t * /* func */) const {;} | virtual void CallFunc_Init(CallFunc_t * /* func */) const {;} | |||
virtual Bool_t CallFunc_IsValid(CallFunc_t * /* func */) const {return 0 ;} | virtual Bool_t CallFunc_IsValid(CallFunc_t * /* func */) const {return 0 ;} | |||
virtual void CallFunc_ResetArg(CallFunc_t * /* func */) const {;} | virtual void CallFunc_ResetArg(CallFunc_t * /* func */) const {;} | |||
virtual void CallFunc_SetArg(CallFunc_t * /*func */, Long_t /* param * /) const {;} | virtual void CallFunc_SetArg(CallFunc_t * /*func */, Long_t /* param * /) const {;} | |||
virtual void CallFunc_SetArg(CallFunc_t * /* func */, Double_t /* para m */) const {;} | virtual void CallFunc_SetArg(CallFunc_t * /* func */, Double_t /* para m */) const {;} | |||
virtual void CallFunc_SetArg(CallFunc_t * /* func */, Long64_t /* para m */) const {;} | virtual void CallFunc_SetArg(CallFunc_t * /* func */, Long64_t /* para m */) const {;} | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TPDF.h | TPDF.h | |||
---|---|---|---|---|
skipping to change at line 102 | skipping to change at line 102 | |||
void SetLineScale(Float_t scale=1) {fLineScale = scale;} | void SetLineScale(Float_t scale=1) {fLineScale = scale;} | |||
void SetLineStyle(Style_t linestyle = 1); | void SetLineStyle(Style_t linestyle = 1); | |||
void SetLineWidth(Width_t linewidth = 1); | void SetLineWidth(Width_t linewidth = 1); | |||
void SetMarkerColor( Color_t cindex=1); | void SetMarkerColor( Color_t cindex=1); | |||
void SetTextColor( Color_t cindex=1); | void SetTextColor( Color_t cindex=1); | |||
void Text(Double_t x, Double_t y, const char *string); | void Text(Double_t x, Double_t y, const char *string); | |||
void Text(Double_t, Double_t, const wchar_t *){} | void Text(Double_t, Double_t, const wchar_t *){} | |||
void TextNDC(Double_t u, Double_t v, const char *string); | void TextNDC(Double_t u, Double_t v, const char *string); | |||
void TextNDC(Double_t, Double_t, const wchar_t *){} | void TextNDC(Double_t, Double_t, const wchar_t *){} | |||
void WriteCompressedBuffer(); | void WriteCompressedBuffer(); | |||
virtual void WriteReal(Float_t r); | virtual void WriteReal(Float_t r, Bool_t space=kTRUE); | |||
Double_t UtoPDF(Double_t u); | Double_t UtoPDF(Double_t u); | |||
Double_t VtoPDF(Double_t v); | Double_t VtoPDF(Double_t v); | |||
Double_t XtoPDF(Double_t x); | Double_t XtoPDF(Double_t x); | |||
Double_t YtoPDF(Double_t y); | Double_t YtoPDF(Double_t y); | |||
ClassDef(TPDF,0) //PDF driver | ClassDef(TPDF,0) //PDF driver | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TPacketizerUnit.h | TPacketizerUnit.h | |||
---|---|---|---|---|
skipping to change at line 50 | skipping to change at line 50 | |||
class TStopwatch; | class TStopwatch; | |||
class TPacketizerUnit : public TVirtualPacketizer { | class TPacketizerUnit : public TVirtualPacketizer { | |||
public: // public because of Sun CC bug | public: // public because of Sun CC bug | |||
class TSlaveStat; | class TSlaveStat; | |||
private: | private: | |||
TList *fPackets; // All processed packets | TList *fPackets; // All processed packets | |||
TMap *fWrkStats; // Worker status, keyed by correspondig TS lave | TMap *fWrkStats; // Worker status, keyed by correspondig TS lave | |||
TList *fWrkExcluded; // List of nodes excluded from distributio | ||||
n | ||||
// (submasters with no active workers) | ||||
TStopwatch *fStopwatch; // For measuring the start time of each pa cket | TStopwatch *fStopwatch; // For measuring the start time of each pa cket | |||
Long64_t fProcessing; // Event being processed | Long64_t fProcessing; // Event being processed | |||
Long64_t fAssigned; // Entries processed or being processed. | Long64_t fAssigned; // Entries processed or being processed. | |||
Double_t fCalibFrac; // Size of the calibrating packet as fract ion of Ntot/Nwrk | Double_t fCalibFrac; // Size of the calibrating packet as fract ion of Ntot/Nwrk | |||
Long64_t fNumPerWorker; // Number of cycles per worker, if this op tion | Long64_t fNumPerWorker; // Number of cycles per worker, if this op tion | |||
// is chosen | // is chosen | |||
Bool_t fFixedNum; // Whether we must assign a fixed number o f cycles per worker | ||||
Long64_t fPacketSeq; // Sequential number of the last packet as signed | Long64_t fPacketSeq; // Sequential number of the last packet as signed | |||
TList *fInput; // Input list | ||||
TPacketizerUnit(); | TPacketizerUnit(); | |||
TPacketizerUnit(const TPacketizerUnit&); // no implementation, will generate | TPacketizerUnit(const TPacketizerUnit&); // no implementation, will generate | |||
void operator=(const TPacketizerUnit&); // error on accidental usage | void operator=(const TPacketizerUnit&); // error on accidental usag e | |||
public: | public: | |||
TPacketizerUnit(TList *slaves, Long64_t num, TList *input, TProofProgres sStatus *st = 0); | TPacketizerUnit(TList *slaves, Long64_t num, TList *input, TProofProgres sStatus *st = 0); | |||
virtual ~TPacketizerUnit(); | virtual ~TPacketizerUnit(); | |||
Int_t AssignWork(TDSet * /*dset*/, Long64_t /*first*/, Long64_t num); | ||||
TDSetElement *GetNextPacket(TSlave *sl, TMessage *r); | TDSetElement *GetNextPacket(TSlave *sl, TMessage *r); | |||
Double_t GetCurrentTime(); | Double_t GetCurrentTime(); | |||
Float_t GetCurrentRate(Bool_t &all); | Float_t GetCurrentRate(Bool_t &all); | |||
Int_t GetActiveWorkers() { return fWrkStats->GetSize(); } | Int_t GetActiveWorkers() { return fWrkStats->GetSize(); } | |||
Int_t AddWorkers(TList *workers); | ||||
ClassDef(TPacketizerUnit,0) //Generate work packets for parallel proces sing | ClassDef(TPacketizerUnit,0) //Generate work packets for parallel proces sing | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 6 change blocks. | ||||
1 lines changed or deleted | 9 lines changed or added | |||
TPainter3dAlgorithms.h | TPainter3dAlgorithms.h | |||
---|---|---|---|---|
skipping to change at line 74 | skipping to change at line 74 | |||
Double_t fDXrast; // | Double_t fDXrast; // | |||
Double_t fDYrast; // | Double_t fDYrast; // | |||
Int_t fSystem; //Coordinate system | Int_t fSystem; //Coordinate system | |||
Int_t fNT; // | Int_t fNT; // | |||
Int_t fNlevel; //Number of color levels | Int_t fNlevel; //Number of color levels | |||
Int_t fColorLevel[258]; //Color levels corresponding to function s | Int_t fColorLevel[258]; //Color levels corresponding to function s | |||
Int_t *fColorMain; // | Int_t *fColorMain; // | |||
Int_t *fColorDark; // | Int_t *fColorDark; // | |||
Int_t fColorTop; // | Int_t fColorTop; // | |||
Int_t fColorBottom; // | Int_t fColorBottom; // | |||
Int_t *fEdgeColor; // | ||||
Int_t *fEdgeStyle; // | ||||
Int_t *fEdgeWidth; // | ||||
Int_t fEdgeIdx; // | ||||
Int_t fMesh; //(=1 if mesh to draw, o otherwise) | Int_t fMesh; //(=1 if mesh to draw, o otherwise) | |||
Int_t fNlines; // | Int_t fNlines; // | |||
Int_t fLevelLine[200]; // | Int_t fLevelLine[200]; // | |||
Int_t fLoff; // | Int_t fLoff; // | |||
Int_t fNqs; // | Int_t fNqs; // | |||
Int_t fNStack; //Number of histograms in the stack to b e painted | Int_t fNStack; //Number of histograms in the stack to b e painted | |||
Int_t fNxrast; // | Int_t fNxrast; // | |||
Int_t fNyrast; // | Int_t fNyrast; // | |||
Int_t fIfrast; // | Int_t fIfrast; // | |||
Int_t *fRaster; //pointer to raster buffer | Int_t *fRaster; //pointer to raster buffer | |||
skipping to change at line 169 | skipping to change at line 173 | |||
void MarchingCubeSurfacePenetration(Double_t a00, Double_t a10, Doubl e_t a11, Double_t a01, Double_t b00, Double_t b10, Double_t b11, Double_t b 01, Int_t &irep); | void MarchingCubeSurfacePenetration(Double_t a00, Double_t a10, Doubl e_t a11, Double_t a01, Double_t b00, Double_t b10, Double_t b11, Double_t b 01, Int_t &irep); | |||
void MarchingCubeFindNodes(Int_t nnod, Int_t *ie, Double_t xyz[52][3] , Double_t grad[52][3]); | void MarchingCubeFindNodes(Int_t nnod, Int_t *ie, Double_t xyz[52][3] , Double_t grad[52][3]); | |||
void ModifyScreen(Double_t *r1, Double_t *r2); | void ModifyScreen(Double_t *r1, Double_t *r2); | |||
void SetDrawFace(DrawFaceFunc_t pointer); | void SetDrawFace(DrawFaceFunc_t pointer); | |||
void SetIsoSurfaceParameters(Double_t fmin, Double_t fmax, Int_t ncol or, Int_t ic1, Int_t ic2, Int_t ic3){fFmin=fmin; fFmax=fmax; fNcolor=ncolor ; fIc1=ic1; fIc2=ic2; fIc3=ic3;} | void SetIsoSurfaceParameters(Double_t fmin, Double_t fmax, Int_t ncol or, Int_t ic1, Int_t ic2, Int_t ic3){fFmin=fmin; fFmax=fmax; fNcolor=ncolor ; fIc1=ic1; fIc2=ic2; fIc3=ic3;} | |||
void SetLegoFunction(LegoFunc_t pointer); | void SetLegoFunction(LegoFunc_t pointer); | |||
void SetMesh(Int_t mesh=1) {fMesh=mesh;} | void SetMesh(Int_t mesh=1) {fMesh=mesh;} | |||
void SetSurfaceFunction(SurfaceFunc_t pointer); | void SetSurfaceFunction(SurfaceFunc_t pointer); | |||
void SetColorDark(Color_t color, Int_t n=0); | void SetColorDark(Color_t color, Int_t n=0); | |||
void SetColorMain(Color_t color, Int_t n=0); | void SetColorMain(Color_t color, Int_t n=0); | |||
void SetEdgeAtt(Color_t color=1, Style_t style=1, Width_t width=1, In t_t n=0); | ||||
void SideVisibilityDecode(Double_t val, Int_t &iv1, Int_t &iv2, Int_t &iv3, Int_t &iv4, Int_t &iv5, Int_t &iv6, Int_t &ir); | void SideVisibilityDecode(Double_t val, Int_t &iv1, Int_t &iv2, Int_t &iv3, Int_t &iv4, Int_t &iv5, Int_t &iv6, Int_t &ir); | |||
void SideVisibilityEncode(Int_t iopt, Double_t phi1, Double_t phi2, D ouble_t &val); | void SideVisibilityEncode(Int_t iopt, Double_t phi1, Double_t phi2, D ouble_t &val); | |||
void Spectrum(Int_t nl, Double_t fmin, Double_t fmax, Int_t ic, Int_t idc, Int_t &irep); | void Spectrum(Int_t nl, Double_t fmin, Double_t fmax, Int_t ic, Int_t idc, Int_t &irep); | |||
void SurfaceCartesian(Double_t ang, Int_t nx, Int_t ny, const char *c hopt); | void SurfaceCartesian(Double_t ang, Int_t nx, Int_t ny, const char *c hopt); | |||
void SurfacePolar(Int_t iordr, Int_t na, Int_t nb, const char *chopt) ; | void SurfacePolar(Int_t iordr, Int_t na, Int_t nb, const char *chopt) ; | |||
void SurfaceCylindrical(Int_t iordr, Int_t na, Int_t nb, const char * chopt); | void SurfaceCylindrical(Int_t iordr, Int_t na, Int_t nb, const char * chopt); | |||
void SurfaceFunction(Int_t ia, Int_t ib, Double_t *f, Double_t *t); | void SurfaceFunction(Int_t ia, Int_t ib, Double_t *f, Double_t *t); | |||
void SurfaceSpherical(Int_t ipsdr, Int_t iordr, Int_t na, Int_t nb, c onst char *chopt); | void SurfaceSpherical(Int_t ipsdr, Int_t iordr, Int_t na, Int_t nb, c onst char *chopt); | |||
void SurfaceProperty(Double_t qqa, Double_t qqd, Double_t qqs, Int_t nnqs, Int_t &irep); | void SurfaceProperty(Double_t qqa, Double_t qqd, Double_t qqs, Int_t nnqs, Int_t &irep); | |||
void TestEdge(Double_t del, Double_t xyz[52][3], Int_t i1, Int_t i2, Int_t iface[3], Double_t abcd[4], Int_t &irep); | void TestEdge(Double_t del, Double_t xyz[52][3], Int_t i1, Int_t i2, Int_t iface[3], Double_t abcd[4], Int_t &irep); | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 5 lines changed or added | |||
TProof.h | TProof.h | |||
---|---|---|---|---|
skipping to change at line 140 | skipping to change at line 140 | |||
// 26 -> 27: Use new file for updating the session status | // 26 -> 27: Use new file for updating the session status | |||
// 27 -> 28: Support for multi-datasets, fix global pack dirs, fix AskStati stics, | // 27 -> 28: Support for multi-datasets, fix global pack dirs, fix AskStati stics, | |||
// package download, dataset caching | // package download, dataset caching | |||
// 28 -> 29: Support for config parameters in EnablePackage, idle-timeout | // 28 -> 29: Support for config parameters in EnablePackage, idle-timeout | |||
// 29 -> 30: Add information about data dir in TSlaveInfo | // 29 -> 30: Add information about data dir in TSlaveInfo | |||
// 30 -> 31: Development cycle 5.29 | // 30 -> 31: Development cycle 5.29 | |||
// 31 -> 32: New log path trasmission | // 31 -> 32: New log path trasmission | |||
// 32 -> 33: Development cycle 5.29/04 (fixed worker activation, new startu p technology, ...) | // 32 -> 33: Development cycle 5.29/04 (fixed worker activation, new startu p technology, ...) | |||
// 33 -> 34: Development cycle 5.33/02 (fix load issue, ...) | // 33 -> 34: Development cycle 5.33/02 (fix load issue, ...) | |||
// 34 -> 35: Development cycle 5.99/01 (PLite on workers, staging requests in separate dsmgr...) | // 34 -> 35: Development cycle 5.99/01 (PLite on workers, staging requests in separate dsmgr...) | |||
// 35 -> 36: SetParallel in dynamic mode (changes default in GoParallel), c ancel staging requests | ||||
// PROOF magic constants | // PROOF magic constants | |||
const Int_t kPROOF_Protocol = 35; // protocol versi on number | const Int_t kPROOF_Protocol = 36; // protocol versi on number | |||
const Int_t kPROOF_Port = 1093; // IANA registere d PROOF port | const Int_t kPROOF_Port = 1093; // IANA registere d PROOF port | |||
const char* const kPROOF_ConfFile = "proof.conf"; // default config file | const char* const kPROOF_ConfFile = "proof.conf"; // default config file | |||
const char* const kPROOF_ConfDir = "/usr/local/root"; // default c onfig dir | const char* const kPROOF_ConfDir = "/usr/local/root"; // default c onfig dir | |||
const char* const kPROOF_WorkDir = ".proof"; // default workin g directory | const char* const kPROOF_WorkDir = ".proof"; // default workin g directory | |||
const char* const kPROOF_CacheDir = "cache"; // file cache dir , under WorkDir | const char* const kPROOF_CacheDir = "cache"; // file cache dir , under WorkDir | |||
const char* const kPROOF_PackDir = "packages"; // package dir, u nder WorkDir | const char* const kPROOF_PackDir = "packages"; // package dir, u nder WorkDir | |||
const char* const kPROOF_PackDownloadDir = "downloaded"; // subdir with do wnloaded PARs, under PackDir | const char* const kPROOF_PackDownloadDir = "downloaded"; // subdir with do wnloaded PARs, under PackDir | |||
const char* const kPROOF_QueryDir = "queries"; // query dir, und er WorkDir | const char* const kPROOF_QueryDir = "queries"; // query dir, und er WorkDir | |||
const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, u nder WorkDir | const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, u nder WorkDir | |||
const char* const kPROOF_DataDir = "data"; // dir for produc ed data, under WorkDir | const char* const kPROOF_DataDir = "data"; // dir for produc ed data, under WorkDir | |||
const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file | const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file | |||
const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // packag e lock file | const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // packag e lock file | |||
const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file | const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file | |||
const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad | const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad | |||
const char* const kPROOF_WorkerIdleTO = "+++ idle-timeout +++"; // signa l worker idle timeout in MarkBad | const char* const kPROOF_WorkerIdleTO = "+++ idle-timeout +++"; // signa l worker idle timeout in MarkBad | |||
const char* const kPROOF_InputDataFile = "inputdata.root"; // Defaul t input data file name | const char* const kPROOF_InputDataFile = "inputdata.root"; // Defaul t input data file name | |||
const char* const kPROOF_MissingFiles = "MissingFiles"; // Missingfile list name | const char* const kPROOF_MissingFiles = "MissingFiles"; // Missingfile list name | |||
const Long64_t kPROOF_DynWrkPollInt_s = 10; // minimum number of second s between two polls for dyn wrks | ||||
#ifndef R__WIN32 | #ifndef R__WIN32 | |||
const char* const kCP = "/bin/cp -fp"; | const char* const kCP = "/bin/cp -fp"; | |||
const char* const kRM = "/bin/rm -rf"; | const char* const kRM = "/bin/rm -rf"; | |||
const char* const kLS = "/bin/ls -l"; | const char* const kLS = "/bin/ls -l"; | |||
const char* const kUNTAR = "%s -c %s/%s | (cd %s; tar xf -)"; | const char* const kUNTAR = "%s -c %s/%s | (cd %s; tar xf -)"; | |||
const char* const kUNTAR2 = "%s -c %s | (cd %s; tar xf -)"; | const char* const kUNTAR2 = "%s -c %s | (cd %s; tar xf -)"; | |||
const char* const kUNTAR3 = "%s -c %s | (tar xf -)"; | const char* const kUNTAR3 = "%s -c %s | (tar xf -)"; | |||
const char* const kGUNZIP = "gunzip"; | const char* const kGUNZIP = "gunzip"; | |||
#else | #else | |||
skipping to change at line 466 | skipping to change at line 468 | |||
kGetDataSet = 5, //Get a TFileCollection of TFileInfo objec ts | kGetDataSet = 5, //Get a TFileCollection of TFileInfo objec ts | |||
kVerifyDataSet = 6, //Try open all files from a dataset and re port results | kVerifyDataSet = 6, //Try open all files from a dataset and re port results | |||
kRemoveDataSet = 7, //Remove a dataset but leave files belongi ng to it | kRemoveDataSet = 7, //Remove a dataset but leave files belongi ng to it | |||
kMergeDataSet = 8, //Add new files to an existing dataset | kMergeDataSet = 8, //Add new files to an existing dataset | |||
kShowDataSets = 9, //Shows datasets, returns formatted output | kShowDataSets = 9, //Shows datasets, returns formatted output | |||
kGetQuota = 10, //Get quota info per group | kGetQuota = 10, //Get quota info per group | |||
kShowQuota = 11, //Show quotas | kShowQuota = 11, //Show quotas | |||
kSetDefaultTreeName = 12, //Set the default tree name | kSetDefaultTreeName = 12, //Set the default tree name | |||
kCache = 13, //Show/clear cache | kCache = 13, //Show/clear cache | |||
kRequestStaging = 14, //Request staging of a dataset | kRequestStaging = 14, //Request staging of a dataset | |||
kStagingStatus = 15 //Obtain staging status for the given data | kStagingStatus = 15, //Obtain staging status for the given data | |||
set | set | |||
kCancelStaging = 16 //Cancels dataset staging request | ||||
}; | }; | |||
enum ESendFileOpt { | enum ESendFileOpt { | |||
kAscii = 0x0, | kAscii = 0x0, | |||
kBinary = 0x1, | kBinary = 0x1, | |||
kForce = 0x2, | kForce = 0x2, | |||
kForward = 0x4, | kForward = 0x4, | |||
kCpBin = 0x8, | kCpBin = 0x8, | |||
kCp = 0x10 | kCp = 0x10 | |||
}; | }; | |||
enum EProofWrkListAction { | enum EProofWrkListAction { | |||
skipping to change at line 507 | skipping to change at line 510 | |||
Bool_t fTty; //TRUE if connected to a terminal | Bool_t fTty; //TRUE if connected to a terminal | |||
TString fMaster; //master server ("" if a master); used in the browser | TString fMaster; //master server ("" if a master); used in the browser | |||
TString fWorkDir; //current work directory on remote ser vers | TString fWorkDir; //current work directory on remote ser vers | |||
TString fGroup; //PROOF group of this user | TString fGroup; //PROOF group of this user | |||
Int_t fLogLevel; //server debug logging level | Int_t fLogLevel; //server debug logging level | |||
Int_t fStatus; //remote return status (part of kPROOF _LOGDONE) | Int_t fStatus; //remote return status (part of kPROOF _LOGDONE) | |||
Int_t fCheckFileStatus; //remote return status after kPROOF_CH ECKFILE | Int_t fCheckFileStatus; //remote return status after kPROOF_CH ECKFILE | |||
TList *fRecvMessages; //Messages received during collect not yet processed | TList *fRecvMessages; //Messages received during collect not yet processed | |||
TList *fSlaveInfo; //!list returned by kPROOF_GETSLAVEINF O | TList *fSlaveInfo; //!list returned by kPROOF_GETSLAVEINF O | |||
Bool_t fSendGroupView; //if true send new group view | Bool_t fSendGroupView; //if true send new group view | |||
Bool_t fIsPollingWorkers; //will be set to kFALSE to prevent r | ||||
ecursive dyn workers check in dyn mode | ||||
Long64_t fLastPollWorkers_s; //timestamp (in seconds) of last po | ||||
ll for workers, -1 if never checked | ||||
TList *fActiveSlaves; //list of active slaves (subset of all slaves) | TList *fActiveSlaves; //list of active slaves (subset of all slaves) | |||
TString fActiveSlavesSaved;// comma-separated list of active sla ves (before last call to | TString fActiveSlavesSaved;// comma-separated list of active sla ves (before last call to | |||
// SetParallel or Activate/Deactivate Workers) | // SetParallel or Activate/Deactivate Workers) | |||
TList *fInactiveSlaves; //list of inactive slaves (good but no t used for processing) | TList *fInactiveSlaves; //list of inactive slaves (good but no t used for processing) | |||
TList *fUniqueSlaves; //list of all active slaves with uniqu e file systems | TList *fUniqueSlaves; //list of all active slaves with uniqu e file systems | |||
TList *fAllUniqueSlaves; //list of all active slaves with uniq ue file systems, including all submasters | TList *fAllUniqueSlaves; //list of all active slaves with uniq ue file systems, including all submasters | |||
TList *fNonUniqueMasters; //list of all active masters with a n onunique file system | TList *fNonUniqueMasters; //list of all active masters with a n onunique file system | |||
TMonitor *fActiveMonitor; //monitor activity on all active slave sockets | TMonitor *fActiveMonitor; //monitor activity on all active slave sockets | |||
TMonitor *fUniqueMonitor; //monitor activity on all unique slave sockets | TMonitor *fUniqueMonitor; //monitor activity on all unique slave sockets | |||
TMonitor *fAllUniqueMonitor; //monitor activity on all unique slav e sockets, including all submasters | TMonitor *fAllUniqueMonitor; //monitor activity on all unique slav e sockets, including all submasters | |||
skipping to change at line 591 | skipping to change at line 596 | |||
Bool_t fMergersByHost; // Mergers assigned by host name | Bool_t fMergersByHost; // Mergers assigned by host name | |||
Int_t fMergersCount; | Int_t fMergersCount; | |||
Int_t fWorkersToMerge; // Current total number of workers, wh ich have not been yet assigned to any merger | Int_t fWorkersToMerge; // Current total number of workers, wh ich have not been yet assigned to any merger | |||
Int_t fLastAssignedMerger; | Int_t fLastAssignedMerger; | |||
TList *fMergers; | TList *fMergers; | |||
Bool_t fFinalizationRunning; | Bool_t fFinalizationRunning; | |||
Int_t fRedirectNext; | Int_t fRedirectNext; | |||
TString fPerfTree; // If non-null triggers saving of the performance info into fPerfTree | TString fPerfTree; // If non-null triggers saving of the performance info into fPerfTree | |||
TList *fWrksOutputReady; // List of workers ready to send outpu | ||||
t (in control output sending mode) | ||||
static TPluginHandler *fgLogViewer; // Log dialog box plugin | static TPluginHandler *fgLogViewer; // Log dialog box plugin | |||
protected: | protected: | |||
enum ESlaves { kAll, kActive, kUnique, kAllUnique }; | enum ESlaves { kAll, kActive, kUnique, kAllUnique }; | |||
Bool_t fMasterServ; //true if we are a master server | Bool_t fMasterServ; //true if we are a master server | |||
TUrl fUrl; //Url of the master | TUrl fUrl; //Url of the master | |||
TString fConfFile; //file containing config information | TString fConfFile; //file containing config information | |||
TString fConfDir; //directory containing cluster config i nformation | TString fConfDir; //directory containing cluster config i nformation | |||
TString fImage; //master's image name | TString fImage; //master's image name | |||
skipping to change at line 644 | skipping to change at line 651 | |||
Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t c popt = (kCp | kCpBin)); | Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t c popt = (kCp | kCpBin)); | |||
Int_t SendObject(const TObject *obj, ESlaves list = kActive); | Int_t SendObject(const TObject *obj, ESlaves list = kActive); | |||
Int_t SendGroupView(); | Int_t SendGroupView(); | |||
Int_t SendInitialState(); | Int_t SendInitialState(); | |||
Int_t SendPrint(Option_t *option=""); | Int_t SendPrint(Option_t *option=""); | |||
Int_t Ping(ESlaves list); | Int_t Ping(ESlaves list); | |||
void Interrupt(EUrgent type, ESlaves list = kActive); | void Interrupt(EUrgent type, ESlaves list = kActive); | |||
void AskStatistics(); | void AskStatistics(); | |||
void AskParallel(); | void AskParallel(); | |||
Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE, Bool_t random = kFALSE); | Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE, Bool_t random = kFALSE); | |||
Int_t GoMoreParallel(Int_t nWorkersToAdd); | ||||
Int_t SetParallelSilent(Int_t nodes, Bool_t random = kFALSE); | Int_t SetParallelSilent(Int_t nodes, Bool_t random = kFALSE); | |||
void RecvLogFile(TSocket *s, Int_t size); | void RecvLogFile(TSocket *s, Int_t size); | |||
void NotifyLogMsg(const char *msg, const char *sfx = "\n"); | void NotifyLogMsg(const char *msg, const char *sfx = "\n"); | |||
Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuild All, Int_t chkveropt = 2); | Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuild All, Int_t chkveropt = 2); | |||
Int_t BuildPackageOnClient(const char *package, Int_t opt = 0, TStrin g *path = 0, Int_t chkveropt = 2); | Int_t BuildPackageOnClient(const char *package, Int_t opt = 0, TStrin g *path = 0, Int_t chkveropt = 2); | |||
Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE, T List *loadopts = 0); | Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE, T List *loadopts = 0, TList *workers = 0); | |||
Int_t LoadPackageOnClient(const char *package, TList *loadopts = 0); | Int_t LoadPackageOnClient(const char *package, TList *loadopts = 0); | |||
Int_t UnloadPackage(const char *package); | Int_t UnloadPackage(const char *package); | |||
Int_t UnloadPackageOnClient(const char *package); | Int_t UnloadPackageOnClient(const char *package); | |||
Int_t UnloadPackages(); | Int_t UnloadPackages(); | |||
Int_t UploadPackageOnClient(const char *package, EUploadPackageOpt op t, TMD5 *md5); | Int_t UploadPackageOnClient(const char *package, EUploadPackageOpt op t, TMD5 *md5); | |||
Int_t DisablePackage(const char *package); | Int_t DisablePackage(const char *package); | |||
Int_t DisablePackageOnClient(const char *package); | Int_t DisablePackageOnClient(const char *package); | |||
Int_t DisablePackages(); | Int_t DisablePackages(); | |||
void Activate(TList *slaves = 0); | void Activate(TList *slaves = 0); | |||
skipping to change at line 680 | skipping to change at line 688 | |||
Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves); | Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves); | |||
Int_t BroadcastObject(const TObject *obj, Int_t kind = kMESS_OBJECT, ESlaves list = kActive); | Int_t BroadcastObject(const TObject *obj, Int_t kind = kMESS_OBJECT, ESlaves list = kActive); | |||
Int_t BroadcastRaw(const void *buffer, Int_t length, TList *slaves); | Int_t BroadcastRaw(const void *buffer, Int_t length, TList *slaves); | |||
Int_t BroadcastRaw(const void *buffer, Int_t length, ESlaves list = k Active); | Int_t BroadcastRaw(const void *buffer, Int_t length, ESlaves list = k Active); | |||
Int_t Collect(const TSlave *sl, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE); | Int_t Collect(const TSlave *sl, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE); | |||
Int_t Collect(TMonitor *mon, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE); | Int_t Collect(TMonitor *mon, Long_t timeout = -1, Int_t endtype = -1, Bool_t deactonfail = kFALSE); | |||
Int_t CollectInputFrom(TSocket *s, Int_t endtype = -1, Bool_t deacton fail = kFALSE); | Int_t CollectInputFrom(TSocket *s, Int_t endtype = -1, Bool_t deacton fail = kFALSE); | |||
Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail = kFALSE); | Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail = kFALSE); | |||
void HandleSubmerger(TMessage *mess, TSlave *sl); | void HandleSubmerger(TMessage *mess, TSlave *sl); | |||
void SetMonitor(TMonitor *mon = 0, Bool_t on = kTRUE); | void SetMonitor(TMonitor *mon = 0, Bool_t on = kTRUE); | |||
Int_t PollForNewWorkers(); | ||||
void ReleaseMonitor(TMonitor *mon); | void ReleaseMonitor(TMonitor *mon); | |||
virtual void FindUniqueSlaves(); | virtual void FindUniqueSlaves(); | |||
TSlave *FindSlave(TSocket *s) const; | TSlave *FindSlave(TSocket *s) const; | |||
TList *GetListOfSlaves() const { return fSlaves; } | TList *GetListOfSlaves() const { return fSlaves; } | |||
TList *GetListOfInactiveSlaves() const { return fInactiveSlaves; } | TList *GetListOfInactiveSlaves() const { return fInactiveSlaves; } | |||
TList *GetListOfUniqueSlaves() const { return fUniqueSlaves; } | TList *GetListOfUniqueSlaves() const { return fUniqueSlaves; } | |||
TList *GetListOfBadSlaves() const { return fBadSlaves; } | TList *GetListOfBadSlaves() const { return fBadSlaves; } | |||
Int_t GetNumberOfSlaves() const; | Int_t GetNumberOfSlaves() const; | |||
skipping to change at line 864 | skipping to change at line 873 | |||
Int_t Remove(Int_t query, Bool_t all = kFALSE); | Int_t Remove(Int_t query, Bool_t all = kFALSE); | |||
Int_t Remove(const char *queryref, Bool_t all = kFALSE); | Int_t Remove(const char *queryref, Bool_t all = kFALSE); | |||
Int_t Retrieve(Int_t query, const char *path = 0); | Int_t Retrieve(Int_t query, const char *path = 0); | |||
Int_t Retrieve(const char *queryref, const char *path = 0); | Int_t Retrieve(const char *queryref, const char *path = 0); | |||
void DisableGoAsyn(); | void DisableGoAsyn(); | |||
void GoAsynchronous(); | void GoAsynchronous(); | |||
void StopProcess(Bool_t abort, Int_t timeout = -1); | void StopProcess(Bool_t abort, Int_t timeout = -1); | |||
void Browse(TBrowser *b); | void Browse(TBrowser *b); | |||
virtual Int_t Echo(const TObject *obj); | ||||
virtual Int_t Echo(const char *str); | ||||
Int_t SetParallel(Int_t nodes = -1, Bool_t random = kFALSE); | Int_t SetParallel(Int_t nodes = -1, Bool_t random = kFALSE); | |||
void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll); | void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll); | |||
void Close(Option_t *option=""); | void Close(Option_t *option=""); | |||
virtual void Print(Option_t *option="") const; | virtual void Print(Option_t *option="") const; | |||
//-- cache and package management | //-- cache and package management | |||
virtual void ShowCache(Bool_t all = kFALSE); | virtual void ShowCache(Bool_t all = kFALSE); | |||
virtual void ClearCache(const char *file = 0); | virtual void ClearCache(const char *file = 0); | |||
TList *GetListOfPackages(); | TList *GetListOfPackages(); | |||
TList *GetListOfEnabledPackages(); | TList *GetListOfEnabledPackages(); | |||
void ShowPackages(Bool_t all = kFALSE, Bool_t redirlog = kFALSE ); | void ShowPackages(Bool_t all = kFALSE, Bool_t redirlog = kFALSE ); | |||
void ShowEnabledPackages(Bool_t all = kFALSE); | void ShowEnabledPackages(Bool_t all = kFALSE); | |||
Int_t ClearPackages(); | Int_t ClearPackages(); | |||
Int_t ClearPackage(const char *package); | Int_t ClearPackage(const char *package); | |||
Int_t DownloadPackage(const char *par, const char *dstdir = 0); | Int_t DownloadPackage(const char *par, const char *dstdir = 0); | |||
Int_t EnablePackage(const char *package, Bool_t notOnClient = kF ALSE); | Int_t EnablePackage(const char *package, Bool_t notOnClient = kF ALSE, TList *workers = 0); | |||
Int_t EnablePackage(const char *package, const char *loadopts, | Int_t EnablePackage(const char *package, const char *loadopts, | |||
Bool_t notOnClient = kFALSE); | Bool_t notOnClient = kFALSE, TList *workers = 0); | |||
Int_t EnablePackage(const char *package, TList *loadopts, | Int_t EnablePackage(const char *package, TList *loadopts, | |||
Bool_t notOnClient = kFALSE); | Bool_t notOnClient = kFALSE, TList *workers | |||
Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUn | = 0); | |||
tar); | Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUn | |||
tar, TList *workers = 0); | ||||
virtual Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_ t uniqueOnly = kTRUE, | virtual Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_ t uniqueOnly = kTRUE, | |||
TList *wrks = 0); | TList *wrks = 0); | |||
Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE | Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE | |||
, TList *wrks = 0); | , TList *wrks = 0, Bool_t doCollect = kTRUE); | |||
Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE | Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE | |||
, TList *wrks = 0); | , TList *wrks = 0, Bool_t doCollect = kTRUE); | |||
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFA LSE); | Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFA LSE); | |||
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFA LSE); | Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFA LSE); | |||
//-- dataset management | //-- dataset management | |||
Int_t UploadDataSet(const char *, TList *, const char * = 0, Int_t = 0, TList * = 0); | Int_t UploadDataSet(const char *, TList *, const char * = 0, Int_t = 0, TList * = 0); | |||
Int_t UploadDataSet(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0); | Int_t UploadDataSet(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0); | |||
Int_t UploadDataSetFromFile(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0); | Int_t UploadDataSetFromFile(const char *, const char *, const char * = 0, Int_t = 0, TList * = 0); | |||
virtual Bool_t RegisterDataSet(const char *name, | virtual Bool_t RegisterDataSet(const char *name, | |||
TFileCollection *dataset, const char* optStr = ""); | TFileCollection *dataset, const char* optStr = ""); | |||
virtual TMap *GetDataSets(const char *uri = "", const char* optStr = "") ; | virtual TMap *GetDataSets(const char *uri = "", const char* optStr = "") ; | |||
skipping to change at line 915 | skipping to change at line 927 | |||
virtual Bool_t ExistsDataSet(const char *dataset); | virtual Bool_t ExistsDataSet(const char *dataset); | |||
void ShowDataSet(const char *dataset = "", const char* opt = " filter:SsCc"); | void ShowDataSet(const char *dataset = "", const char* opt = " filter:SsCc"); | |||
virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = " "); | virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = " "); | |||
virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = " "); | virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = " "); | |||
virtual TFileCollection *GetDataSet(const char *dataset, const char* opt Str = ""); | virtual TFileCollection *GetDataSet(const char *dataset, const char* opt Str = ""); | |||
TList *FindDataSets(const char *searchString, const char* optStr = ""); | TList *FindDataSets(const char *searchString, const char* optStr = ""); | |||
virtual Bool_t RequestStagingDataSet(const char *dataset); | virtual Bool_t RequestStagingDataSet(const char *dataset); | |||
virtual TFileCollection *GetStagingStatusDataSet(const char *dataset); | virtual TFileCollection *GetStagingStatusDataSet(const char *dataset); | |||
virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr = "filter:SsCc"); | virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr = "filter:SsCc"); | |||
virtual Bool_t CancelStagingDataSet(const char *dataset); | ||||
virtual Int_t SetDataSetTreeName( const char *dataset, const char *treen ame); | virtual Int_t SetDataSetTreeName( const char *dataset, const char *treen ame); | |||
virtual void ShowDataSetCache(const char *dataset = 0); | virtual void ShowDataSetCache(const char *dataset = 0); | |||
virtual void ClearDataSetCache(const char *dataset = 0); | virtual void ClearDataSetCache(const char *dataset = 0); | |||
virtual void ShowData(); | virtual void ShowData(); | |||
void ClearData(UInt_t what = kUnregistered, const char *dsname = 0); | void ClearData(UInt_t what = kUnregistered, const char *dsname = 0); | |||
const char *GetMaster() const { return fMaster; } | const char *GetMaster() const { return fMaster; } | |||
End of changes. 15 change blocks. | ||||
13 lines changed or deleted | 30 lines changed or added | |||
TProofLog.h | TProofLog.h | |||
---|---|---|---|---|
// @(#)root/proof:$Id$ | // @(#)root/proof:$Id: 5d579564fccbadad9cd6f81ccb7726dddea80e0d $ | |||
// Author: G. Ganis 31/08/06 | // Author: G. Ganis 31/08/06 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 66 | skipping to change at line 66 | |||
enum ERetrieveOpt { kLeading = 0x1, kTrailing = 0x2, | enum ERetrieveOpt { kLeading = 0x1, kTrailing = 0x2, | |||
kAll = 0x3, kGrep = 0x4 }; | kAll = 0x3, kGrep = 0x4 }; | |||
TProofLog(const char *stag, const char *url, TProofMgr *mgr); | TProofLog(const char *stag, const char *url, TProofMgr *mgr); | |||
virtual ~TProofLog(); | virtual ~TProofLog(); | |||
void Display(const char *ord = "*", Int_t from = -10, Int_t to = -1); | void Display(const char *ord = "*", Int_t from = -10, Int_t to = -1); | |||
TList *GetListOfLogs() const { return fElem; } | TList *GetListOfLogs() const { return fElem; } | |||
Int_t Grep(const char *txt, Int_t from = 0); | Int_t Grep(const char *txt, Int_t from = 0); | |||
void Print(Option_t *opt = 0) const; | void Print(Option_t *opt = 0) const; | |||
void Prt(const char *what); | void Prt(const char *what, Bool_t newline = kTRUE); | |||
Int_t Retrieve(const char *ord = "*", | Int_t Retrieve(const char *ord = "*", | |||
TProofLog::ERetrieveOpt opt = TProofLog::kTrailing, | TProofLog::ERetrieveOpt opt = TProofLog::kTrailing, | |||
const char *fname = 0, const char *pattern = 0); | const char *fname = 0, const char *pattern = 0); | |||
Int_t Save(const char *ord = "*", const char *fname = 0, Option_t *opt= "w"); | Int_t Save(const char *ord = "*", const char *fname = 0, Option_t *opt= "w"); | |||
TDatime StartTime() { return fStartTime; } | TDatime StartTime() { return fStartTime; } | |||
// Where to log | // Where to log | |||
void SetLogToBox(Bool_t lgbox = kFALSE) { SetBit(kLogToBox, lgbox); } | void SetLogToBox(Bool_t lgbox = kFALSE) { SetBit(kLogToBox, lgbox); } | |||
Bool_t LogToBox() { return (TestBit(kLogToBox)) ? kTRUE : kFALSE; } | Bool_t LogToBox() { return (TestBit(kLogToBox)) ? kTRUE : kFALSE; } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
TProofPerfAnalysis.h | TProofPerfAnalysis.h | |||
---|---|---|---|---|
skipping to change at line 39 | skipping to change at line 39 | |||
#endif | #endif | |||
class TFile; | class TFile; | |||
class TH1F; | class TH1F; | |||
class TH2F; | class TH2F; | |||
class TList; | class TList; | |||
class TTree; | class TTree; | |||
class TProofPerfAnalysis : public TNamed { | class TProofPerfAnalysis : public TNamed { | |||
public: // public because of Sun CC bug | public: // public because of Sun CC bug | |||
class TFileInfo; | ||||
class TPackInfo; | ||||
class TWrkEntry; | ||||
class TWrkInfo; | class TWrkInfo; | |||
class TWrkInfoFile; | ||||
private: | private: | |||
TFile *fFile; // The open performance file | TFile *fFile; // The open performance file | |||
TString fDirName; // The name of the subdir with the perfoma nce tree | TString fDirName; // The name of the subdir with the perfoma nce tree | |||
TString fTreeName; // The name of the performance tree | TString fTreeName; // The name of the performance tree | |||
TTree *fTree; // The performance tree | TTree *fTree; // The performance tree | |||
TSortedList fWrksInfo; // Sorted list of workers info | TSortedList fWrksInfo; // Sorted list of workers info | |||
TSortedList fFilesInfo; // Sorted list of files info | ||||
Float_t fInitTime; // End of initialization time for this que ry | Float_t fInitTime; // End of initialization time for this que ry | |||
Float_t fMergeTime; // Begin of merging time for this query | Float_t fMergeTime; // Begin of merging time for this query | |||
Float_t fMaxTime; // Max time for this query (slowest worker ) | Float_t fMaxTime; // Max time for this query (slowest worker ) | |||
TH1F *fEvents; // Event distribution per worker | TH1F *fEvents; // Event distribution per worker | |||
TH1F *fPackets; // Packet distribution per worker | TH1F *fPackets; // Packet distribution per worker | |||
Double_t fEvtRateMax; // Max event processing rate per packet | Double_t fEvtRateMax; // Max event processing rate per packet | |||
Double_t fMBRateMax; // Max MB processing rate per packet | Double_t fMBRateMax; // Max MB processing rate per packet | |||
Double_t fLatencyMax; // Max retrieval latency per packet | Double_t fLatencyMax; // Max retrieval latency per packet | |||
TH1F *fEvtRate; // Event processing rate vs query time | ||||
TH1F *fEvtRateRun; // Event processing rate running avg vs qu | ||||
ery time | ||||
TH1F *fMBRate; // Byte processing rate vs query time | ||||
TH1F *fMBRateRun; // Byte processing rate running avg vs que | ||||
ry time | ||||
Double_t fEvtRateAvgMax; // Max running event processing rate | ||||
Double_t fMBRateAvgMax; // Max running MB processing rate | ||||
Double_t fEvtRateAvg; // Average event processing rate | ||||
Double_t fMBRateAvg; // Average MB processing rate | ||||
static Int_t fgDebug; // Verbosity level | Int_t fDebug; // Local verbosity level | |||
static Bool_t fgDebug; // Global verbosity on/off | ||||
Int_t CompareOrd(const char *ord1, const char *ord2); | Int_t CompareOrd(const char *ord1, const char *ord2); | |||
void FillFileDist(TH1F *hf, TH1F *hb, TH2F *hx, Bool_t wdet = kFALSE); | void FillFileDist(TH1F *hf, TH1F *hb, TH2F *hx, Bool_t wdet = kFALSE); | |||
void FillFileDistOneSrv(TH1F *hx, Bool_t wdet = kFALSE); | void FillFileDistOneSrv(TH1F *hx, Bool_t wdet = kFALSE); | |||
void FillWrkInfo(Bool_t force = kFALSE); | void FillWrkInfo(Bool_t force = kFALSE); | |||
void FillFileInfo(Bool_t force = kFALSE); | ||||
TString GetCanvasTitle(const char *t); | TString GetCanvasTitle(const char *t); | |||
void GetFileInfo(TList *wl, TList *sl); | void GetWrkFileList(TList *wl, TList *sl); | |||
void LoadTree(TDirectory *dir); | void LoadTree(TDirectory *dir); | |||
public: | public: | |||
TProofPerfAnalysis(const char *perffile, const char *title = "", | TProofPerfAnalysis(const char *perffile, const char *title = "", | |||
const char *treename = "PROOF_PerfStats"); | const char *treename = "PROOF_PerfStats"); | |||
virtual ~TProofPerfAnalysis(); | virtual ~TProofPerfAnalysis(); | |||
Bool_t IsValid() const { return (fFile && fTree) ? kTRUE : kFALSE; } | Bool_t IsValid() const { return (fFile && fTree) ? kTRUE : kFALSE; } | |||
Bool_t WrkInfoOK() const { return (fWrksInfo.GetSize() > 0) ? kTRUE : kF ALSE; } | Bool_t WrkInfoOK() const { return (fWrksInfo.GetSize() > 0) ? kTRUE : kF ALSE; } | |||
void EventDist(); // Analyse event and packet distribution | void EventDist(); // Analyse event and packet distribution | |||
void FileDist(Bool_t writedet = kFALSE); // Analyse the file distribu tion | void FileDist(Bool_t writedet = kFALSE); // Analyse the file distribu tion | |||
void LatencyPlot(const char *wrks = 0); // Packet latency distributi on vs time | void LatencyPlot(const char *wrks = 0); // Packet latency distributi on vs time | |||
void RatePlot(const char *wrks = 0); // Rate distribution vs time | void RatePlot(const char *wrks = 0); // Rate distribution vs time | |||
void WorkerActivity(); // Analyse the worker activi ty | void WorkerActivity(); // Analyse the worker activi ty | |||
void PrintWrkInfo(Int_t showlast = 10); // Print workers info | void PrintWrkInfo(Int_t showlast = 10); // Print workers info | |||
void PrintWrkInfo(const char *wrk); // Print worker info by name | void PrintWrkInfo(const char *wrk); // Print worker info by name | |||
void PrintFileInfo(Int_t showlast = 10, const char *opt = "", const cha | ||||
r *out = 0); // Print file info | ||||
void PrintFileInfo(const char *fn, const char *opt = "P", const char *o | ||||
ut = 0); // Print file info by name | ||||
void FileProcPlot(const char *fn, const char *out = 0); // Plot info ab | ||||
out file processing | ||||
void FileRatePlot(const char *fns = 0); // Plot info about file proc | ||||
essing rates | ||||
void Summary(Option_t *opt = "", const char *out = ""); | ||||
void SetDebug(Int_t d = 0); // Setter for the verbosity level | void SetDebug(Int_t d = 0); // Setter for the verbosity level | |||
static void SetgDebug(Bool_t on = kTRUE); // Overall verbosity level | ||||
ClassDef(TProofPerfAnalysis, 0) // Set of tools to analyse the perform ance tree | ClassDef(TProofPerfAnalysis, 0) // Set of tools to analyse the perform ance tree | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 9 change blocks. | ||||
2 lines changed or deleted | 32 lines changed or added | |||
TProofPlayer.h | TProofPlayer.h | |||
---|---|---|---|---|
skipping to change at line 72 | skipping to change at line 72 | |||
class TVirtualPacketizer; | class TVirtualPacketizer; | |||
class TSlave; | class TSlave; | |||
class TEventIter; | class TEventIter; | |||
class TProofStats; | class TProofStats; | |||
class TMutex; | class TMutex; | |||
class TStatus; | class TStatus; | |||
class TTimer; | class TTimer; | |||
class THashList; | class THashList; | |||
class TH1; | class TH1; | |||
class TFile; | class TFile; | |||
class TStopwatch; | ||||
//------------------------------------------------------------------------ | //------------------------------------------------------------------------ | |||
class TProofPlayer : public TVirtualProofPlayer { | class TProofPlayer : public TVirtualProofPlayer { | |||
private: | private: | |||
TList *fAutoBins; // Map of min/max values by name for slaves | TList *fAutoBins; // Map of min/max values by name for slaves | |||
protected: | protected: | |||
TList *fInput; //-> list with input objects | TList *fInput; //-> list with input objects | |||
skipping to change at line 109 | skipping to change at line 110 | |||
TQueryResult *fQuery; //Instance of TQueryResult currently pro cessed | TQueryResult *fQuery; //Instance of TQueryResult currently pro cessed | |||
TQueryResult *fPreviousQuery; //Previous instance of TQueryResult proc essed | TQueryResult *fPreviousQuery; //Previous instance of TQueryResult proc essed | |||
Int_t fDrawQueries; //Number of Draw queries in the list | Int_t fDrawQueries; //Number of Draw queries in the list | |||
Int_t fMaxDrawQueries; //Max number of Draw queries kept | Int_t fMaxDrawQueries; //Max number of Draw queries kept | |||
TTimer *fStopTimer; //Timer associated with a stop request | TTimer *fStopTimer; //Timer associated with a stop request | |||
TMutex *fStopTimerMtx; //To protect the stop timer | TMutex *fStopTimerMtx; //To protect the stop timer | |||
TTimer *fDispatchTimer; //Dispatch pending events while process ing | TTimer *fDispatchTimer; //Dispatch pending events while process ing | |||
TTimer *fProcTimeTimer; //Notifies reaching of allowed max proc | ||||
time | ||||
TStopwatch *fProcTime; //Packet proc time | ||||
TString fOutputFilePath; //Path to file with (partial) results o f the query | TString fOutputFilePath; //Path to file with (partial) results o f the query | |||
TFile *fOutputFile; //TFile object attached to fOutputFileP ath | TFile *fOutputFile; //TFile object attached to fOutputFileP ath | |||
Long_t fSaveMemThreshold; //Threshold for saving output to file | Long_t fSaveMemThreshold; //Threshold for saving output to file | |||
Bool_t fSavePartialResults; //Whether to save the partial results | Bool_t fSavePartialResults; //Whether to save the partial results | |||
Bool_t fSaveResultsPerPacket; //Whether to save partial results a fter each packet | Bool_t fSaveResultsPerPacket; //Whether to save partial results a fter each packet | |||
static THashList *fgDrawInputPars; // List of input parameters to be ke pt on drawing actions | static THashList *fgDrawInputPars; // List of input parameters to be ke pt on drawing actions | |||
void *GetSender() { return this; } //used to set gTQSender | void *GetSender() { return this; } //used to set gTQSender | |||
skipping to change at line 143 | skipping to change at line 147 | |||
TCleanup(TProofPlayer *p) : fPlayer(p) { } | TCleanup(TProofPlayer *p) : fPlayer(p) { } | |||
~TCleanup() { fPlayer->StopFeedback(); } | ~TCleanup() { fPlayer->StopFeedback(); } | |||
}; | }; | |||
Int_t AssertSelector(const char *selector_file); | Int_t AssertSelector(const char *selector_file); | |||
Bool_t CheckMemUsage(Long64_t &mfreq, Bool_t &w80r, Bool_t &w80v, TStrin g &wmsg); | Bool_t CheckMemUsage(Long64_t &mfreq, Bool_t &w80r, Bool_t &w80v, TStrin g &wmsg); | |||
void MapOutputListToDataMembers() const; | void MapOutputListToDataMembers() const; | |||
public: | public: | |||
enum EStatusBits { kDispatchOneEvent = BIT(15), kIsProcessing = BIT(16) | enum EStatusBits { kDispatchOneEvent = BIT(15), kIsProcessing = BIT(16), | |||
}; | kMaxProcTimeReached = BIT(17), kMaxProcTimeExtended = | |||
BIT(18) }; | ||||
TProofPlayer(TProof *proof = 0); | TProofPlayer(TProof *proof = 0); | |||
virtual ~TProofPlayer(); | virtual ~TProofPlayer(); | |||
Long64_t Process(TDSet *set, | Long64_t Process(TDSet *set, | |||
const char *selector, Option_t *option = "", | const char *selector, Option_t *option = "", | |||
Long64_t nentries = -1, Long64_t firstentry = 0); | Long64_t nentries = -1, Long64_t firstentry = 0); | |||
Long64_t Process(TDSet *set, | Long64_t Process(TDSet *set, | |||
TSelector *selector, Option_t *option = "", | TSelector *selector, Option_t *option = "", | |||
Long64_t nentries = -1, Long64_t firstentry = 0); | Long64_t nentries = -1, Long64_t firstentry = 0); | |||
virtual Bool_t JoinProcess(TList *workers); | ||||
TVirtualPacketizer *GetPacketizer() const { return 0; } | TVirtualPacketizer *GetPacketizer() const { return 0; } | |||
Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE); | Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE); | |||
Long64_t Finalize(TQueryResult *qr); | Long64_t Finalize(TQueryResult *qr); | |||
Long64_t DrawSelect(TDSet *set, const char *varexp, | Long64_t DrawSelect(TDSet *set, const char *varexp, | |||
const char *selection, Option_t *option = "", | const char *selection, Option_t *option = "", | |||
Long64_t nentries = -1, Long64_t firstentry = 0); | Long64_t nentries = -1, Long64_t firstentry = 0); | |||
Int_t GetDrawArgs(const char *var, const char *sel, Option_t *opt, | Int_t GetDrawArgs(const char *var, const char *sel, Option_t *opt, | |||
TString &selector, TString &objname); | TString &selector, TString &objname); | |||
void HandleGetTreeHeader(TMessage *mess); | void HandleGetTreeHeader(TMessage *mess); | |||
void HandleRecvHisto(TMessage *mess); | void HandleRecvHisto(TMessage *mess); | |||
skipping to change at line 296 | skipping to change at line 302 | |||
TProof *fProof; // link to associated PROOF session | TProof *fProof; // link to associated PROOF session | |||
TList *fOutputLists; // results returned by slaves | TList *fOutputLists; // results returned by slaves | |||
TList *fFeedback; // reference for use on master | TList *fFeedback; // reference for use on master | |||
TList *fFeedbackLists; // intermediate results | TList *fFeedbackLists; // intermediate results | |||
TVirtualPacketizer *fPacketizer; // transform TDSet into packets for slaves | TVirtualPacketizer *fPacketizer; // transform TDSet into packets for slaves | |||
Bool_t fMergeFiles; // is True when merging output files centrally is needed | Bool_t fMergeFiles; // is True when merging output files centrally is needed | |||
TDSet *fDSet; //!tdset for current processing | TDSet *fDSet; //!tdset for current processing | |||
ErrorHandlerFunc_t fErrorHandler; // Store previous handler when redir ecting output | ErrorHandlerFunc_t fErrorHandler; // Store previous handler when redir ecting output | |||
Bool_t fMergeTH1OneByOne; // If kTRUE forces TH1 merge one -by-one [kTRUE] | Bool_t fMergeTH1OneByOne; // If kTRUE forces TH1 merge one -by-one [kTRUE] | |||
TH1 *fProcPackets; //!Histogram with packets being pro cessed (owned by TPerfStats) | TH1 *fProcPackets; //!Histogram with packets being pro cessed (owned by TPerfStats) | |||
TMessage *fProcessMessage; // Process message to replay when | ||||
adding new workers dynamically | ||||
TString fSelectorFileName; // Current Selector's name, set | ||||
by Process() | ||||
virtual Bool_t HandleTimer(TTimer *timer); | virtual Bool_t HandleTimer(TTimer *timer); | |||
Int_t InitPacketizer(TDSet *dset, Long64_t nentries, | Int_t InitPacketizer(TDSet *dset, Long64_t nentries, | |||
Long64_t first, const char *defpackunit, | Long64_t first, const char *defpackunit, | |||
const char *defpackdata); | const char *defpackdata); | |||
TList *MergeFeedback(); | TList *MergeFeedback(); | |||
Bool_t MergeOutputFiles(); | Bool_t MergeOutputFiles(); | |||
void NotifyMemory(TObject *obj); | void NotifyMemory(TObject *obj); | |||
void SetLastMergingMsg(TObject *obj); | void SetLastMergingMsg(TObject *obj); | |||
virtual Bool_t SendSelector(const char *selector_file); //send selector to slaves | virtual Bool_t SendSelector(const char *selector_file); //send selector to slaves | |||
TProof *GetProof() const { return fProof; } | TProof *GetProof() const { return fProof; } | |||
void SetupFeedback(); // specialized setup | void SetupFeedback(); // specialized setup | |||
void StopFeedback(); // specialized teardown | void StopFeedback(); // specialized teardown | |||
void SetSelectorDataMembersFromOutputList(); | void SetSelectorDataMembersFromOutputList(); | |||
public: | public: | |||
TProofPlayerRemote(TProof *proof = 0) : fProof(proof), fOutputLists(0), fFeedback(0), | TProofPlayerRemote(TProof *proof = 0) : fProof(proof), fOutputLists(0), fFeedback(0), | |||
fFeedbackLists(0), fPacketizer(0 ), | fFeedbackLists(0), fPacketizer(0 ), | |||
fMergeFiles(kFALSE), fDSet(0), f ErrorHandler(0), | fMergeFiles(kFALSE), fDSet(0), f ErrorHandler(0), | |||
fMergeTH1OneByOne(kTRUE), fProcP | fMergeTH1OneByOne(kTRUE), fProcP | |||
ackets(0) | ackets(0), | |||
fProcessMessage(0) | ||||
{ fProgressStatus = new TProofPr ogressStatus(); } | { fProgressStatus = new TProofPr ogressStatus(); } | |||
virtual ~TProofPlayerRemote(); // Owns the fOutput list | virtual ~TProofPlayerRemote(); // Owns the fOutput list | |||
virtual Long64_t Process(TDSet *set, const char *selector, | virtual Long64_t Process(TDSet *set, const char *selector, | |||
Option_t *option = "", Long64_t nentries = -1, | Option_t *option = "", Long64_t nentries = -1, | |||
Long64_t firstentry = 0); | Long64_t firstentry = 0); | |||
virtual Long64_t Process(TDSet *set, TSelector *selector, | virtual Long64_t Process(TDSet *set, TSelector *selector, | |||
Option_t *option = "", Long64_t nentries = -1, | Option_t *option = "", Long64_t nentries = -1, | |||
Long64_t firstentry = 0); | Long64_t firstentry = 0); | |||
virtual Bool_t JoinProcess(TList *workers); | ||||
virtual Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE); | virtual Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE); | |||
virtual Long64_t Finalize(TQueryResult *qr); | virtual Long64_t Finalize(TQueryResult *qr); | |||
Long64_t DrawSelect(TDSet *set, const char *varexp, | Long64_t DrawSelect(TDSet *set, const char *varexp, | |||
const char *selection, Option_t *option = "", | const char *selection, Option_t *option = "", | |||
Long64_t nentries = -1, Long64_t firstentry = 0); | Long64_t nentries = -1, Long64_t firstentry = 0); | |||
void RedirectOutput(Bool_t on = kTRUE); | void RedirectOutput(Bool_t on = kTRUE); | |||
void StopProcess(Bool_t abort, Int_t timeout = -1); | void StopProcess(Bool_t abort, Int_t timeout = -1); | |||
void StoreOutput(TList *out); // Adopts the list | void StoreOutput(TList *out); // Adopts the list | |||
virtual void StoreFeedback(TObject *slave, TList *out); // Adopts the list | virtual void StoreFeedback(TObject *slave, TList *out); // Adopts the list | |||
End of changes. 7 change blocks. | ||||
4 lines changed or deleted | 17 lines changed or added | |||
TProofProgressLog.h | TProofProgressLog.h | |||
---|---|---|---|---|
// @(#)root/sessionviewer:$Id$ | // @(#)root/sessionviewer:$Id: c52dc6cb225c25e34d388329d41570a484d98ce0 $ | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
#ifndef ROOT_TProofProgressLog | #ifndef ROOT_TProofProgressLog | |||
#define ROOT_TProofProgressLog | #define ROOT_TProofProgressLog | |||
skipping to change at line 40 | skipping to change at line 40 | |||
class TGTextView; | class TGTextView; | |||
class TGTextButton; | class TGTextButton; | |||
class TProofProgressDialog; | class TProofProgressDialog; | |||
class TProofLog; | class TProofLog; | |||
class TGTextEntry; | class TGTextEntry; | |||
class TGNumberEntry; | class TGNumberEntry; | |||
class TGListBox; | class TGListBox; | |||
class TGSplitButton; | class TGSplitButton; | |||
class TGVerticalFrame; | class TGVerticalFrame; | |||
class TGCheckButton; | class TGCheckButton; | |||
class TGLabel; | ||||
class TProofProgressLog : public TGTransientFrame { | class TProofProgressLog : public TGTransientFrame { | |||
private: | private: | |||
enum ETextType { kRaw = 0, kStd = 1, kGrep = 2 }; | enum ETextType { kRaw = 0, kStd = 1, kGrep = 2 }; | |||
TString fSessionUrl; | TString fSessionUrl; | |||
Int_t fSessionIdx; | Int_t fSessionIdx; | |||
TGTextView *fText; // text widget | TGTextView *fText; // text widget | |||
skipping to change at line 68 | skipping to change at line 69 | |||
TGTextEntry *fUrlText; // url to connect to | TGTextEntry *fUrlText; // url to connect to | |||
TGNumberEntry *fSessNum; // relative index of the session to ge t | TGNumberEntry *fSessNum; // relative index of the session to ge t | |||
TGTextEntry *fFileName; // file to save to | TGTextEntry *fFileName; // file to save to | |||
TGTextButton *fSave; // save button | TGTextButton *fSave; // save button | |||
TGTextButton *fGrepButton; //grep button | TGTextButton *fGrepButton; //grep button | |||
TGTextButton *fUrlButton; //rebuild button | TGTextButton *fUrlButton; //rebuild button | |||
TGCheckButton *fAllLines; // display all lines button | TGCheckButton *fAllLines; // display all lines button | |||
TGCheckButton *fRawLines; // display raw lines button | TGCheckButton *fRawLines; // display raw lines button | |||
TGSplitButton *fAllWorkers; // display all workers button | TGSplitButton *fAllWorkers; // display all workers button | |||
TGVerticalFrame *fVworkers; // Vertical frame | TGVerticalFrame *fVworkers; // Vertical frame | |||
TGLabel *fGrepLabel; // label indicating if grepping or pi | ||||
ping | ||||
TGCheckButton *fGrepCheckCmd; // checkbox active if piping | ||||
TGCheckButton *fGrepCheckInv; // checkbox active if inverting | ||||
Bool_t fFullText; // 0 - when grep was called | Bool_t fFullText; // 0 - when grep was called | |||
Int_t fTextType; // Type of retrieval | Int_t fTextType; // Type of retrieval | |||
void Init(Int_t w = 700, Int_t h = 600); | void Init(Int_t w = 700, Int_t h = 600); | |||
public: | public: | |||
TProofProgressLog(TProofProgressDialog *d, Int_t w = 700, Int_t h = 600) ; | TProofProgressLog(TProofProgressDialog *d, Int_t w = 700, Int_t h = 600) ; | |||
TProofProgressLog(const char *url = 0, Int_t sessionidx = 0, Int_t w = 7 00, Int_t h = 600); | TProofProgressLog(const char *url = 0, Int_t sessionidx = 0, Int_t w = 7 00, Int_t h = 600); | |||
virtual ~TProofProgressLog(); | virtual ~TProofProgressLog(); | |||
skipping to change at line 93 | skipping to change at line 97 | |||
void LoadBuffer(const char *buffer); | void LoadBuffer(const char *buffer); | |||
void AddBuffer(const char *buffer); | void AddBuffer(const char *buffer); | |||
void LoadFile(const char *file); | void LoadFile(const char *file); | |||
void Clear(Option_t * = 0); | void Clear(Option_t * = 0); | |||
void Popup(); | void Popup(); | |||
void SaveToFile(); | void SaveToFile(); | |||
void NoLineEntry(); | void NoLineEntry(); | |||
void SetGrepView(); | ||||
void Select(Int_t id, Bool_t all = kTRUE); | void Select(Int_t id, Bool_t all = kTRUE); | |||
void SetUrl(const char *url) { fSessionUrl = url; } | void SetUrl(const char *url) { fSessionUrl = url; } | |||
// slots | // slots | |||
void CloseWindow(); | void CloseWindow(); | |||
ClassDef(TProofProgressLog,0) //Class implementing a log graphic box | ClassDef(TProofProgressLog,0) //Class implementing a log graphic box | |||
}; | }; | |||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
1 lines changed or deleted | 7 lines changed or added | |||
TSlave.h | TSlave.h | |||
---|---|---|---|---|
skipping to change at line 60 | skipping to change at line 60 | |||
friend class TProof; | friend class TProof; | |||
friend class TProofLite; | friend class TProofLite; | |||
friend class TSlaveLite; | friend class TSlaveLite; | |||
friend class TXSlave; | friend class TXSlave; | |||
public: | public: | |||
enum ESlaveType { kMaster, kSlave }; | enum ESlaveType { kMaster, kSlave }; | |||
enum ESlaveStatus { kInvalid, kActive, kInactive }; | enum ESlaveStatus { kInvalid, kActive, kInactive }; | |||
enum EStatusBits { | ||||
kOutputRequested = BIT(15) // If output has been requested | ||||
}; | ||||
private: | private: | |||
static TSlave_t fgTXSlaveHook; | static TSlave_t fgTXSlaveHook; | |||
TSlave(const TSlave &s) : TObject(s) { } | TSlave(const TSlave &s) : TObject(s) { } | |||
TSlave(const char *host, const char *ord, Int_t perf, | TSlave(const char *host, const char *ord, Int_t perf, | |||
const char *image, TProof *proof, Int_t stype, | const char *image, TProof *proof, Int_t stype, | |||
const char *workdir, const char *msd); | const char *workdir, const char *msd); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 3 lines changed or added | |||
TStreamerElement.h | TStreamerElement.h | |||
---|---|---|---|---|
// @(#)root/meta:$Id$ | // @(#)root/meta:$Id: e0eac11e63ad37390c9467c97c5c6849c4ab7d39 $ | |||
// Author: Rene Brun 12/10/2000 | // Author: Rene Brun 12/10/2000 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 92 | skipping to change at line 92 | |||
virtual const char *GetFullName() const; | virtual const char *GetFullName() const; | |||
virtual const char *GetInclude() const {return "";} | virtual const char *GetInclude() const {return "";} | |||
Int_t GetMaxIndex(Int_t i) const {return fMaxIndex[i];} | Int_t GetMaxIndex(Int_t i) const {return fMaxIndex[i];} | |||
virtual ULong_t GetMethod() const {return ULong_t(fStreamer);} | virtual ULong_t GetMethod() const {return ULong_t(fStreamer);} | |||
TMemberStreamer *GetStreamer() const; | TMemberStreamer *GetStreamer() const; | |||
virtual Int_t GetSize() const; | virtual Int_t GetSize() const; | |||
Int_t GetNewType() const {return fNewType;} | Int_t GetNewType() const {return fNewType;} | |||
TClass* GetNewClass() const { return fNewClass; } | TClass* GetNewClass() const { return fNewClass; } | |||
Int_t GetType() const {return fType;} | Int_t GetType() const {return fType;} | |||
Int_t GetOffset() const {return fOffset;} | Int_t GetOffset() const {return fOffset;} | |||
void GetSequenceType(TString &type) const; | ||||
Int_t GetTObjectOffset() const { return fTObjectOffset; } | Int_t GetTObjectOffset() const { return fTObjectOffset; } | |||
const char *GetTypeName() const {return fTypeName.Data();} | const char *GetTypeName() const {return fTypeName.Data();} | |||
const char *GetTypeNameBasic() const; | const char *GetTypeNameBasic() const; | |||
Double_t GetFactor() const {return fFactor;} | Double_t GetFactor() const {return fFactor;} | |||
Double_t GetXmin() const {return fXmin;} | Double_t GetXmin() const {return fXmin;} | |||
Double_t GetXmax() const {return fXmax;} | Double_t GetXmax() const {return fXmax;} | |||
virtual void Init(TObject *obj=0); | virtual void Init(TObject *obj=0); | |||
virtual Bool_t IsaPointer() const {return kFALSE;} | virtual Bool_t IsaPointer() const {return kFALSE;} | |||
virtual Bool_t HasCounter() const {return kFALSE;} | virtual Bool_t HasCounter() const {return kFALSE;} | |||
virtual Bool_t IsOldFormat(const char *newTypeName); | virtual Bool_t IsOldFormat(const char *newTypeName); | |||
skipping to change at line 364 | skipping to change at line 365 | |||
protected: | protected: | |||
Int_t fSTLtype; //type of STL vector | Int_t fSTLtype; //type of STL vector | |||
Int_t fCtype; //STL contained type | Int_t fCtype; //STL contained type | |||
public: | public: | |||
TStreamerSTL(); | TStreamerSTL(); | |||
TStreamerSTL(const char *name, const char *title, Int_t offset, | TStreamerSTL(const char *name, const char *title, Int_t offset, | |||
const char *typeName, const char *trueType, Bool_t dmPointe r); | const char *typeName, const char *trueType, Bool_t dmPointe r); | |||
TStreamerSTL(const char *name, const char *title, Int_t offset, | ||||
const char *typeName, const TVirtualCollectionProxy &proxy | ||||
, Bool_t dmPointer); | ||||
virtual ~TStreamerSTL(); | virtual ~TStreamerSTL(); | |||
Bool_t CannotSplit() const; | Bool_t CannotSplit() const; | |||
Bool_t IsaPointer() const; | Bool_t IsaPointer() const; | |||
Bool_t IsBase() const; | Bool_t IsBase() const; | |||
Int_t GetSTLtype() const {return fSTLtype;} | Int_t GetSTLtype() const {return fSTLtype;} | |||
Int_t GetCtype() const {return fCtype;} | Int_t GetCtype() const {return fCtype;} | |||
const char *GetInclude() const; | const char *GetInclude() const; | |||
Int_t GetSize() const; | Int_t GetSize() const; | |||
virtual void ls(Option_t *option="") const; | virtual void ls(Option_t *option="") const; | |||
void SetSTLtype(Int_t t) {fSTLtype = t;} | void SetSTLtype(Int_t t) {fSTLtype = t;} | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 5 lines changed or added | |||
TStyle.h | TStyle.h | |||
---|---|---|---|---|
// @(#)root/base:$Id$ | // @(#)root/base:$Id: 5214d7dc2746ceb518366bc6c4f4068b652d5241 $ | |||
// Author: Rene Brun 12/12/94 | // Author: Rene Brun 12/12/94 | |||
/************************************************************************* | /************************************************************************* | |||
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * | |||
* All rights reserved. * | * All rights reserved. * | |||
* * | * * | |||
* For the licensing terms see $ROOTSYS/LICENSE. * | * For the licensing terms see $ROOTSYS/LICENSE. * | |||
* For the list of contributors see $ROOTSYS/README/CREDITS. * | * For the list of contributors see $ROOTSYS/README/CREDITS. * | |||
*************************************************************************/ | *************************************************************************/ | |||
skipping to change at line 371 | skipping to change at line 371 | |||
void SetHistFillColor(Color_t color=1) {fHistFillColor = col or;} | void SetHistFillColor(Color_t color=1) {fHistFillColor = col or;} | |||
void SetHistLineColor(Color_t color=1) {fHistLineColor = col or;} | void SetHistLineColor(Color_t color=1) {fHistLineColor = col or;} | |||
void SetHistFillStyle(Style_t styl=0) {fHistFillStyle = sty l;} | void SetHistFillStyle(Style_t styl=0) {fHistFillStyle = sty l;} | |||
void SetHistLineStyle(Style_t styl=0) {fHistLineStyle = sty l;} | void SetHistLineStyle(Style_t styl=0) {fHistLineStyle = sty l;} | |||
void SetHistLineWidth(Width_t width=1) {fHistLineWidth = wid th;} | void SetHistLineWidth(Width_t width=1) {fHistLineWidth = wid th;} | |||
void SetHistMinimumZero(Bool_t zero=kTRUE); | void SetHistMinimumZero(Bool_t zero=kTRUE); | |||
void SetHistTopMargin(Double_t hmax=0.05) {fHistTopMargin = hmax;} | void SetHistTopMargin(Double_t hmax=0.05) {fHistTopMargin = hmax;} | |||
void SetPaintTextFormat(const char *format="g") {fPaintTextF ormat = format;} | void SetPaintTextFormat(const char *format="g") {fPaintTextF ormat = format;} | |||
void SetPaperSize(EPaperSize size); | void SetPaperSize(EPaperSize size); | |||
void SetPaperSize(Float_t xsize=20, Float_t ysize=26); | void SetPaperSize(Float_t xsize=20, Float_t ysize=26); | |||
void SetStatColor(Int_t color=19) {fStatColor=color;} | void SetStatColor(Color_t color=19) {fStatColor=color;} | |||
void SetStatTextColor(Int_t color=1) {fStatTextColor=color;} | void SetStatTextColor(Color_t color=1) {fStatTextColor=color | |||
;} | ||||
void SetStatStyle(Style_t style=1001) {fStatStyle=style;} | void SetStatStyle(Style_t style=1001) {fStatStyle=style;} | |||
void SetStatBorderSize(Width_t size=2) {fStatBorderSize=size ;} | void SetStatBorderSize(Width_t size=2) {fStatBorderSize=size ;} | |||
void SetStatFont(Style_t font=62) {fStatFont=font;} | void SetStatFont(Style_t font=62) {fStatFont=font;} | |||
void SetStatFontSize(Float_t size=0) {fStatFontSize=size;} | void SetStatFontSize(Float_t size=0) {fStatFontSize=size;} | |||
void SetStatFormat(const char *format="6.4g") {fStatFormat = format;} | void SetStatFormat(const char *format="6.4g") {fStatFormat = format;} | |||
void SetStatX(Float_t x=0) {fStatX=x;} | void SetStatX(Float_t x=0) {fStatX=x;} | |||
void SetStatY(Float_t y=0) {fStatY=y;} | void SetStatY(Float_t y=0) {fStatY=y;} | |||
void SetStatW(Float_t w=0.19) {fStatW=w;} | void SetStatW(Float_t w=0.19) {fStatW=w;} | |||
void SetStatH(Float_t h=0.1) {fStatH=h;} | void SetStatH(Float_t h=0.1) {fStatH=h;} | |||
void SetStripDecimals(Bool_t strip=kTRUE); | void SetStripDecimals(Bool_t strip=kTRUE); | |||
End of changes. 2 change blocks. | ||||
3 lines changed or deleted | 4 lines changed or added | |||
TTF.h | TTF.h | |||
---|---|---|---|---|
skipping to change at line 61 | skipping to change at line 61 | |||
class TGX11TTF; | class TGX11TTF; | |||
class TGWin32; | class TGWin32; | |||
class TMathTextRenderer; | class TMathTextRenderer; | |||
class TTF { | class TTF { | |||
friend class TGX11TTF; | friend class TGX11TTF; | |||
friend class TGWin32; | friend class TGWin32; | |||
friend class TMathTextRenderer; | friend class TMathTextRenderer; | |||
friend class TGQuartz; | ||||
protected: | protected: | |||
enum { kTTMaxFonts = 32, kMaxGlyphs = 1024 }; | enum { kTTMaxFonts = 32, kMaxGlyphs = 1024 }; | |||
static Int_t fgAscent; // string ascent, used to co mpute Y alignment | static Int_t fgAscent; // string ascent, used to co mpute Y alignment | |||
static FT_BBox fgCBox; // string control box | static FT_BBox fgCBox; // string control box | |||
static FT_CharMap fgCharMap[kTTMaxFonts]; // font character map | static FT_CharMap fgCharMap[kTTMaxFonts]; // font character map | |||
static Int_t fgCurFontIdx; // current font index | static Int_t fgCurFontIdx; // current font index | |||
static Int_t fgSymbItaFontIdx; // Symbol italic font index | static Int_t fgSymbItaFontIdx; // Symbol italic font index | |||
static Int_t fgFontCount; // number of fonts loaded | static Int_t fgFontCount; // number of fonts loaded | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 0 lines changed or added | |||
TVirtualGeoTrack.h | TVirtualGeoTrack.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
public: | public: | |||
TVirtualGeoTrack(); | TVirtualGeoTrack(); | |||
TVirtualGeoTrack(Int_t id, Int_t pdgcode, TVirtualGeoTrack *parent=0, TO bject *particle=0); | TVirtualGeoTrack(Int_t id, Int_t pdgcode, TVirtualGeoTrack *parent=0, TO bject *particle=0); | |||
virtual ~TVirtualGeoTrack(); | virtual ~TVirtualGeoTrack(); | |||
virtual TVirtualGeoTrack *AddDaughter(Int_t id, Int_t pdgcode, TObject * particle=0) = 0; | virtual TVirtualGeoTrack *AddDaughter(Int_t id, Int_t pdgcode, TObject * particle=0) = 0; | |||
virtual Int_t AddDaughter(TVirtualGeoTrack *other) = 0; | virtual Int_t AddDaughter(TVirtualGeoTrack *other) = 0; | |||
virtual void AddPoint(Double_t x, Double_t y, Double_t z, Double_ t t) = 0; | virtual void AddPoint(Double_t x, Double_t y, Double_t z, Double_ t t) = 0; | |||
virtual TVirtualGeoTrack *FindTrackWithId(Int_t id) const; | virtual TVirtualGeoTrack *FindTrackWithId(Int_t id) const; | |||
Int_t GetId() const {return fId;} | Int_t GetId() const {return fId;} | |||
virtual Int_t GetDaughterId(Int_t index) const {return GetDaughter (index)->GetId();} | virtual Int_t GetDaughterId(Int_t index) const; | |||
TVirtualGeoTrack *GetDaughter(Int_t index) const {return (TVirtualGeoT rack*)fTracks->At(index);} | TVirtualGeoTrack *GetDaughter(Int_t index) const {return (TVirtualGeoT rack*)fTracks->At(index);} | |||
TVirtualGeoTrack *GetMother() const {return fParent;} | TVirtualGeoTrack *GetMother() const {return fParent;} | |||
TObject *GetMotherParticle() const {return (fParent)?fParent- >GetParticle():0;} | TObject *GetMotherParticle() const {return (fParent)?fParent- >GetParticle():0;} | |||
virtual const char *GetName() const; | virtual const char *GetName() const; | |||
Int_t GetNdaughters() const {return (fTracks)?fTracks->Get EntriesFast():0;} | Int_t GetNdaughters() const {return (fTracks)?fTracks->Get EntriesFast():0;} | |||
virtual Int_t GetNpoints() const = 0; | virtual Int_t GetNpoints() const = 0; | |||
Int_t GetParentId() const {return (fParent)?fParent->Get Id():-1;} | Int_t GetParentId() const {return (fParent)?fParent->Get Id():-1;} | |||
TObject *GetParticle() const {return fParticle;} | TObject *GetParticle() const {return fParticle;} | |||
Int_t GetPDG() const {return fPDG;} | Int_t GetPDG() const {return fPDG;} | |||
Int_t GetLastPoint(Double_t &x, Double_t &y, Double_t &z, Double_t &t) const {return GetPoint(GetNpoints()-1,x,y,z,t);} | Int_t GetLastPoint(Double_t &x, Double_t &y, Double_t &z, Double_t &t) const {return GetPoint(GetNpoints()-1,x,y,z,t);} | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TVirtualPS.h | TVirtualPS.h | |||
---|---|---|---|---|
skipping to change at line 77 | skipping to change at line 77 | |||
virtual void DrawPS(Int_t n, Double_t *xw, Double_t *yw) = 0; | virtual void DrawPS(Int_t n, Double_t *xw, Double_t *yw) = 0; | |||
virtual void NewPage() = 0; | virtual void NewPage() = 0; | |||
virtual void Open(const char *filename, Int_t type=-111) = 0; | virtual void Open(const char *filename, Int_t type=-111) = 0; | |||
virtual void Text(Double_t x, Double_t y, const char *string) = 0; | virtual void Text(Double_t x, Double_t y, const char *string) = 0; | |||
virtual void Text(Double_t x, Double_t y, const wchar_t *string) = 0; | virtual void Text(Double_t x, Double_t y, const wchar_t *string) = 0; | |||
virtual void SetColor(Float_t r, Float_t g, Float_t b) = 0; | virtual void SetColor(Float_t r, Float_t g, Float_t b) = 0; | |||
virtual void PrintFast(Int_t nch, const char *string=""); | virtual void PrintFast(Int_t nch, const char *string=""); | |||
virtual void PrintStr(const char *string=""); | virtual void PrintStr(const char *string=""); | |||
virtual void WriteInteger(Int_t i, Bool_t space=kTRUE); | virtual void WriteInteger(Int_t i, Bool_t space=kTRUE); | |||
virtual void WriteReal(Float_t r); | virtual void WriteReal(Float_t r, Bool_t space=kTRUE); | |||
virtual void PrintRaw(Int_t len, const char *str); | virtual void PrintRaw(Int_t len, const char *str); | |||
virtual void *GetStream() const { return (void*)fStream; } | virtual void *GetStream() const { return (void*)fStream; } | |||
virtual void SetStream(std::ofstream *os) { fStream = os; } | virtual void SetStream(std::ofstream *os) { fStream = os; } | |||
virtual void SetType(Int_t /*type*/ = -111) { } | virtual void SetType(Int_t /*type*/ = -111) { } | |||
virtual Int_t GetType() const { return 111; } | virtual Int_t GetType() const { return 111; } | |||
ClassDef(TVirtualPS,0) //Abstract interface to a PostScript driver | ClassDef(TVirtualPS,0) //Abstract interface to a PostScript driver | |||
}; | }; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
TVirtualPacketizer.h | TVirtualPacketizer.h | |||
---|---|---|---|---|
skipping to change at line 133 | skipping to change at line 133 | |||
Long64_t GetEntriesProcessed() const { return (fProgressS tatus? fProgressStatus->GetEntries() : 0); } | Long64_t GetEntriesProcessed() const { return (fProgressS tatus? fProgressStatus->GetEntries() : 0); } | |||
virtual Int_t GetEstEntriesProcessed(Float_t, Long64_t &ent, L ong64_t &bytes, Long64_t &calls) | virtual Int_t GetEstEntriesProcessed(Float_t, Long64_t &ent, L ong64_t &bytes, Long64_t &calls) | |||
{ ent = GetEntriesProcessed(); bytes = GetBytesR ead(); calls = GetReadCalls(); return 0; } | { ent = GetEntriesProcessed(); bytes = GetBytesR ead(); calls = GetReadCalls(); return 0; } | |||
virtual Float_t GetCurrentRate(Bool_t &all) { all = kTRUE; retur n (fProgressStatus? fProgressStatus->GetCurrentRate() : 0.); } | virtual Float_t GetCurrentRate(Bool_t &all) { all = kTRUE; retur n (fProgressStatus? fProgressStatus->GetCurrentRate() : 0.); } | |||
Long64_t GetTotalEntries() const { return fTotalEntries; } | Long64_t GetTotalEntries() const { return fTotalEntries; } | |||
virtual TDSetElement *GetNextPacket(TSlave *sl, TMessage *r); | virtual TDSetElement *GetNextPacket(TSlave *sl, TMessage *r); | |||
virtual void SetInitTime(); | virtual void SetInitTime(); | |||
virtual void StopProcess(Bool_t abort, Bool_t stoptimer = kFA LSE); | virtual void StopProcess(Bool_t abort, Bool_t stoptimer = kFA LSE); | |||
TList *GetFailedPackets() { return fFailedPackets; } | TList *GetFailedPackets() { return fFailedPackets; } | |||
void SetFailedPackets(TList *list) { fFailedPackets = list; } | void SetFailedPackets(TList *list) { fFailedPackets = list; } | |||
virtual Int_t AddWorkers(TList *workers); | ||||
Long64_t GetBytesRead() const { return (fProgressStatus? fProgressS tatus->GetBytesRead() : 0); } | Long64_t GetBytesRead() const { return (fProgressStatus? fProgressS tatus->GetBytesRead() : 0); } | |||
Long64_t GetReadCalls() const { return (fProgressStatus? fProgressS tatus->GetReadCalls() : 0); } | Long64_t GetReadCalls() const { return (fProgressStatus? fProgressS tatus->GetReadCalls() : 0); } | |||
Double_t GetCumProcTime() const { return fProgressStatus->GetProcTi me(); } | Double_t GetCumProcTime() const { return fProgressStatus->GetProcTi me(); } | |||
Float_t GetInitTime() const { return fInitTime; } | Float_t GetInitTime() const { return fInitTime; } | |||
Float_t GetProcTime() const { return fProcTime; } | Float_t GetProcTime() const { return fProcTime; } | |||
TNtuple *GetProgressPerf(Bool_t steal = kFALSE) { if (steal) { TNtu ple *n = fProgressPerf; fProgressPerf = 0; return n; | TNtuple *GetProgressPerf(Bool_t steal = kFALSE) { if (steal) { TNtu ple *n = fProgressPerf; fProgressPerf = 0; return n; | |||
} else { re turn fProgressPerf;} } | } else { re turn fProgressPerf;} } | |||
TList *GetConfigParams(Bool_t steal = kFALSE) { if (steal) { TLis t *l = fConfigParams; fConfigParams = 0; return l; | TList *GetConfigParams(Bool_t steal = kFALSE) { if (steal) { TLis t *l = fConfigParams; fConfigParams = 0; return l; | |||
} else { re turn fConfigParams;} } | } else { re turn fConfigParams;} } | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
TVirtualProofPlayer.h | TVirtualProofPlayer.h | |||
---|---|---|---|---|
skipping to change at line 62 | skipping to change at line 62 | |||
TVirtualProofPlayer() { ResetBit(TVirtualProofPlayer::kIsSubmerger); } | TVirtualProofPlayer() { ResetBit(TVirtualProofPlayer::kIsSubmerger); } | |||
virtual ~TVirtualProofPlayer() { } | virtual ~TVirtualProofPlayer() { } | |||
virtual Long64_t Process(TDSet *set, | virtual Long64_t Process(TDSet *set, | |||
const char *selector, Option_t *option = "", | const char *selector, Option_t *option = "", | |||
Long64_t nentries = -1, Long64_t firstentry = 0) = 0; | Long64_t nentries = -1, Long64_t firstentry = 0) = 0; | |||
virtual Long64_t Process(TDSet *set, | virtual Long64_t Process(TDSet *set, | |||
TSelector *selector, Option_t *option = "", | TSelector *selector, Option_t *option = "", | |||
Long64_t nentries = -1, Long64_t firstentry = 0) = 0; | Long64_t nentries = -1, Long64_t firstentry = 0) = 0; | |||
virtual Bool_t JoinProcess(TList *workers) = 0; | ||||
virtual Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE) = 0; | virtual Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE) = 0; | |||
virtual Long64_t Finalize(TQueryResult *qr) = 0; | virtual Long64_t Finalize(TQueryResult *qr) = 0; | |||
virtual Long64_t DrawSelect(TDSet *set, const char *varexp, | virtual Long64_t DrawSelect(TDSet *set, const char *varexp, | |||
const char *selection, Option_t *option = " ", | const char *selection, Option_t *option = " ", | |||
Long64_t nentries = -1, Long64_t firstentry = 0) = 0; | Long64_t nentries = -1, Long64_t firstentry = 0) = 0; | |||
virtual Int_t GetDrawArgs(const char *var, const char *sel, Option_t *opt, | virtual Int_t GetDrawArgs(const char *var, const char *sel, Option_t *opt, | |||
TString &selector, TString &objname) = 0; | TString &selector, TString &objname) = 0; | |||
virtual void HandleGetTreeHeader(TMessage *mess) = 0; | virtual void HandleGetTreeHeader(TMessage *mess) = 0; | |||
virtual void HandleRecvHisto(TMessage *mess) = 0; | virtual void HandleRecvHisto(TMessage *mess) = 0; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||