// @(#)root/tmva $Id: TMVA_Volume.h,v 1.5 2006/04/29 23:55:41 andreas.hoecker Exp $ // Author: Andreas Hoecker, Helge Voss, Kai Voss /********************************************************************************** * Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Package: TMVA * * Class : TMVA_Volume * * * * Description: * * Volume for BinarySearchTree * * * * Authors (alphabetical): * * Andreas Hoecker - CERN, Switzerland * * Xavier Prudent - LAPP, France * * Helge Voss - MPI-KP Heidelberg, Germany * * Kai Voss - U. of Victoria, Canada * * * * Copyright (c) 2005: * * CERN, Switzerland, * * U. of Victoria, Canada, * * MPI-KP Heidelberg, Germany * * LAPP, Annecy, France * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted according to the terms listed in LICENSE * * (http://mva.sourceforge.net/license.txt) * * * * File and Version Information: * * $Id: TMVA_Volume.h,v 1.5 2006/04/29 23:55:41 andreas.hoecker Exp $ **********************************************************************************/ #ifndef ROOT_TMVA_Volume #define ROOT_TMVA_Volume ////////////////////////////////////////////////////////////////////////// // // // TMVA_Volume // // // // Volume for BinarySearchTree // // // ////////////////////////////////////////////////////////////////////////// #include "Riostream.h" #include #include "Rtypes.h" #include "time.h" class TMVA_BinaryTree; // volume element, variable space beteen upper and lower bonds of nvar-dimensional // variable space class TMVA_Volume { public: TMVA_Volume( std::vector* l = 0, std::vector* u = 0); TMVA_Volume( std::vector* l = 0, std::vector* u = 0); TMVA_Volume( TMVA_Volume& ); TMVA_Volume( Float_t* l , Float_t* u , Int_t nvar ); TMVA_Volume( Double_t* l , Double_t* u , Int_t nvar ); // two simple constructors for 1 dimensional volues TMVA_Volume( Float_t l , Float_t u ); TMVA_Volume( Double_t l , Double_t u ); virtual ~TMVA_Volume( void ); void Delete ( void ); void Scale ( Double_t f ); void ScaleInterval( Double_t f ); void Print ( void ) const; // allow direct access for speed std::vector *Lower; std::vector *Upper; private: Bool_t fOwnerShip; }; #endif