|
||||
File indexing completed on 2025-01-18 10:11:11
0001 // @(#)root/tmva $Id$ 0002 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss 0003 0004 /********************************************************************************** 0005 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis * 0006 * Package: TMVA * 0007 * Class : Volume * 0008 * * 0009 * * 0010 * Description: * 0011 * Volume for BinarySearchTree * 0012 * * 0013 * Authors (alphabetical): * 0014 * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * 0015 * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany * 0016 * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada * 0017 * * 0018 * Copyright (c) 2005: * 0019 * CERN, Switzerland * 0020 * U. of Victoria, Canada * 0021 * MPI-K Heidelberg, Germany * 0022 * * 0023 * Redistribution and use in source and binary forms, with or without * 0024 * modification, are permitted according to the terms listed in LICENSE * 0025 * (see tmva/doc/LICENSE) * 0026 **********************************************************************************/ 0027 0028 #ifndef ROOT_TMVA_Volume 0029 #define ROOT_TMVA_Volume 0030 0031 ////////////////////////////////////////////////////////////////////////// 0032 // // 0033 // Volume // 0034 // // 0035 // Volume for BinarySearchTree // 0036 // // 0037 // volume element: cubic variable space beteen upper and lower bonds of // 0038 // nvar-dimensional variable space // 0039 // // 0040 ////////////////////////////////////////////////////////////////////////// 0041 0042 #include <vector> 0043 #include "RtypesCore.h" 0044 0045 namespace TMVA { 0046 0047 class Volume { 0048 0049 public: 0050 0051 // constructors 0052 Volume( std::vector<Float_t>* l, std::vector<Float_t>* u = nullptr); 0053 Volume( std::vector<Double_t>* l = nullptr, std::vector<Double_t>* u = nullptr); 0054 Volume( Volume& ); 0055 Volume( Float_t* l , Float_t* u , Int_t nvar ); 0056 Volume( Double_t* l , Double_t* u , Int_t nvar ); 0057 Volume( Float_t l , Float_t u ); 0058 Volume( Double_t l , Double_t u ); 0059 0060 // destructor 0061 virtual ~Volume( void ); 0062 0063 // operators 0064 Volume& operator=( const Volume& ); 0065 0066 // destruct the volue 0067 void Delete ( void ); 0068 // "scale" the volume by multiplying each upper and lower boundary by "f" 0069 void Scale ( Double_t f ); 0070 // "scale" the volume by symmetrically blowing up the interval in each dimension 0071 void ScaleInterval( Double_t f ); 0072 void Print ( void ) const; 0073 0074 // allow direct access for better speed 0075 std::vector<Double_t> *fLower; ///< vector with lower volume dimensions 0076 std::vector<Double_t> *fUpper; ///< vector with upper volume dimensions 0077 0078 private: 0079 0080 Bool_t fOwnerShip; ///< flag if "boundary vector" is owned by the volume of not 0081 }; 0082 0083 } // namespace TMVA 0084 0085 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |