14 #include "Riostream.h" 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;
124 cellPosi = 0.0; cellSize=1.0;
128 if( pCell== 0)
break;
129 Int_t kDiv = pCell->
fBest;
130 Double_t xDivi = pCell->
fXdiv;
131 if(dCell == pCell->
GetDau0() ) {
132 cellSize[kDiv] *=xDivi;
133 cellPosi[kDiv] *=xDivi;
134 }
else if( dCell == pCell->
GetDau1() ) {
135 cellSize[kDiv] *=(1.0-xDivi);
136 cellPosi[kDiv] =cellPosi[kDiv]*(1.0-xDivi)+xDivi;
138 Error(
"GetHcub ",
"Something wrong with linked tree \n");
157 if( pCell== 0)
break;
158 Int_t kDiv = pCell->
fBest;
159 Double_t xDivi = pCell->
fXdiv;
160 if(dCell == pCell->
GetDau0() ) {
161 cellSize[kDiv]=cellSize[kDiv]*xDivi;
162 }
else if(dCell == pCell->
GetDau1() ) {
163 cellSize[kDiv]=cellSize[kDiv]*(1.0-xDivi);
165 Error(
"GetHSize ",
"Something wrong with linked tree \n");
181 for(k=0; k<
fDim; k++) volu *= cellSize[k];
191 if(!option) Error(
"Print",
"No option set\n");
193 std::cout <<
" Status= "<<
fStatus <<
",";
194 std::cout <<
" Volume= "<<
fVolume <<
",";
195 std::cout <<
" TrueInteg= " <<
fIntegral <<
",";
196 std::cout <<
" DriveInteg= "<<
fDrive <<
",";
197 std::cout <<
" PrimInteg= " <<
fPrimary <<
",";
198 std::cout<< std::endl;
199 std::cout <<
" Xdiv= "<<
fXdiv<<
",";
200 std::cout <<
" Best= "<<
fBest<<
",";
204 std::cout<< std::endl;
210 std::cout <<
" Posi= "; cellPosi.
Print(
"1"); std::cout<<
","<< std::endl;
211 std::cout <<
" Size= "; cellSize.
Print(
"1"); std::cout<<
","<< std::endl;
virtual ~TFoamCell()
Destructor.
void Print(Option_t *option) const
Printout of the cell geometry parameters for the debug purpose.
TFoamCell * GetDau1() const
void CalcVolume()
Calculates volume of the cell using size params which are calculated.
TFoamCell * GetDau0() const
TFoamCell & operator=(const TFoamCell &)
Substitution operator = (never used)
void GetHSize(TFoamVect &) const
Provides size of the cell Size parameters are calculated by analyzing information in all parents cell...
TFoamCell * GetPare() const
void Fill(Int_t, TFoamCell *, TFoamCell *, TFoamCell *)
Fills in certain data into newly allocated cell.
void Print(Option_t *option) const
Printout of all vector components on "std::cout".
void GetHcub(TFoamVect &, TFoamVect &) const
Provides size and position of the cell These parameter are calculated by analyzing information in all...
TFoamCell()
Default constructor for streamer.