/***************************************************************************
 *
 * $Id$
 *
 * Author: Marcelo Munhoz
 ***************************************************************************
 *
 * Description: SVT Hybrid System Test Array BASE class
 *
 ***************************************************************************
 *
 * $Log$
 **************************************************************************/
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// It is an array of 240 X 128 floats.                                    // 
// It can be used to store any pixel data from one hybrid.                //
// For instance, the pedestals can be defined as a StSvtHybridPixels.     //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#include <iostream.h>
#include "StSvtHybridPixels.hh"

ClassImp(StSvtHybridPixels)

 StSvtHybridPixels::StSvtHybridPixels(int size, float* x) : StSvtHybrid(), TArrayF(size, x)
{}

 StSvtHybridPixels::StSvtHybridPixels(int barrel, int ladder, int wafer, int hybrid) : 
  StSvtHybrid(barrel, ladder, wafer, hybrid), TArrayF(1)
{
  // The same as StSvtHybrid.

  mNumberOfAnodes = 240;
  mNumberOfTimeBins = 128;

  mTotalNumberOfPixels = mNumberOfAnodes*mNumberOfTimeBins;

  Set(mTotalNumberOfPixels);
}

 StSvtHybridPixels::~StSvtHybridPixels()
{}

StSvtHybridPixels& StSvtHybridPixels::operator = (StSvtHybridPixels& h)
{
  float x;

  for (int i=0;i<mTotalNumberOfPixels;i++) {
    x = h.At(i);
    AddAt(x,i);
  }
  return *this;
}

StSvtHybridPixels& StSvtHybridPixels::operator + (StSvtHybridPixels& h)
{
  float x1, x2;

  for (int i=0;i<mTotalNumberOfPixels;i++) {
    x1 = At(i);
    x2 = h.At(i);
    AddAt(x1+x2,i);
  }
  return *this;
}

 int StSvtHybridPixels::getPixelIndex(int anode, int time)
{
  // Returns an internal index for pixel (anode,time). 
  // It should be used to store or retrieve a pixel value from this object.

  int index;

  index = mNumberOfTimeBins*(anode-1) + time;

  return index;
}



ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.