PatternOrClassMisalignmentConfiguration.java

  1. /**
  2.  * Copyright (c) 2014 European Organisation for Nuclear Research (CERN), All Rights Reserved.
  3.  */

  4. package cern.accsoft.steering.jmad.domain.misalign;

  5. /**
  6.  * This class gives an access to multiple misalignment of the provided class/pattern with provided gauss distribution
  7.  * for DX and DY ONLY!
  8.  *
  9.  * @author agorzaws
  10.  */
  11. public class PatternOrClassMisalignmentConfiguration extends MisalignmentConfiguration {

  12.     private final String classToMisalign;
  13.     private final double gaussianDistribution;
  14.     private final int seed;

  15.     /**
  16.      * Default constructor that provides 2.5sigma for gaussian distribution
  17.      *
  18.      * @param pattern
  19.      * @param classToMisalign
  20.      * @param seed
  21.      */
  22.     public PatternOrClassMisalignmentConfiguration(String pattern, String classToMisalign, int seed) {
  23.         super(pattern);
  24.         this.classToMisalign = classToMisalign;
  25.         this.gaussianDistribution = 2.5;
  26.         this.seed = seed;
  27.     }

  28.     /**
  29.      * @param pattern
  30.      * @param classToMisalign
  31.      * @param seed
  32.      * @param gaussianDistribution
  33.      */
  34.     public PatternOrClassMisalignmentConfiguration(String pattern, String classToMisalign, int seed,
  35.             double gaussianDistribution) {
  36.         super(pattern);
  37.         this.classToMisalign = classToMisalign;
  38.         this.gaussianDistribution = gaussianDistribution;
  39.         this.seed = seed;
  40.     }

  41.     public String getElementClass() {
  42.         return classToMisalign;
  43.     }

  44.     public double getGaussianDistribution() {
  45.         return gaussianDistribution;
  46.     }

  47.     public int getSeed() {
  48.         return seed;
  49.     }

  50.     @Override
  51.     public String toString() {
  52.         return "[classToMisalign=" + classToMisalign + ", gaussianDistribution=" + gaussianDistribution + ", seed="
  53.                 + seed + ", getElementName()=" + getElementName() + "]";
  54.     }

  55. }