51 Error(
"TFoamCell",
"Dimension has to be >0 \n ");
59 Error(
"TFoamCell",
"+++++ NEVER USE Copy constructor for TFoamCell \n");
84 Info(
"TFoamCell",
"operator=\n ");
85 if (&From ==
this)
return *
this;
120 cellPosi = 0.0; cellSize=1.0;
124 if( pCell== 0)
break;
127 if(dCell == pCell->
GetDau0() ) {
128 cellSize[
kDiv] *=xDivi;
129 cellPosi[
kDiv] *=xDivi;
130 }
else if( dCell == pCell->
GetDau1() ) {
131 cellSize[
kDiv] *=(1.0-xDivi);
132 cellPosi[
kDiv] =cellPosi[
kDiv]*(1.0-xDivi)+xDivi;
134 Error(
"GetHcub ",
"Something wrong with linked tree \n");
153 if( pCell== 0)
break;
156 if(dCell == pCell->
GetDau0() ) {
157 cellSize[
kDiv]=cellSize[
kDiv]*xDivi;
158 }
else if(dCell == pCell->
GetDau1() ) {
159 cellSize[
kDiv]=cellSize[
kDiv]*(1.0-xDivi);
161 Error(
"GetHSize ",
"Something wrong with linked tree \n");
177 for(k=0; k<
fDim; k++) volu *= cellSize[k];
187 if(!option)
Error(
"Print",
"No option set\n");
189 std::cout <<
" Status= "<<
fStatus <<
",";
190 std::cout <<
" Volume= "<<
fVolume <<
",";
191 std::cout <<
" TrueInteg= " <<
fIntegral <<
",";
192 std::cout <<
" DriveInteg= "<<
fDrive <<
",";
193 std::cout <<
" PrimInteg= " <<
fPrimary <<
",";
194 std::cout<< std::endl;
195 std::cout <<
" Xdiv= "<<
fXdiv<<
",";
196 std::cout <<
" Best= "<<
fBest<<
",";
200 std::cout<< std::endl;
206 std::cout <<
" Posi= "; cellPosi.
Print(
"1"); std::cout<<
","<< std::endl;
207 std::cout <<
" Size= "; cellSize.
Print(
"1"); std::cout<<
","<< std::endl;
Double_t fXdiv
Factor for division.
virtual ~TFoamCell()
Destructor.
TFoamCell * GetDau1() const
void CalcVolume()
Calculates volume of the cell using size params which are calculated.
void Print(Option_t *option) const
Printout of the cell geometry parameters for the debug purpose.
TRef fDaught1
Pointer to daughter 2.
Double_t fIntegral
Integral over cell (estimate from exploration)
Int_t fStatus
Status (active, inactive)
TFoamCell * GetDau0() const
Double_t fVolume
Cartesian Volume of cell.
TRef fParent
Pointer to parent cell.
TRef fDaught0
Pointer to daughter 1.
void GetHcub(TFoamVect &, TFoamVect &) const
Provides size and position of the cell These parameter are calculated by analyzing information in all...
TFoamCell * GetPare() const
Double_t fDrive
Driver integral, only for cell build-up.
Short_t fDim
Dimension of the vector space.
Double_t fPrimary
Primary integral, only for MC generation.
TFoamCell()
Default constructor for streamer.
TFoamCell & operator=(const TFoamCell &)
Substitution operator = (never used)
void Fill(Int_t, TFoamCell *, TFoamCell *, TFoamCell *)
Fills in certain data into newly allocated cell.
Int_t fBest
Best Edge for division.
Int_t fSerial
Serial number.
void GetHSize(TFoamVect &) const
Provides size of the cell Size parameters are calculated by analyzing information in all parents cell...
Auxiliary class TFoamVect of n-dimensional vector, with dynamic allocation used for the cartesian geo...
void Print(Option_t *option) const
Printout of all vector components on "std::cout".
Mother of all ROOT objects.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.