TopHatFitObject.cpp

00001 #include "TopHatFitObject.h"
00002 #include "FitFunctions.h"
00003 #include "Sct/LogicErrors.h"
00004 
00005 #include <TF1.h>
00006 #include <TMath.h>
00007 
00008 using namespace std;
00009 using namespace Sct;
00010 
00011 namespace SctData {
00012     
00016 vector<string> TopHatFitObject::createParNames() {
00017     vector<string> parNames(5);
00018     parNames[0] = "Prefact";
00019     parNames[1] = "MidRise";
00020     parNames[2] = "RiseTime";
00021     parNames[3] = "MidFall";
00022     parNames[4] = "FallTime";
00023     return parNames;
00024 }
00025 
00026 vector<string> TopHatFitObject::parNames = createParNames();    
00027 
00028 TopHatFitObject::TopHatFitObject() : FitObject("tophat", 5, parNames) {
00029 }
00030 
00031 TopHatFitObject::TopHatFitObject(const TF1& f) : FitObject("tophat", 5, parNames, f){
00032 }
00033 
00034 shared_ptr<FitObject> TopHatFitObject::clone() const throw() {
00035     return shared_ptr<FitObject>(new TopHatFitObject(*this));
00036 }
00037 
00038 TopHatFitObject& TopHatFitObject::operator=(const TF1& f) throw(LogicError) {
00039     this->FitObject::operator=(f);
00040     return *this;
00041 }
00042 
00043 // Call the appropriate constructor for making a ROOT TF1 object from this
00044 // TopHatFitObject::
00045 auto_ptr<TF1> TopHatFitObject::makeBasicRootTF1() const throw(LogicError) {
00046     auto_ptr<TF1> r (new ::TF1("tophat", tophat, this->getVarMin(0), this->getVarMax(0), 5));
00047     if (!r.get())
00048         throw IllegalStateError("TopHatFitObject::makeBasicRootTF1()", __FILE__, __LINE__);
00049     return r;
00050 }
00051 
00052 } // end of namespace SctData

Generated on Mon Feb 6 14:01:36 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6