diff --git a/segmentmodel.py b/segmentmodel.py index 9839fedea3a34e639c5bedb4c9b066de77ddb47d..f59f7d91be9706c57ffba6effbb048ece260d831 100644 --- a/segmentmodel.py +++ b/segmentmodel.py @@ -1280,14 +1280,32 @@ class SegmentModel(ArbdModel): k = opt.leastsq( fitFun, x0=np.exp(-sep/Lp) ) return k[0][0] * 2*kT*0.00030461742 + def extend(self, other, copy=True): + assert( isinstance(other, SegmentModel) ) + if copy: + for s in other.segments: + self.segments.append(deepcopy(s)) + else: + for s in other.segments: + self.segments.append(s) + self._clear_beads() + + def update(self, segment , copy=False): + assert( isinstance(other, SegmentModel) ) + if copy: + segment = deepcopy(segment) + self.segments.append(segment) + self._clear_beads() + """ Mapping between different resolution models """ def _clear_beads(self): for s in self.segments: s.clear_all() self.clear_all(keep_children=True) + + ## Check that it worked assert( len([b for b in self]) == 0 ) locParticles = [] - # for c,A,B in self.get_connections(): for s in self.segments: for c,A,B in s.get_connections_and_locations(): for l in (A,B):