def test_solenoid(self): l = 3.5 pi = 3.14 ratio = 0.79 sol = madseq.Element(None, 'solenoid', odicti(Ks=pi, L=l)) scaled = madseq.rescale_makethin(sol, ratio) self.assertEqual(scaled['ksi'], pi*l*ratio) self.assertEqual(scaled['lrad'], l*ratio) self.assertEqual(scaled.type, 'solenoid')
def test_quadrupole(self): l = 3.5 pi = 3.14 ratio = 0.47 quad = madseq.Element(None, 'QUADRUPOLE', odicti(K1=pi, L=l)) scaled = madseq.rescale_makethin(quad, ratio) self.assertEqual(scaled['KNL'], [0, pi*l*ratio]) self.assertEqual(scaled['lrad'], l * ratio) self.assertEqual(scaled.get('K1'), None) self.assertEqual(scaled.type, 'multipole')
def test_sbend(self): l = 3.5 pi = 3.14 ratio = 0.3 sbend = madseq.Element(None, 'SBEND', odicti(angle=pi, hgap=1, L=l)) scaled = madseq.rescale_makethin(sbend, ratio) self.assertEqual(scaled['KNL'], [pi*ratio]) self.assertEqual(scaled['lrad'], l * ratio) self.assertEqual(scaled.get('angle'), None) self.assertEqual(scaled.get('hgap'), None) self.assertEqual(scaled.type, 'multipole')