15   fNextPixel(kPixelUNDEF),
 
   31   fThreshold(threshold),
 
   36   fNextPixel(kPixelUNDEF),
 
   50                                             std::vector<Int_t>& 
cols, std::vector<Int_t>& rows,
 
   51                                             std::vector<Double_t>& charges)
 
   53   std::vector<PndSdsPixel> pixels = 
GetPixels(inx,iny,outx,outy,energy);
 
   54   Int_t npix=pixels.size();
 
   55   for(Int_t 
i=0;
i<npix;
i++)
 
   57     if(
fVerboseLevel>2) Info(
"PndSdsCalcPixel::GetPixelsAlternative()",
"pass this pixel: i=%i, c=%i, r=%i, q=%f",
i,pixels[
i].GetCol(),pixels[
i].GetRow(),pixels[
i].GetCharge());
 
   58     cols.push_back(pixels[
i].GetCol());
 
   59     rows.push_back(pixels[
i].GetRow());
 
   60     charges.push_back(pixels[
i].GetCharge());
 
   71   fIn.setXYZ(inx, iny, 0);
 
   72   fOut.setXYZ(outx, outy, 0);
 
   76   if (
fDir.length() < 0.001){   
 
   85     std::cout << 
"Converted Vectors: " << std::endl;
 
   94   while (
fStop != 
true){
 
  103       case kPixelUNDEF : std::cout << 
"PndSdsCalcPixel::GetPixels no next pixel."<<std::endl; 
break;
 
  144     else if (
fDir.getY() > 0)
 
  150     std::cout << 
"CalcQuadrant: " << 
fQuad << std::endl;
 
  156   Double_t Charge = Energy / (3.61e-9);
 
  172   FairGeoVector OutPoint;
 
  173   bool xBeforeY = 
false;
 
  188       if ( 
fabs(
fDir.getX()) < 1e-8 ) xBeforeY = 
false;
 
  189       else if ( ( (borderX - 
fPos.getX()) * 
fDir.getY() / 
fDir.getX() )+
fPos.getY() < borderY)
 
  191       else xBeforeY = 
false;
 
  195       if ( 
fabs(
fDir.getX()) < 1e-8 ) xBeforeY = 
false;
 
  196       else if ( ( (borderX - 
fPos.getX()) * 
fDir.getY() / 
fDir.getX() )+
fPos.getY() < borderY)
 
  198       else xBeforeY = 
false;
 
  202       if ( 
fabs(
fDir.getX()) < 1e-8 ) xBeforeY = 
false;
 
  203       else if ( ( (borderX - 
fPos.getX()) * 
fDir.getY() / 
fDir.getX() )+
fPos.getY() > borderY)
 
  205       else xBeforeY = 
false;
 
  209       if ( 
fabs(
fDir.getX()) < 1e-8 ) xBeforeY = 
false;
 
  210       else if ( ( (borderX - 
fPos.getX()) * 
fDir.getY() / 
fDir.getX() )+
fPos.getY() > borderY)
 
  212       else xBeforeY = 
false;
 
  214     case kQuadUNDEF : std::cout<<
"PndSdsCalcPixel::CalcPixel : Quadrant not defined!"<<std::endl;
 
  219     OutPoint.setXYZ(borderX, ((borderX-
fPos.getX())*
fDir.getY()/
fDir.getX())+
fPos.getY(),0);
 
  226     OutPoint.setXYZ(((borderY-
fPos.getY())*
fDir.getX()/
fDir.getY())+
fPos.getX(), borderY,0);
 
  235   if ((OutPoint - 
fPos).length() > (
fOut - 
fPos).length()){
 
  243     printf(
"len: %g, cperL: %g, depCharge w/o noise: %g\n",(OutPoint - 
fPos).length(),
fCperL,depCharge);
 
  275   out << 
"PixelWidth: " << 
fPixelWidth << 
" PixelLength: " <<
 
  285   if (
fVerboseLevel > 3) std::cout<<
" charge = "<<charge<<
", smeared = "<<smeared<<std::endl;
 
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
void CalcCperL(Double_t Energy)
Double_t SmearCharge(Double_t charge)
std::vector< PndSdsPixel > fPixels
void SetCharge(Double_t charge)
std::vector< PndSdsPixel > GetPixels(Double_t inx, Double_t iny, Double_t outx, Double_t outy, Double_t energy)
Main function to calculate the vector<PndSdsPixel> of fired pixel. 
friend F32vec4 fabs(const F32vec4 &a)
ENextPixelType fNextPixel
Int_t GetPixelsAlternative(Double_t inx, Double_t iny, Double_t outx, Double_t outy, Double_t energy, std::vector< Int_t > &cols, std::vector< Int_t > &rows, std::vector< Double_t > &charges)
PndSdsCalcPixel()
Default constructor. 
std::ostream & operator<<(std::ostream &out)