//////////////////////////////////// // KRATTA Array Event Unpacker // for the Asy-Eos experiment // TKRATPhotodiode IMPLEMENTATION // March 2012 // revison 3/2012 // E.d.F ver 1.0 // sebastian.kupny@uj.edu.pl // Based on TLANDEvent 09/11/2011 //////////////////////////////////// #include "TKRATPhotodiode.h" ClassImp(TKRATPhotodiode); /// %%%%%%%%%%%%%%%%%%%%%%%%%%% TKRATPhotodiode %%%%%%%%%%%%%%%%%%%%%%%%%% TKRATPhotodiode::TKRATPhotodiode():fRow(UNKNOWN_ROW), fColumn(UNKNOWN_COLUMN), fPhotodiode(UNKNOWN_PH),fSignalArray() { } //Destructor TKRATPhotodiode::~TKRATPhotodiode() { } TKRATPhotodiode::TKRATPhotodiode( EnTColumn column, EnTRow row, EnTPhotodiode photodiode ):fColumn(column), fRow(row), fPhotodiode(photodiode), fSignalArray() { } TKRATPhotodiode::TKRATPhotodiode( EnTColumn column, EnTRow row, EnTPhotodiode photodiode, Int_t signalArraySize, Int_t * signalArray ):fColumn(column), fRow(row), fPhotodiode(photodiode), fSignalArray(signalArraySize, signalArray) { } void TKRATPhotodiode::Set(EnTColumn column, EnTRow row, EnTPhotodiode photodiode ) { fColumn = column; fRow = row; fPhotodiode = photodiode; } void TKRATPhotodiode::Set( EnTColumn column, EnTRow row, EnTPhotodiode photodiode, Int_t signalArraySize, Int_t * signalArray ) { fColumn = column; fRow = row; fPhotodiode = photodiode; fSignalArray.Set( signalArraySize, signalArray ); } void TKRATPhotodiode::Set( Int_t signalArraySize, Int_t * signalArray ) { fSignalArray.Set( signalArraySize, signalArray ); } Int_t TKRATPhotodiode::GetRow_Int() { if(fRow > 0 ){ return ((Int_t)fRow ) - 1; } else{ return ((Int_t)fRow ); } } Int_t TKRATPhotodiode::GetColumn_Int() { return ((Int_t) fColumn ); } Int_t TKRATPhotodiode::GetPhotodiode_Int() { return ((Int_t) fPhotodiode ); } Int_t TKRATPhotodiode::GetId( void ) { Int_t id = -1; if (fRow >= 0 && fColumn >= 0 && fPhotodiode >= 0 ) id = (KRATTA_ROWS * KRATTA_COLUMNS) * fPhotodiode + KRATTA_COLUMNS*(fRow-1) + fColumn; return id; } TString TKRATPhotodiode::ToString( void ) { TString str = Form("[PhDiode[%c-%d.%d](%d) sig_size=%d]", (Int_t)fColumn + 65 , (Int_t)fRow, (Int_t)fPhotodiode, GetId(), fSignalArray.GetSize() ); // ASCII('A') = 65 //TString str = Form("PhDiode[%d] sig_length %d", fId, fSignalArray->GetSize() ); // ASCII('A') = 65 return str; } void TKRATPhotodiode::Clear( void ) { fColumn = UNKNOWN_COLUMN; fRow = UNKNOWN_ROW; fPhotodiode = UNKNOWN_PH; fSignalArray.Reset();/// Note: Not free memory }