ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/PlotScript/TheLimits.cc
(Generate patch)

Comparing UserCode/auterman/SusyScan/PlotScript/TheLimits.cc (file contents):
Revision 1.8 by auterman, Sun Feb 13 14:39:33 2011 UTC vs.
Revision 1.9 by auterman, Fri May 20 07:39:34 2011 UTC

# Line 169 | Line 169 | void TheLimits::OverwriteLimits(std::str
169  
170   }
171  
172 + void TheLimits::ExpandGrid(int s)
173 + {
174 +  std::vector<SusyScan*> new_grid;
175 +  for (std::vector<SusyScan*>::iterator it=_scan.begin(); it!=_scan.end(); ++it){
176 +    double x=9999, y=9999;
177 +    std::vector<SusyScan*>::iterator next_x=_scan.end(), next_y=_scan.end();
178 +    for (std::vector<SusyScan*>::iterator nx=_scan.begin(); nx!=_scan.end(); ++nx)
179 +      if ((*it)->Mzero<(*nx)->Mzero && fabs((*it)->Mzero-(*nx)->Mzero)<x) {
180 +        x=fabs((*it)->Mzero-(*nx)->Mzero);
181 +        next_x=nx;
182 +      }
183 +    for (std::vector<SusyScan*>::iterator ny=_scan.begin(); ny!=_scan.end(); ++ny)
184 +      if ( (*it)->Mzero==(*ny)->Mzero && (*it)->Mhalf<(*ny)->Mhalf && fabs((*it)->Mhalf-(*ny)->Mhalf)<y) {
185 +        y=fabs((*it)->Mhalf-(*ny)->Mhalf);
186 +        next_y=ny;
187 +      }
188 +    if (next_y!=_scan.end()) {  
189 +        SusyScan*  n = new SusyScan((**it + **next_y) * 0.5);
190 +        new_grid.push_back( n );
191 +        //std::cout
192 +        //<< "l:"<<(*it)->Mzero<<","<<(*it)->Mhalf
193 +        //<< " <>"<<    n->Mzero<<","<<n->Mhalf
194 +        //<< " <> r:"<<(*next_y)->Mzero<<","<<(*next_y)->Mhalf
195 +        //<<std::endl;
196 +    }  
197 +      
198 +  }
199 +  _scan.insert(_scan.end(), new_grid.begin(), new_grid.end());
200 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines