Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
PDEFoamVect.h
Go to the documentation of this file.
1// @(#)root/tmva $Id$
2// Author: S. Jadach, Tancredi Carli, Dominik Dannheim, Alexander Voigt
3
4/**********************************************************************************
5 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6 * Package: TMVA *
7 * Classes: PDEFoamVect *
8 * *
9 * *
10 * Description: *
11 * Auxiliary class PDEFoamVect of n-dimensional vector, with dynamic *
12 * allocation used for the cartesian geometry of the PDEFoam cells *
13 * *
14 * Authors (alphabetical): *
15 * S. Jadach - Institute of Nuclear Physics, Cracow, Poland *
16 * Tancredi Carli - CERN, Switzerland *
17 * Dominik Dannheim - CERN, Switzerland *
18 * Alexander Voigt - TU Dresden, Germany *
19 * *
20 * Copyright (c) 2008: *
21 * CERN, Switzerland *
22 * MPI-K Heidelberg, Germany *
23 * *
24 * Redistribution and use in source and binary forms, with or without *
25 * modification, are permitted according to the terms listed in LICENSE *
26 * (see tmva/doc/LICENSE) *
27 **********************************************************************************/
28
29#ifndef ROOT_TMVA_PDEFoamVect
30#define ROOT_TMVA_PDEFoamVect
31
32#include "TObject.h"
33
34namespace TMVA {
35
36 class PDEFoamVect : public TObject {
37
38 private:
39 Int_t fDim; ///< Dimension
40 Double_t *fCoords; ///< [fDim] Coordinates
41
42 public:
43 // constructor
44 PDEFoamVect(); ///< Constructor
45 PDEFoamVect(Int_t); ///< USER Constructor
46 PDEFoamVect(const PDEFoamVect &); ///< Copy constructor
47 virtual ~PDEFoamVect(); ///< Destructor
48
49 //////////////////////////////////////////////////////////////////////////////
50 // Overloading operators //
51 //////////////////////////////////////////////////////////////////////////////
52 PDEFoamVect& operator =( const PDEFoamVect& ); // = operator; Substitution
53 Double_t & operator[]( Int_t ); // [] provides POINTER to coordinate
54 PDEFoamVect& operator =( Double_t [] ); // LOAD IN entire double vector
55 PDEFoamVect& operator =( Double_t ); // LOAD IN double number
56 ////////////////////////// OTHER METHODS //////////////////////////////////
57 PDEFoamVect& operator+=( const PDEFoamVect& ); // +=; add vector u+=v (FAST)
58 PDEFoamVect& operator-=( const PDEFoamVect& ); // +=; add vector u+=v (FAST)
59 PDEFoamVect& operator*=( const Double_t& ); // *=; mult. by scalar v*=x (FAST)
60 PDEFoamVect operator+ ( const PDEFoamVect& ); // +; u=v+s, NEVER USE IT, SLOW!!!
61 PDEFoamVect operator- ( const PDEFoamVect& ); // -; u=v-s, NEVER USE IT, SLOW!!!
62 void Print(Option_t *option) const; // Prints vector
63 Int_t GetDim() const { return fDim; } // Returns dimension
64 Double_t GetCoord(Int_t i) const { return fCoords[i]; } // Returns coordinate
65
66 ClassDef(PDEFoamVect,2) //n-dimensional vector with dynamical allocation
67 }; // end of PDEFoamVect
68} // namespace TMVA
69
70#endif
const char Option_t
Definition RtypesCore.h:66
#define ClassDef(name, id)
Definition Rtypes.h:342
Option_t Option_t option
Int_t GetDim() const
Definition PDEFoamVect.h:63
PDEFoamVect operator-(const PDEFoamVect &)
subtraction operator -; difference of 2 vectors; c=a-b, a=a-b, NEVER USE IT, VERY SLOW!...
PDEFoamVect & operator=(const PDEFoamVect &)
substitution operator
Double_t GetCoord(Int_t i) const
Definition PDEFoamVect.h:64
PDEFoamVect & operator+=(const PDEFoamVect &)
unary addition operator +=; adding vector c*=x,
PDEFoamVect operator+(const PDEFoamVect &)
addition operator +; sum of 2 vectors: c=a+b, a=a+b, NEVER USE IT, VERY SLOW!!!
void Print(Option_t *option) const
Printout of all vector components.
virtual ~PDEFoamVect()
Destructor.
Double_t & operator[](Int_t)
[] is for access to elements as in ordinary matrix like a[j]=b[j] (Perhaps against some strict rules ...
PDEFoamVect & operator*=(const Double_t &)
unary multiplication operator *=
PDEFoamVect()
Constructor.
PDEFoamVect & operator-=(const PDEFoamVect &)
unary subtraction operator -=
Int_t fDim
Dimension.
Definition PDEFoamVect.h:39
Double_t * fCoords
[fDim] Coordinates
Definition PDEFoamVect.h:40
Mother of all ROOT objects.
Definition TObject.h:41
create variable transformations