85 Error(
"PDEFoamCell",
"Dimension has to be >0" );
106 Error(
"PDEFoamCell",
"COPY CONSTRUCTOR NOT IMPLEMENTED" );
140 cellPosi = 0.0; cellSize=1.0;
144 if( pCell== 0)
break;
147 if(dCell == pCell->
GetDau0() ) {
148 cellSize[
kDiv] *=xDivi;
149 cellPosi[
kDiv] *=xDivi;
150 }
else if( dCell == pCell->
GetDau1() ) {
151 cellSize[
kDiv] *=(1.0-xDivi);
152 cellPosi[
kDiv] =cellPosi[
kDiv]*(1.0-xDivi)+xDivi;
154 Error(
"GetHcub ",
"Something wrong with linked tree \n");
173 if( pCell== 0)
break;
176 if(dCell == pCell->
GetDau0() ) {
177 cellSize[
kDiv]=cellSize[
kDiv]*xDivi;
178 }
else if(dCell == pCell->
GetDau1() ) {
179 cellSize[
kDiv]=cellSize[
kDiv]*(1.0-xDivi);
181 Error(
"GetHSize ",
"Something wrong with linked tree \n");
197 for(k=0; k<
fDim; k++) volu *= cellSize[k];
214 while ((cell=cell->
GetPare()) != 0){
228 UInt_t depth0 = 0, depth1 = 0;
230 depth0 =
GetDau0()->GetTreeDepth(depth+1);
232 depth1 =
GetDau1()->GetTreeDepth(depth+1);
234 return (depth0 > depth1 ? depth0 : depth1);
242 if (!option)
Error(
"Print",
"No option set\n");
244 std::cout <<
" Status= "<<
fStatus <<
",";
245 std::cout <<
" Volume= "<<
fVolume <<
",";
246 std::cout <<
" TrueInteg= " <<
fIntegral <<
",";
247 std::cout <<
" DriveInteg= "<<
fDrive <<
",";
248 std::cout << std::endl;
249 std::cout <<
" Xdiv= "<<
fXdiv<<
",";
250 std::cout <<
" Best= "<<
fBest<<
",";
251 std::cout <<
" Parent= {"<< (
GetPare() ?
GetPare()->GetSerial() : -1) <<
"} ";
252 std::cout <<
" Daught0= {"<< (
GetDau0() ?
GetDau0()->GetSerial() : -1 )<<
"} ";
253 std::cout <<
" Daught1= {"<< (
GetDau1() ?
GetDau1()->GetSerial() : -1 )<<
"} ";
254 std::cout << std::endl;
260 std::cout <<
" Posi= "; cellPosi.
Print(
"1"); std::cout<<
","<< std::endl;
261 std::cout <<
" Size= "; cellSize.
Print(
"1"); std::cout<<
","<< std::endl;
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
double Double_t
Double 8 bytes.
const char Option_t
Option string (const char).
Error("WriteTObject","The current directory (%s) is not associated with a file. The object (%s) has not been written.", GetName(), objname)
void Fill(Int_t, PDEFoamCell *, PDEFoamCell *, PDEFoamCell *)
Fills in certain data into newly allocated cell.
TObject * fElement
may set by the user to save some data in this cell
Double_t fVolume
Cartesian Volume of cell.
TRef fDaught1
Pointer to daughter 2.
TRef fDaught0
Pointer to daughter 1.
void CalcVolume()
Calculates volume of the cell using size params which are calculated.
UInt_t GetTreeDepth(UInt_t depth=0)
Get depth of cell tree, starting at this cell.
Double_t fXdiv
Factor for division.
Int_t fBest
Best Edge for division.
PDEFoamCell * GetPare() const
PDEFoamCell * GetDau1() const
Int_t fSerial
Serial number.
void GetHSize(PDEFoamVect &) const
Provides size of the cell Size parameters are calculated by analyzing information in all parents cell...
Double_t fIntegral
Integral over cell (estimate from exploration).
PDEFoamCell * GetDau0() const
Double_t fDrive
Driver integral, only for cell build-up.
PDEFoamCell()
Default constructor for streamer.
virtual ~PDEFoamCell()
Destructor.
TRef fParent
Pointer to parent cell.
void GetHcub(PDEFoamVect &, PDEFoamVect &) const
Provides size and position of the cell These parameter are calculated by analyzing information in all...
void Print(Option_t *option) const override
Printout of the cell geometry parameters for the debug purpose.
Int_t fStatus
Status (active, inactive).
UInt_t GetDepth()
Get depth of cell in binary tree, where the root cell has depth 1.
void Print(Option_t *option) const override
Printout of all vector components.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
TObject()
TObject constructor.