• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

BCParameter.cxx

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2008-2012, Daniel Kollar and Kevin Kroeninger.
00003  * All rights reserved.
00004  *
00005  * For the licensing terms see doc/COPYING.
00006  */
00007 
00008 // ---------------------------------------------------------
00009 
00010 #include <iostream>
00011 #include <fstream>
00012 
00013 #include "BCParameter.h"
00014 
00015 // ---------------------------------------------------------
00016 
00017 BCParameter::BCParameter()
00018 {
00019    fName       = "parameter";
00020    fLowerLimit = 0.;
00021    fUpperLimit = 1.;
00022    fNuisance   = 0;
00023 }
00024 
00025 // ---------------------------------------------------------
00026 
00027 BCParameter::BCParameter(const char * name, double lowerlimit, double upperlimit)
00028 {
00029    fName       = "parameter";
00030    fLowerLimit = 0.;
00031    fUpperLimit = 1.;
00032    fNuisance   = 0;
00033 
00034    fName       = name;
00035    fLowerLimit = lowerlimit;
00036    fUpperLimit = upperlimit;
00037 }
00038 
00039 // ---------------------------------------------------------
00040 
00041 BCParameter::BCParameter(const BCParameter & parameter)
00042 {
00043    fName       = parameter.fName;
00044    fIndex      = parameter.fIndex;
00045    fLowerLimit = parameter.fLowerLimit;
00046    fUpperLimit = parameter.fUpperLimit;
00047    fNuisance   = parameter.fNuisance;
00048 }
00049 
00050 // ---------------------------------------------------------
00051 
00052 BCParameter & BCParameter::operator = (const BCParameter & parameter)
00053 {
00054    fName       = parameter.fName;
00055    fIndex      = parameter.fIndex;
00056    fLowerLimit = parameter.fLowerLimit;
00057    fUpperLimit = parameter.fUpperLimit;
00058    fNuisance   = parameter.fNuisance;
00059 
00060    // return this
00061    return *this;
00062 }
00063 
00064 // ---------------------------------------------------------
00065 
00066 BCParameter::~BCParameter()
00067 {}
00068 
00069 // ---------------------------------------------------------
00070 
00071 void BCParameter::PrintSummary()
00072 {
00073    std::cout
00074       <<"       > Parameter   : "<< fName << std::endl
00075       <<"         Index       : "<< fIndex << std::endl
00076       <<"         Lower Limit : "<< fLowerLimit << std::endl
00077       <<"         Upper Limit : "<< fUpperLimit << std::endl
00078       <<"         Nuisance    : ";
00079 
00080    if(fNuisance)
00081       std::cout<<"Yes"<<std::endl;
00082    else
00083       std::cout<<"No"<<std::endl;
00084 
00085    std::cout << std::endl;
00086 }
00087 
00088 // ---------------------------------------------------------
00089 
00090 bool BCParameter::IsAtLimit(double value)
00091 {
00092    if (fLowerLimit == fUpperLimit)
00093       return false;
00094 
00095    if ( ( (value-fLowerLimit)*(value-fLowerLimit)/fLowerLimit/fLowerLimit <= 1e-10) ||
00096          ( (value-fUpperLimit)*(value-fUpperLimit)/fUpperLimit/fUpperLimit <= 1e-10))
00097       return true;
00098    else
00099       return false;
00100 }
00101 
00102 // ---------------------------------------------------------

Generated by  doxygen 1.7.1