Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
Volume.h
Go to the documentation of this file.
1// @(#)root/tmva $Id$
2// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
3
4/**********************************************************************************
5 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6 * Package: TMVA *
7 * Class : Volume *
8 * Web : http://tmva.sourceforge.net *
9 * *
10 * Description: *
11 * Volume for BinarySearchTree *
12 * *
13 * Authors (alphabetical): *
14 * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15 * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
16 * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada *
17 * *
18 * Copyright (c) 2005: *
19 * CERN, Switzerland *
20 * U. of Victoria, Canada *
21 * MPI-K Heidelberg, Germany *
22 * *
23 * Redistribution and use in source and binary forms, with or without *
24 * modification, are permitted according to the terms listed in LICENSE *
25 * (http://tmva.sourceforge.net/LICENSE) *
26 **********************************************************************************/
27
28#ifndef ROOT_TMVA_Volume
29#define ROOT_TMVA_Volume
30
31//////////////////////////////////////////////////////////////////////////
32// //
33// Volume //
34// //
35// Volume for BinarySearchTree //
36// //
37// volume element: cubic variable space beteen upper and lower bonds of //
38// nvar-dimensional variable space //
39// //
40//////////////////////////////////////////////////////////////////////////
41
42#include <vector>
43#include "RtypesCore.h"
44
45namespace TMVA {
46
47 class Volume {
48
49 public:
50
51 // constructors
52 Volume( std::vector<Float_t>* l, std::vector<Float_t>* u = nullptr);
53 Volume( std::vector<Double_t>* l = nullptr, std::vector<Double_t>* u = nullptr);
54 Volume( Volume& );
55 Volume( Float_t* l , Float_t* u , Int_t nvar );
56 Volume( Double_t* l , Double_t* u , Int_t nvar );
57 Volume( Float_t l , Float_t u );
59
60 // destructor
61 virtual ~Volume( void );
62
63 // operators
64 Volume& operator=( const Volume& );
65
66 // destruct the volue
67 void Delete ( void );
68 // "scale" the volume by multiplying each upper and lower boundary by "f"
69 void Scale ( Double_t f );
70 // "scale" the volume by symmetrically blowing up the interval in each dimension
71 void ScaleInterval( Double_t f );
72 void Print ( void ) const;
73
74 // allow direct access for better speed
75 std::vector<Double_t> *fLower; ///< vector with lower volume dimensions
76 std::vector<Double_t> *fUpper; ///< vector with upper volume dimensions
77
78 private:
79
80 Bool_t fOwnerShip; ///< flag if "boundary vector" is owned by the volume of not
81 };
82
83} // namespace TMVA
84
85#endif
#define f(i)
Definition RSha256.hxx:104
float Float_t
Definition RtypesCore.h:57
Volume for BinarySearchTree.
Definition Volume.h:47
void Print(void) const
printout of the volume boundaries
Definition Volume.cxx:193
void Scale(Double_t f)
"scale" the volume by multiplying each upper and lower boundary by "f"
Definition Volume.cxx:171
Volume & operator=(const Volume &)
assignment operator
Definition Volume.cxx:135
void ScaleInterval(Double_t f)
"scale" the volume by symmetrically blowing up the interval in each dimension
Definition Volume.cxx:180
std::vector< Double_t > * fLower
vector with lower volume dimensions
Definition Volume.h:75
Bool_t fOwnerShip
flag if "boundary vector" is owned by the volume of not
Definition Volume.h:80
void Delete(void)
delete array of volume bondaries
Definition Volume.cxx:162
std::vector< Double_t > * fUpper
vector with upper volume dimensions
Definition Volume.h:76
virtual ~Volume(void)
destructor
Definition Volume.cxx:153
create variable transformations
TLine l
Definition textangle.C:4