#include "hrich700ringfinderpar.h"
#include "richdef.h"
#include "hparamlist.h"
#include "TRandom.h"
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
ClassImp(HRich700RingFinderPar)
HRich700RingFinderPar::HRich700RingFinderPar(const Char_t* name,const Char_t* title,
					     const Char_t* context)
    : HParCond(name,title,context)
{
    clear();
}
HRich700RingFinderPar::~HRich700RingFinderPar()
{
  
}
void HRich700RingFinderPar::clear()
{
    fNofParts         = 0;
    fMaxDistance      = 0.f;
    fMinDistance      = 0.f;
    fMinRadius        = 0.f;
    fMaxRadius        = 0.f;
    fNofBinsX         = 0;
    fNofBinsY         = 0;
    fHTCut            = 0;
    fNofBinsR         = 0;
    fHTCutR           = 0;
    fMinNofHitsInArea = 0;
    fUsedHitsAllCut   = 0.f;
    fRmsCoeffCOP      = 0.f;
    fMaxCutCOP        = 0.f;
}
void HRich700RingFinderPar::printParam(void)
{
    printf("----------------------------------------------------------------------\n");
    printf("HRich700RingFinderPar : \n");
    printf("fNofParts         = %hi \n", fNofParts );
    printf("fMaxDistance      = %f \n" , fMaxDistance );
    printf("fMinDistance      = %f \n" , fMinDistance);
    printf("fMinRadius        = %f \n" , fMinRadius);
    printf("fMaxRadius        = %f \n" , fMaxRadius);
    printf("fNofBinsX         = %hi \n", fNofBinsX);
    printf("fNofBinsY         = %hi \n", fNofBinsY);
    printf("fHTCut            = %hi \n", fHTCut);
    printf("fNofBinsR         = %hi \n", fNofBinsR );
    printf("fHTCutR           = %hi \n", fHTCutR );
    printf("fMinNofHitsInArea = %hi \n", fMinNofHitsInArea);
    printf("fUsedHitsAllCut   = %f \n" , fUsedHitsAllCut);
    printf("fRmsCoeffCOP      = %f \n" , fRmsCoeffCOP);
    printf("fMaxCutCOP        = %f \n" , fMaxCutCOP);
    printf("----------------------------------------------------------------------\n");
}
void HRich700RingFinderPar::putParams(HParamList* l)
{
    if (!l) return;
    l->add("fNofParts"        , fNofParts );
    l->add("fMaxDistance"     , fMaxDistance );
    l->add("fMinDistance"     , fMinDistance);
    l->add("fMinRadius"       , fMinRadius);
    l->add("fMaxRadius"       , fMaxRadius);
    l->add("fNofBinsX"        , fNofBinsX);
    l->add("fNofBinsY"        , fNofBinsY);
    l->add("fHTCut"           , fHTCut);
    l->add("fNofBinsR"        , fNofBinsR );
    l->add("fHTCutR"          , fHTCutR );
    l->add("fMinNofHitsInArea", fMinNofHitsInArea);
    l->add("fUsedHitsAllCut"  , fUsedHitsAllCut);
    l->add("fRmsCoeffCOP"     , fRmsCoeffCOP);
    l->add("fMaxCutCOP"       , fMaxCutCOP);
}
Bool_t HRich700RingFinderPar::getParams(HParamList* l)
{
    if (!l) return kFALSE;
    if(!( l->fill("fNofParts"        , &fNofParts        ))) return kFALSE;
    if(!( l->fill("fMaxDistance"     , &fMaxDistance     ))) return kFALSE;
    if(!( l->fill("fMinDistance"     , &fMinDistance     ))) return kFALSE;
    if(!( l->fill("fMinRadius"       , &fMinRadius       ))) return kFALSE;
    if(!( l->fill("fMaxRadius"       , &fMaxRadius       ))) return kFALSE;
    if(!( l->fill("fNofBinsX"        , &fNofBinsX        ))) return kFALSE;
    if(!( l->fill("fNofBinsY"        , &fNofBinsY        ))) return kFALSE;
    if(!( l->fill("fHTCut"           , &fHTCut           ))) return kFALSE;
    if(!( l->fill("fNofBinsR"        , &fNofBinsR        ))) return kFALSE;
    if(!( l->fill("fHTCutR"          , &fHTCutR          ))) return kFALSE;
    if(!( l->fill("fMinNofHitsInArea", &fMinNofHitsInArea))) return kFALSE;
    if(!( l->fill("fUsedHitsAllCut"  , &fUsedHitsAllCut  ))) return kFALSE;
    if(!( l->fill("fRmsCoeffCOP"     , &fRmsCoeffCOP     ))) return kFALSE;
    if(!( l->fill("fMaxCutCOP"       , &fMaxCutCOP       ))) return kFALSE;
    return kTRUE;
}
std::string HRich700RingFinderPar::getStringForParTxtFile()
{
    stringstream ss;
    ss << "##############################################################################" << endl;
    ss << "# Class:   HRich700RingFinderPar" << endl;
    ss << "# Context: Rich700RingFinderParProduction" << endl;
    ss << "##############################################################################" << endl;
    ss << "[Rich700RingFinderPar]" << endl;
    ss << "//----------------------------------------------------------------------------" << endl;
    ss << "fNofParts:  Int_t  " << fNofParts << endl;
    ss << "fMaxDistance:  Float_t " << fMaxDistance << endl;
    ss << "fMinDistance:  Float_t  " << fMinDistance << endl;
    ss << "fMinRadius:  Float_t  " << fMinRadius << endl;
    ss << "fMaxRadius:  Float_t  " << fMaxRadius << endl;
    ss << "fNofBinsX:  Int_t  " << fNofBinsX << endl;
    ss << "fNofBinsY:  Int_t  " << fNofBinsY << endl;
    ss << "fHTCut:  Int_t  " << fHTCut << endl;
    ss << "fNofBinsR:  Int_t  " << fNofBinsR << endl;
    ss << "fHTCutR:  Int_t  " << fHTCutR << endl;
    ss << "fMinNofHitsInArea:  Int_t  " << fMinNofHitsInArea << endl;
    ss << "fUsedHitsAllCut:  Float_t  " << fUsedHitsAllCut << endl;
    ss << "fRmsCoeffCOP:  Float_t  " << fRmsCoeffCOP << endl;
    ss << "fMaxCutCOP:  Float_t  " << fMaxCutCOP << endl;
    ss << "##############################################################################" << endl;
    return ss.str();
}
 hrich700ringfinderpar.cc:1  hrich700ringfinderpar.cc:2  hrich700ringfinderpar.cc:3  hrich700ringfinderpar.cc:4  hrich700ringfinderpar.cc:5  hrich700ringfinderpar.cc:6  hrich700ringfinderpar.cc:7  hrich700ringfinderpar.cc:8  hrich700ringfinderpar.cc:9  hrich700ringfinderpar.cc:10  hrich700ringfinderpar.cc:11  hrich700ringfinderpar.cc:12  hrich700ringfinderpar.cc:13  hrich700ringfinderpar.cc:14  hrich700ringfinderpar.cc:15  hrich700ringfinderpar.cc:16  hrich700ringfinderpar.cc:17  hrich700ringfinderpar.cc:18  hrich700ringfinderpar.cc:19  hrich700ringfinderpar.cc:20  hrich700ringfinderpar.cc:21  hrich700ringfinderpar.cc:22  hrich700ringfinderpar.cc:23  hrich700ringfinderpar.cc:24  hrich700ringfinderpar.cc:25  hrich700ringfinderpar.cc:26  hrich700ringfinderpar.cc:27  hrich700ringfinderpar.cc:28  hrich700ringfinderpar.cc:29  hrich700ringfinderpar.cc:30  hrich700ringfinderpar.cc:31  hrich700ringfinderpar.cc:32  hrich700ringfinderpar.cc:33  hrich700ringfinderpar.cc:34  hrich700ringfinderpar.cc:35  hrich700ringfinderpar.cc:36  hrich700ringfinderpar.cc:37  hrich700ringfinderpar.cc:38  hrich700ringfinderpar.cc:39  hrich700ringfinderpar.cc:40  hrich700ringfinderpar.cc:41  hrich700ringfinderpar.cc:42  hrich700ringfinderpar.cc:43  hrich700ringfinderpar.cc:44  hrich700ringfinderpar.cc:45  hrich700ringfinderpar.cc:46  hrich700ringfinderpar.cc:47  hrich700ringfinderpar.cc:48  hrich700ringfinderpar.cc:49  hrich700ringfinderpar.cc:50  hrich700ringfinderpar.cc:51  hrich700ringfinderpar.cc:52  hrich700ringfinderpar.cc:53  hrich700ringfinderpar.cc:54  hrich700ringfinderpar.cc:55  hrich700ringfinderpar.cc:56  hrich700ringfinderpar.cc:57  hrich700ringfinderpar.cc:58  hrich700ringfinderpar.cc:59  hrich700ringfinderpar.cc:60  hrich700ringfinderpar.cc:61  hrich700ringfinderpar.cc:62  hrich700ringfinderpar.cc:63  hrich700ringfinderpar.cc:64  hrich700ringfinderpar.cc:65  hrich700ringfinderpar.cc:66  hrich700ringfinderpar.cc:67  hrich700ringfinderpar.cc:68  hrich700ringfinderpar.cc:69  hrich700ringfinderpar.cc:70  hrich700ringfinderpar.cc:71  hrich700ringfinderpar.cc:72  hrich700ringfinderpar.cc:73  hrich700ringfinderpar.cc:74  hrich700ringfinderpar.cc:75  hrich700ringfinderpar.cc:76  hrich700ringfinderpar.cc:77  hrich700ringfinderpar.cc:78  hrich700ringfinderpar.cc:79  hrich700ringfinderpar.cc:80  hrich700ringfinderpar.cc:81  hrich700ringfinderpar.cc:82  hrich700ringfinderpar.cc:83  hrich700ringfinderpar.cc:84  hrich700ringfinderpar.cc:85  hrich700ringfinderpar.cc:86  hrich700ringfinderpar.cc:87  hrich700ringfinderpar.cc:88  hrich700ringfinderpar.cc:89  hrich700ringfinderpar.cc:90  hrich700ringfinderpar.cc:91  hrich700ringfinderpar.cc:92  hrich700ringfinderpar.cc:93  hrich700ringfinderpar.cc:94  hrich700ringfinderpar.cc:95  hrich700ringfinderpar.cc:96  hrich700ringfinderpar.cc:97  hrich700ringfinderpar.cc:98  hrich700ringfinderpar.cc:99  hrich700ringfinderpar.cc:100  hrich700ringfinderpar.cc:101  hrich700ringfinderpar.cc:102  hrich700ringfinderpar.cc:103  hrich700ringfinderpar.cc:104  hrich700ringfinderpar.cc:105  hrich700ringfinderpar.cc:106  hrich700ringfinderpar.cc:107  hrich700ringfinderpar.cc:108  hrich700ringfinderpar.cc:109  hrich700ringfinderpar.cc:110  hrich700ringfinderpar.cc:111  hrich700ringfinderpar.cc:112  hrich700ringfinderpar.cc:113  hrich700ringfinderpar.cc:114  hrich700ringfinderpar.cc:115  hrich700ringfinderpar.cc:116  hrich700ringfinderpar.cc:117  hrich700ringfinderpar.cc:118  hrich700ringfinderpar.cc:119  hrich700ringfinderpar.cc:120  hrich700ringfinderpar.cc:121  hrich700ringfinderpar.cc:122  hrich700ringfinderpar.cc:123  hrich700ringfinderpar.cc:124  hrich700ringfinderpar.cc:125  hrich700ringfinderpar.cc:126  hrich700ringfinderpar.cc:127  hrich700ringfinderpar.cc:128  hrich700ringfinderpar.cc:129  hrich700ringfinderpar.cc:130  hrich700ringfinderpar.cc:131  hrich700ringfinderpar.cc:132  hrich700ringfinderpar.cc:133  hrich700ringfinderpar.cc:134  hrich700ringfinderpar.cc:135  hrich700ringfinderpar.cc:136  hrich700ringfinderpar.cc:137  hrich700ringfinderpar.cc:138  hrich700ringfinderpar.cc:139  hrich700ringfinderpar.cc:140  hrich700ringfinderpar.cc:141  hrich700ringfinderpar.cc:142  hrich700ringfinderpar.cc:143  hrich700ringfinderpar.cc:144  hrich700ringfinderpar.cc:145  hrich700ringfinderpar.cc:146  hrich700ringfinderpar.cc:147  hrich700ringfinderpar.cc:148  hrich700ringfinderpar.cc:149  hrich700ringfinderpar.cc:150  hrich700ringfinderpar.cc:151  hrich700ringfinderpar.cc:152  hrich700ringfinderpar.cc:153  hrich700ringfinderpar.cc:154  hrich700ringfinderpar.cc:155  hrich700ringfinderpar.cc:156