58 fLower =
new std::vector<Double_t>(
l->size() );
59 fUpper =
new std::vector<Double_t>( u->size() );
62 for (
UInt_t ivar=0; ivar<
l->size(); ivar++) {
64 (*fUpper)[ivar] =
Double_t((*u)[ivar]);
73 fLower =
new std::vector<Double_t>( nvar );
74 fUpper =
new std::vector<Double_t>( nvar );
77 for (
int ivar=0; ivar<nvar; ivar++) {
78 (*fLower)[ivar] =
l[ivar];
79 (*fUpper)[ivar] = u[ivar];
88 fLower =
new std::vector<Double_t>( nvar );
89 fUpper =
new std::vector<Double_t>( nvar );
92 for (
int ivar=0; ivar<nvar; ivar++) {
103 fLower =
new std::vector<Double_t>(1);
104 fUpper =
new std::vector<Double_t>(1);
115 fLower =
new std::vector<Double_t>(1);
116 fUpper =
new std::vector<Double_t>(1);
127 fLower =
new std::vector<Double_t>( *V.
fLower );
128 fUpper =
new std::vector<Double_t>( *V.
fUpper );
138 if (fLower)
delete fLower;
139 if (fUpper)
delete fUpper;
140 fLower =
new std::vector<Double_t>( *V.
fLower );
141 fUpper =
new std::vector<Double_t>( *V.
fUpper );
156 if (fOwnerShip) this->Delete();
164 if (NULL != fLower) {
delete fLower; fLower = NULL; }
165 if (NULL != fUpper) {
delete fUpper; fUpper = NULL; }
182 for (
UInt_t ivar=0; ivar<fLower->size(); ivar++) {
183 Double_t lo = 0.5*((*fLower)[ivar]*(1.0 +
f) + (*fUpper)[ivar]*(1.0 -
f));
184 Double_t up = 0.5*((*fLower)[ivar]*(1.0 -
f) + (*fUpper)[ivar]*(1.0 +
f));
185 (*fLower)[ivar] = lo;
186 (*fUpper)[ivar] = up;
196 for (
UInt_t ivar=0; ivar<fLower->size(); ivar++) {
197 fLogger << kINFO <<
"... Volume: var: " << ivar <<
"\t(fLower, fUpper) = ("
198 << (*fLower)[ivar] <<
"\t " << (*fUpper)[ivar] <<
")"<<
Endl;
ostringstream derivative to redirect and format output
Volume for BinarySearchTree.
void Print(void) const
printout of the volume boundaries
void Scale(Double_t f)
"scale" the volume by multiplying each upper and lower boundary by "f"
Volume & operator=(const Volume &)
assignment operator
Volume(std::vector< Float_t > *l, std::vector< Float_t > *u=0)
constructor specifying the volume by std::vectors of floats
void ScaleInterval(Double_t f)
"scale" the volume by symmetrically blowing up the interval in each dimension
std::vector< Double_t > * fLower
void Delete(void)
delete array of volume bondaries
std::vector< Double_t > * fUpper
virtual ~Volume(void)
destructor
MsgLogger & Endl(MsgLogger &ml)