def __init__(self, structure_environments=None,
                 additional_condition=AbstractChemenvStrategy.AC.ONLY_ACB,
                 symmetry_measure_type=AbstractChemenvStrategy.DEFAULT_SYMMETRY_MEASURE_TYPE,
                 dist_ang_area_weight=None,
                 self_csm_weight=None,
                 delta_csm_weight=None,
                 cn_bias_weight=None,
                 angle_weight=None,
                 normalized_angle_distance_weight=None,
                 ce_estimator=DEFAULT_CE_ESTIMATOR
                 ):
        """
        Constructor for the MultiWeightsChemenvStrategy.
        :param structure_environments: StructureEnvironments object containing all the information on the
        coordination of the sites in a structure
        """
        self._additional_condition = additional_condition
        self.dist_ang_area_weight = dist_ang_area_weight
        self.angle_weight = angle_weight
        self.normalized_angle_distance_weight = normalized_angle_distance_weight
        self.self_csm_weight = self_csm_weight
        self.delta_csm_weight = delta_csm_weight
        self.cn_bias_weight = cn_bias_weight
        self.ordered_weights = []
        nb_sets_weights = []
        if dist_ang_area_weight is not None:
            self.ordered_weights.append({'weight': dist_ang_area_weight, 'name': 'DistAngArea'})
            nb_sets_weights.append(dist_ang_area_weight)
        if self_csm_weight is not None:
            self.ordered_weights.append({'weight': self_csm_weight, 'name': 'SelfCSM'})
            nb_sets_weights.append(self_csm_weight)
        if delta_csm_weight is not None:
            self.ordered_weights.append({'weight': delta_csm_weight, 'name': 'DeltaCSM'})
            nb_sets_weights.append(delta_csm_weight)
        if cn_bias_weight is not None:
            self.ordered_weights.append({'weight': cn_bias_weight, 'name': 'CNBias'})
            nb_sets_weights.append(cn_bias_weight)
        if angle_weight is not None:
            self.ordered_weights.append({'weight': angle_weight, 'name': 'Angle'})
            nb_sets_weights.append(angle_weight)
        if normalized_angle_distance_weight is not None:
            self.ordered_weights.append({'weight': normalized_angle_distance_weight, 'name': 'NormalizedAngDist'})
            nb_sets_weights.append(normalized_angle_distance_weight)

        self.ce_estimator = ce_estimator
        self.ce_estimator_ratio_function = CSMInfiniteRatioFunction.from_dict(self.ce_estimator)
        self.ce_estimator_fractions = self.ce_estimator_ratio_function.fractions
        WeightedNbSetChemenvStrategy.__init__(self, structure_environments,
                                              additional_condition=additional_condition,
                                              symmetry_measure_type=symmetry_measure_type,
                                              nb_set_weights=nb_sets_weights,
                                              ce_estimator=ce_estimator)
def __init__ ( self , structure_environments = None , additional_condition = AbstractChemenvStrategy . AC . ONLY_ACB , symmetry_measure_type = AbstractChemenvStrategy . DEFAULT_SYMMETRY_MEASURE_TYPE , dist_ang_area_weight = None , self_csm_weight = None , delta_csm_weight = None , cn_bias_weight = None , angle_weight = None , normalized_angle_distance_weight = None , ce_estimator = DEFAULT_CE_ESTIMATOR ) : self . _additional_condition = additional_condition self . dist_ang_area_weight = dist_ang_area_weight self . angle_weight = angle_weight self . normalized_angle_distance_weight = normalized_angle_distance_weight self . self_csm_weight = self_csm_weight self . delta_csm_weight = delta_csm_weight self . cn_bias_weight = cn_bias_weight self . ordered_weights = [ ] nb_sets_weights = [ ] if dist_ang_area_weight is not None : self . ordered_weights . append ( { 'weight' : dist_ang_area_weight , 'name' : 'DistAngArea' } ) nb_sets_weights . append ( dist_ang_area_weight ) if self_csm_weight is not None : self . ordered_weights . append ( { 'weight' : self_csm_weight , 'name' : 'SelfCSM' } ) nb_sets_weights . append ( self_csm_weight ) if delta_csm_weight is not None : self . ordered_weights . append ( { 'weight' : delta_csm_weight , 'name' : 'DeltaCSM' } ) nb_sets_weights . append ( delta_csm_weight ) if cn_bias_weight is not None : self . ordered_weights . append ( { 'weight' : cn_bias_weight , 'name' : 'CNBias' } ) nb_sets_weights . append ( cn_bias_weight ) if angle_weight is not None : self . ordered_weights . append ( { 'weight' : angle_weight , 'name' : 'Angle' } ) nb_sets_weights . append ( angle_weight ) if normalized_angle_distance_weight is not None : self . ordered_weights . append ( { 'weight' : normalized_angle_distance_weight , 'name' : 'NormalizedAngDist' } ) nb_sets_weights . append ( normalized_angle_distance_weight ) self . ce_estimator = ce_estimator self . ce_estimator_ratio_function = CSMInfiniteRatioFunction . from_dict ( self . ce_estimator ) self . ce_estimator_fractions = self . ce_estimator_ratio_function . fractions WeightedNbSetChemenvStrategy . __init__ ( self , structure_environments , additional_condition = additional_condition , symmetry_measure_type = symmetry_measure_type , nb_set_weights = nb_sets_weights , ce_estimator = ce_estimator )
Constructor for the MultiWeightsChemenvStrategy.
        :param structure_environments: StructureEnvironments object containing all the information on the
        coordination of the sites in a structure