// File: hrichhit.cc
// ***************************************************************************

//*-- Author : Witold Przygoda (przygoda@psja1.if.uj.edu.pl)
//*-- Modified : 2001/09/05 by Witold Przygoda

using namespace std;
#include "hrichhit.h"
#include <iostream> 
#include <iomanip>
// ***************************************************************************
//_HADES_CLASS_DESCRIPTION 
//////////////////////////////////////////////////////////////////////////////
//
//  HRichHit
//
//  Hit candidate container
//
//////////////////////////////////////////////////////////////////////////////
// ***************************************************************************


ClassImp(HRichHit)


Int_t HRichHit::iRingImageSize = 0;
HRichHit::HRichHit() {
 iRingX = 0;
 iRingY = 0;
 iRingQuality = 0;
 iRingPatMat = 0;
 iRingHouTra = 0;
 iRingPadNr = 0;
 iRingAmplitude = 0;
 iRingLocalMax4 = 0;
 iRingLocalMax8 = 0;
 iRingClusterNr = 0;
 iRingImageSize = 0;
 iRingAlgorithmIndex = 0;
 fRingClusterSize = 0.;
 fRingClusterLMax4 = 0.;
 fRingClusterLMax8 = 0.;
 for (Int_t i=0; i<256; i++) iRingImage[i] = 0;
 iRingFreeParam = 0;
 iRingMaxLabel = 0;
 fLabX = 0.;
 fLabY = 0.;
 fLabZ = 0.;
 fX = 0.;
 fY = 0.;
 fPadX = 0.;
 fPadY = 0.;
 fMeanTheta = 0.;
 fMeanPhi = 0.;
 fTheta = 0.;
 fPhi = 0.;

 fMaxClusterSize = 0;
 fMaxClusterSum = 0;
 fMaxThrClusterSize = 0;

 fTestDens = kFALSE;
 fTestBord = kFALSE;
 fTestDyna = kFALSE;
 fTestRati = kFALSE;
 fTestAsym = kFALSE;
 fRejFake = kTRUE;
 fTests = 0;
 fBorderFactor = 0.;
 fRingCentroid = 0.;
 fRingRadius = 0.;

 fAddress = 0;
 lEventNr = 0;
 nSector = 0;
}

 HRichHit::HRichHit(Int_t x, Int_t y, Int_t q, Int_t fp, Int_t lab) {
 
 iRingPatMat = 0;
 iRingHouTra = 0;
 iRingPadNr = 0;
 iRingAmplitude = 0;
 iRingLocalMax4 = 0;
 iRingLocalMax8 = 0;
 iRingClusterNr = 0;
 iRingImageSize = 0;
 iRingAlgorithmIndex = 0;
 fRingClusterSize = 0.;
 fRingClusterLMax4 = 0.;
 fRingClusterLMax8 = 0.;
 for (Int_t i=0; i<256; i++) iRingImage[i] = 0;
 fLabX = 0.;
 fLabY = 0.;
 fLabZ = 0.;
 fX = 0.;
 fY = 0.;
 fPadX = 0.;
 fPadY = 0.;
 fMeanTheta = 0.;
 fMeanPhi = 0.;
 fTheta = 0.;
 fPhi = 0.;

 fMaxClusterSize = 0;
 fMaxClusterSum = 0;
 fMaxThrClusterSize = 0;

 fTestDens = kFALSE;
 fTestBord = kFALSE;
 fTestDyna = kFALSE;
 fTestRati = kFALSE;
 fTestAsym = kFALSE;
 fRejFake = kTRUE;
 fTests = 0;
 fBorderFactor = 0.;
 fRingCentroid = 0.;
 fRingRadius = 0.;

 fAddress = 0;
 lEventNr = 0;
 nSector = 0;

  iRingX = x;
  iRingY = y;
  iRingQuality = q;
  iRingFreeParam = fp;
  iRingMaxLabel = lab;
 }

HRichHit::~HRichHit() {}

HRichHit::HRichHit(const HRichHit& source) {
 iRingX = source.iRingX;
 iRingY = source.iRingY;
 iRingQuality = source.iRingQuality;
 iRingPatMat = source.iRingPatMat;
 iRingHouTra = source.iRingHouTra;
 iRingPadNr = source.iRingPadNr;
 iRingAmplitude = source.iRingAmplitude;
 iRingLocalMax4 = source.iRingLocalMax4;
 iRingLocalMax8 = source.iRingLocalMax8;
 iRingClusterNr = source.iRingClusterNr;
 iRingImageSize = source.iRingImageSize;

 fRingClusterSize = source.fRingClusterSize;
 fRingClusterLMax4 = source.fRingClusterLMax4;
 fRingClusterLMax8 = source.fRingClusterLMax8;

 iRingAlgorithmIndex = source.iRingAlgorithmIndex;
 for (Int_t i=0; i<256; i++) iRingImage[i] = source.iRingImage[i];

 iRingFreeParam = source.iRingFreeParam;
 iRingMaxLabel = source.iRingMaxLabel;
 fLabX = source.fLabX;
 fLabY = source.fLabY;
 fLabZ = source.fLabZ;
 fX = source.fX;
 fY = source.fY;
 fPadX = source.fPadX;
 fPadY = source.fPadY;
 fMeanTheta = source.fMeanTheta;
 fMeanPhi = source.fMeanPhi;
 fTheta = source.fTheta;
 fPhi = source.fPhi;

 fMaxClusterSize = source.fMaxClusterSize;
 fMaxClusterSum = source.fMaxClusterSum;
 fMaxThrClusterSize = source.fMaxThrClusterSize;

 fTestDens = source.fTestDens;
 fTestBord = source.fTestBord;
 fTestDyna = source.fTestDyna;
 fTestRati = source.fTestRati;
 fTestAsym = source.fTestAsym;
 fTestCharge = source.fTestCharge;
 fRejFake = source.fRejFake;
 fTests = source.fTests;
 fBorderFactor = source.fBorderFactor;
 fRingCentroid = source.fRingCentroid;
 fRingRadius = source.fRingRadius;


 fAddress = source.fAddress;
 lEventNr = source.lEventNr;
 nSector = source.nSector;
}

HRichHit& HRichHit::operator=(const HRichHit& source) {

 if (this != &source) {
 iRingX = source.iRingX;
 iRingY = source.iRingY;
 iRingQuality = source.iRingQuality;
 iRingPatMat = source.iRingPatMat;
 iRingHouTra = source.iRingHouTra;
 iRingPadNr = source.iRingPadNr;
 iRingAmplitude = source.iRingAmplitude;
 iRingLocalMax4 = source.iRingLocalMax4;
 iRingLocalMax8 = source.iRingLocalMax8;
 iRingClusterNr = source.iRingClusterNr;
 iRingImageSize = source.iRingImageSize;

 fRingClusterSize = source.fRingClusterSize;
 fRingClusterLMax4 = source.fRingClusterLMax4;
 fRingClusterLMax8 = source.fRingClusterLMax8;

 iRingAlgorithmIndex = source.iRingAlgorithmIndex;
 for (Int_t i=0; i<256; i++) iRingImage[i] = source.iRingImage[i];

 iRingFreeParam = source.iRingFreeParam;
 iRingMaxLabel = source.iRingMaxLabel;
 fLabX = source.fLabX;
 fLabY = source.fLabY;
 fLabZ = source.fLabZ;
 fX = source.fX;
 fY = source.fY;
 fPadX = source.fPadX;
 fPadY = source.fPadY;
 fMeanTheta = source.fMeanTheta;
 fMeanPhi = source.fMeanPhi;
 fTheta = source.fTheta;
 fPhi = source.fPhi;

 fMaxClusterSize = source.fMaxClusterSize;
 fMaxClusterSum = source.fMaxClusterSum;
 fMaxThrClusterSize = source.fMaxThrClusterSize;

 fTestDens = source.fTestDens;
 fTestBord = source.fTestBord;
 fTestDyna = source.fTestDyna;
 fTestRati = source.fTestRati;
 fTestAsym = source.fTestAsym;
 fTestCharge = source.fTestCharge;
 fRejFake = source.fRejFake;
 fTests = source.fTests;
 fBorderFactor = source.fBorderFactor;
 fRingCentroid = source.fRingCentroid;
 fRingRadius = source.fRingRadius;


 fAddress = source.fAddress;
 lEventNr = source.lEventNr;
 nSector = source.nSector;
 }

return *this;
}


void HRichHit::Reset() {
 iRingX = 0;
 iRingY = 0;
 iRingQuality = 0;
 iRingPatMat = 0;
 iRingHouTra = 0;
 iRingPadNr = 0;
 iRingAmplitude = 0;
 iRingLocalMax4 = 0;
 iRingLocalMax8 = 0;
 fRingClusterSize = 0.;
 fRingClusterLMax4 = 0.;
 fRingClusterLMax8 = 0.;
 iRingClusterNr = 0;
 iRingAlgorithmIndex = 0;
 for (Int_t i=0; i<256; i++) iRingImage[i] = 0;
 iRingFreeParam = 0;
 iRingMaxLabel = 0;
 fLabX = 0.;
 fLabY = 0.;
 fLabZ = 0.;
 fX = 0.;
 fY = 0.;
 fPadX = 0.;
 fPadY = 0.;
 fMeanTheta = 0.;
 fMeanPhi = 0.;
 fTheta = 0.;
 fPhi = 0.;
 fMaxClusterSize = 0;
 fMaxClusterSum = 0;
 fMaxThrClusterSize = 0;
 fTestDens = kFALSE;
 fTestBord = kFALSE;
 fTestDyna = kFALSE;
 fTestRati = kFALSE;
 fTestAsym = kFALSE;
 fTests = 0;
 fBorderFactor = 0.;
 fRingCentroid = 0.;
 fRingRadius = 0.;
 lEventNr = 0;
 nSector = 0;
 fAddress = 0;
}

Int_t HRichHit::calcAddress() {
  Char_t s = (nSector) ? nSector : 6;
  fAddress = 10000 * s;
  fAddress += 100 * iRingY;
  fAddress += iRingX;

  return fAddress;
}

void HRichHit::dumpToStdout()
{
    cout<<"***************************************************"<<endl;
    cout<<"*** RICH Hit Properties (Ring) *** Sec:"<<getSector()<<endl;
    cout<<"Ring X (azim)   : "<<getRingCenterX()
        <<" / Ring Y (polar)  : "<<getRingCenterY()<<endl;
    cout<<"Ring PHI (azim)   : "<<getPhi()
        <<" / Ring THETA (polar)  : "<<getTheta()<<endl;
    cout<<"Ring HT         : "<<getRingHouTra()
	<<" / Ring PM         :"<<getRingPatMat()<<endl;
    cout<<"Ring Ampl :"<<getRingAmplitude()
	<<" / Ring PadNr  :"<<getRingPadNr()
	<<" / Ring LocMax4  :"<<getRingLocalMax4()<<endl;
    cout<<"***************************************************"<<endl;

}


Last change: Sat May 22 13:09:03 2010
Last generated: 2010-05-22 13:09

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.