From 5d97a73602fcb1cb10fbb8c52d31eceece571985 Mon Sep 17 00:00:00 2001 From: Chris Maffeo <cmaffeo2@illinois.edu> Date: Tue, 10 Jul 2018 10:58:50 -0500 Subject: [PATCH] Added code to allow segment model to be extended or updated --- segmentmodel.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/segmentmodel.py b/segmentmodel.py index 9839fed..f59f7d9 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): -- GitLab