ROOT logo
//////////////////////////////////////////////////////////////////////////////
//
// $Id: $
//
//*-- Author  : S. Lebedev
//
//_HADES_CLASS_DESCRIPTION
//////////////////////////////////////////////////////////////////////////////
//
//  HRich700RingFinderPar
//
//  This class handles the parameters for HRich700RingFinderHough
//
//////////////////////////////////////////////////////////////////////////////

#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()
{
  // destructor
}

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