00001
00002 #include "DetectorDescription/ExprAlgo/interface/AlgoImpl.h"
00003 #include "DetectorDescription/ExprAlgo/interface/AlgoPos.h"
00004
00005 AlgoImpl::AlgoImpl(AlgoPos * al, std::string label)
00006 : ParS_(al->ParS_),
00007 ParE_(al->ParE_),
00008 start_(al->start_), end_(al->end_), incr_(al->incr_),
00009 curr_(al->curr_), count_(al->count_),
00010 terminate_(al->terminate_), err_(al->err_),
00011 label_(label)
00012 {
00013
00014 al->registerAlgo(this);
00015 }
00016
00017
00018 AlgoImpl::~AlgoImpl()
00019 { }
00020
00021
00022 int AlgoImpl::copyno() const
00023 {
00024 return incr_ ? curr_ : count_ ;
00025 }
00026
00027
00028 void AlgoImpl::terminate()
00029 {
00030 terminate_ = true;
00031 }
00032
00033
00034 void AlgoImpl::checkTermination()
00035 {
00036 terminate();
00037 }
00038
00039 #include <cstdio>
00040 std::string AlgoImpl::d2s(double x)
00041 {
00042 char buffer [25];
00043 sprintf(buffer,"%g",x);
00044 return std::string(buffer);
00045 }
00046