def doStrategySuccess(self, _edPlugin=None):
     EDVerbose.DEBUG("EDPluginControlCharForReorientationv2_0.doStrategySuccess")
     self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doStrategySuccess")
     xsDataResultStrategy = self.edPluginControlStrategy.getDataOutput()
     self.xsDataResultCharacterisation.setStrategyResult(xsDataResultStrategy)
     self.suggestedStrategy = None
     self.suggestedOrientation = None
     self.newpossibleOrientations = None
     if self.edPluginControlStrategy.hasDataOutput("possibleOrientations"):
         EDVerbose.DEBUG("EDPluginControlCharForReorientationv2_0.doStrategySuccess: With possible orientations")
         #get the next orientation
         #create new ref data coll plan at new orirntation
         #remove the currently offered orientation from the list            
         Orients = self.edPluginControlStrategy.getDataOutput("possibleOrientations")[0].getPossible_orientation()
         if Orients != []:
             omega = Orients[0].getOmega()
             kappa = Orients[0].getKappa()
             phi = Orients[0].getPhi()
             self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(xsDataResultStrategy,self.mxv1InputCharacterisation.getDataCollection(),omega,kappa,phi)
             allPossibleOrientations = self.edPluginControlStrategy.getDataOutput("possibleOrientations")[0]
             self.suggestedOrientation = allPossibleOrientations.possible_orientation[0]
             self.newpossibleOrientations=EDHandlerXSDataSTACv2_0.removeOrientation(allPossibleOrientations,kappa,phi)
     if self.suggestedStrategy is None:
         EDVerbose.DEBUG("EDPluginControlCharForReorientationv2_0.doStrategySuccess: Without possible orientations")
         #set the orientation for the actual strategy
         #we suggest the currently calculated strategy
         #and we have to add the actual orientation
         dc = self.mxv2DataCollection
         omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting()
         [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting()
         self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(xsDataResultStrategy,'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue(), "NO_POSSIBLE_ORIENTATIONS")
 def doCharacterisationSuccess(self, _edPlugin=None):
     self.DEBUG("EDPluginControlCharAtNewOrientationv2_0.doCharacterisationSuccess")
     self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess")
     self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.dataOutput
     self.suggestedStrategy=None
     simple=False
     try:
         #check if there is anything to compare to
     
         #compare; for now, we only check the resolution
         resRef = 900
         for collPlan in self.mxv1ResultCharacterisation_Reference.getStrategyResult().getCollectionPlan():
             resRef = min(resRef, collPlan.getStrategySummary().getRankingResolution().getValue())
         resNew = 900
         for collPlan in self.xsDataResultCharacterisation.getStrategyResult().getCollectionPlan():
             resNew = min(resNew, collPlan.getStrategySummary().getRankingResolution().getValue())
         #now, we tolerate 15% loss of resolution
         if resNew > resRef * 1.15:
             #if there is any alternative, take the next one            
             if self.possibleOrientations is not None and self.possibleOrientations.getPossible_orientation() != []:
                 #take it
                 Orients = self.possibleOrientations.getPossible_orientation()
                 omega = Orients[0].getOmega()
                 kappa = Orients[0].getKappa()
                 phi = Orients[0].getPhi()
                 self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),self.mxv1InputCharacterisation.getDataCollection(),omega,kappa,phi)
                 self.newpossibleOrientations=EDHandlerXSDataSTACv2_0.removeOrientation(self.possibleOrientations,kappa,phi)
             else:
                 #otherwise suggest to go back to the initial orientation and follow the reference DC
                 dc = self.mxv2DataCollection_Reference
                 omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting()
                 [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting()
                 self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue())
         else:
             simple=True
     except:
         self.WARNING("Problem in suggesting the strategy")
         simple=True
         raise
     
     if simple:
         #we suggest the currently calculated strategy
         dc = self.mxv2DataCollection
         omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting()
         [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting()
         self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.xsDataResultCharacterisation.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue())
     
     #add the new outputs
     self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation(self.xsDataResultCharacterisation)
     self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation_Reference(self.mxv1ResultCharacterisation_Reference)
     if self.suggestedStrategy is not None:
         self.setDataOutput(self.suggestedStrategy,"SuggestedStrategy")
         self.xsDataResultCharacterisationv2_0.setSuggestedStrategy(self.suggestedStrategy)
     if self.newpossibleOrientations is not None:
         self.setDataOutput(self.newpossibleOrientations,"possibleOrientations")
         self.xsDataResultCharacterisationv2_0.setPossibleOrientations(self.newpossibleOrientations)
 def doCharacterisationSuccess(self, _edPlugin=None):
     EDVerbose.DEBUG("EDPluginControlCharAtNewOrientationv2_0.doCharacterisationSuccess")
     self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess")
     self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.dataOutput
     self.suggestedStrategy=None
     simple=False
     try:
         #check if there is anything to compare to
     
         #compare; for now, we only check the resolution
         resRef = 900
         for collPlan in self.mxv1ResultCharacterisation_Reference.getStrategyResult().getCollectionPlan():
             resRef = min(resRef, collPlan.getStrategySummary().getRankingResolution().getValue())
         resNew = 900
         for collPlan in self.xsDataResultCharacterisation.getStrategyResult().getCollectionPlan():
             resNew = min(resNew, collPlan.getStrategySummary().getRankingResolution().getValue())
         #now, we tolerate 15% loss of resolution
         if resNew > resRef * 1.15:
             #if there is any alternative, take the next one            
             if self.possibleOrientations is not None and self.possibleOrientations.getPossible_orientation() != []:
                 #take it
                 Orients = self.possibleOrientations.getPossible_orientation()
                 omega = Orients[0].getOmega()
                 kappa = Orients[0].getKappa()
                 phi = Orients[0].getPhi()
                 self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),self.mxv1InputCharacterisation.getDataCollection(),omega,kappa,phi)
                 self.newpossibleOrientations=EDHandlerXSDataSTACv2_0.removeOrientation(self.possibleOrientations,kappa,phi)
             else:
                 #otherwise suggest to go back to the initial orientation and follow the reference DC
                 dc = self.mxv2DataCollection_Reference
                 omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting()
                 [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting()
                 self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue())
         else:
             simple=True
     except:
         EDVerbose.WARNING("Problem in suggesting the strategy")
         simple=True
         raise
     
     if simple:
         #we suggest the currently calculated strategy
         dc = self.mxv2DataCollection
         omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting()
         [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting()
         self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.xsDataResultCharacterisation.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue())
     
     #add the new outputs
     self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation(self.xsDataResultCharacterisation)
     self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation_Reference(self.mxv1ResultCharacterisation_Reference)
     if self.suggestedStrategy is not None:
         self.setDataOutput(self.suggestedStrategy,"SuggestedStrategy")
         self.xsDataResultCharacterisationv2_0.setSuggestedStrategy(self.suggestedStrategy)
     if self.newpossibleOrientations is not None:
         self.setDataOutput(self.newpossibleOrientations,"possibleOrientations")
         self.xsDataResultCharacterisationv2_0.setPossibleOrientations(self.newpossibleOrientations)
 def doStrategySuccess(self, _edPlugin=None):
     EDVerbose.DEBUG(
         "EDPluginControlCharForReorientationv2_0.doStrategySuccess")
     self.retrieveSuccessMessages(
         _edPlugin, "EDPluginControlCharacterisationv2_0.doStrategySuccess")
     xsDataResultStrategy = self.edPluginControlStrategy.getDataOutput()
     self.xsDataResultCharacterisation.setStrategyResult(
         xsDataResultStrategy)
     self.suggestedStrategy = None
     self.suggestedOrientation = None
     self.newpossibleOrientations = None
     if self.edPluginControlStrategy.hasDataOutput("possibleOrientations"):
         EDVerbose.DEBUG(
             "EDPluginControlCharForReorientationv2_0.doStrategySuccess: With possible orientations"
         )
         #get the next orientation
         #create new ref data coll plan at new orirntation
         #remove the currently offered orientation from the list
         Orients = self.edPluginControlStrategy.getDataOutput(
             "possibleOrientations")[0].getPossible_orientation()
         if Orients != []:
             omega = Orients[0].getOmega()
             kappa = Orients[0].getKappa()
             phi = Orients[0].getPhi()
             self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(
                 xsDataResultStrategy,
                 self.mxv1InputCharacterisation.getDataCollection(), omega,
                 kappa, phi)
             allPossibleOrientations = self.edPluginControlStrategy.getDataOutput(
                 "possibleOrientations")[0]
             self.suggestedOrientation = allPossibleOrientations.possible_orientation[
                 0]
             self.newpossibleOrientations = EDHandlerXSDataSTACv2_0.removeOrientation(
                 allPossibleOrientations, kappa, phi)
     if self.suggestedStrategy is None:
         EDVerbose.DEBUG(
             "EDPluginControlCharForReorientationv2_0.doStrategySuccess: Without possible orientations"
         )
         #set the orientation for the actual strategy
         #we suggest the currently calculated strategy
         #and we have to add the actual orientation
         dc = self.mxv2DataCollection
         omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting(
         ).getBaseaxissetting()
         [kappa, phi] = dc.getXSSubWedge(
         )[0].getXSRotationalGoniostatSetting().getAxissetting()
         self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(
             xsDataResultStrategy, '%.2f' % omega.getValue(),
             '%.2f' % kappa.getValue(), '%.2f' % phi.getValue(),
             "NO_POSSIBLE_ORIENTATIONS")
    def doCharacterisationSuccess(self, _edPlugin=None):
        EDVerbose.DEBUG("EDPluginControlCharAtNewOrientationv2_0.doCharacterisationSuccess")
        self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess")
        self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.getDataOutput()
        self.suggestedStrategy=None
        simple=False
        try:
            #check if there is anything to compare to
        
            #compare; for now, we only check the resolution
            resRef = 900
            for collPlan in self.mxv1ResultCharacterisation_Reference.getStrategyResult().getCollectionPlan():
                resRef = min(resRef, collPlan.getStrategySummary().getRankingResolution().getValue())
            resNew = 900
            for collPlan in self.xsDataResultCharacterisation.getStrategyResult().getCollectionPlan():
                resNew = min(resNew, collPlan.getStrategySummary().getRankingResolution().getValue())
            #now, we tolerate 15% loss of resolution
            if resNew > resRef * 1.15:
                #if there is any alternative, take the next one            
                if self.possibleOrientations is not None and self.possibleOrientations.getPossible_orientation() != []:
                    #take it
#                    tol=0.1
#                    #so we will copy the strategy of collecting the reference images inputed to here but at the new orientation
#                    #get the full strategy from the Reference
#                    self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self.getDataInput("mxv1ResultCharacterisation_Reference")[0].getStrategyResult().marshal())
#                    #take only the first CollectionPlan
#                    self.suggestedStrategy.setCollectionPlan([self.suggestedStrategy.getCollectionPlan()[0]])
#                    #modify the DC part taking it from the input 
#                    self.suggestedStrategy.getCollectionPlan()[0].setCollectionStrategy(self.getDataInput().getDataCollection())
#                    #and modify the Orientation
                    Orients = self.possibleOrientations.getPossible_orientation()
                    omega = Orients[0].getOmega()
                    kappa = Orients[0].getKappa()
                    phi = Orients[0].getPhi()
#                    for dcplan in self.suggestedStrategy.getCollectionPlan():
#                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "OMEGA=", omega))
#                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "KAPPA=", kappa))
#                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "PHI=", phi))
#                    #finally take the suggested new orientation out of the list of further possible ones
#                    self.newpossibleOrientations.setPossible_orientation([])
#                    for i in range(1, Orients.__len__()):
#                        if (math.fabs(float(Orients[i].getKappa())-float(kappa))<tol and math.fabs(float(Orients[i].getPhi())-float(phi))<tol):
#                            self.newpossibleOrientations.addPossible_orientation(Orients[i])
                    self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),self.mxv1InputCharacterisation.getDataCollection(),omega,kappa,phi)
                    self.newpossibleOrientations=EDHandlerXSDataSTACv2_0.removeOrientation(self.possibleOrientations,kappa,phi)
                else:
#                    #otherwise suggest to go back to the initial orientation and follow the reference DC
#                    self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self.getDataInput("mxv1ResultCharacterisation_Reference")[0].getStrategyResult().marshal())
#                    #and we have to declare the orientation in Reference to be used
#                    dc = XSDataMXv2.XSDataCollection()
                    dc = self.mxv2DataCollection_Reference
                    omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting()
                    [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting()
#                    for dcplan in self.suggestedStrategy.getCollectionPlan():
#                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "OMEGA=", '%.2f'%omega.getValue()))
#                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "KAPPA=", '%.2f'%kappa.getValue()))
#                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "PHI=", '%.2f'%phi.getValue()))
                    self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue())
            else:
                simple=True
        except:
            EDVerbose.WARNING("Problem in suggesting the strategy")
            simple=True
            raise
        
        if simple:
#            #we suggest the currently calculated strategy
#            self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self._EDPluginControlCharacterisationv1_2__xsDataResultCharacterisation.getStrategyResult().marshal())
#            #and we have to add the actual orientation
#            dc = XSDataMXv2.XSDataCollection()
            dc = self.mxv2DataCollection
            omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting()
            [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting()
#            for dcplan in self.suggestedStrategy.getCollectionPlan():
#                dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"OMEGA=",'%.2f'%omega.getValue()))
#                dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"KAPPA=",'%.2f'%kappa.getValue()))
#                dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"PHI=",'%.2f'%phi.getValue()))
            self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.xsDataResultCharacterisation.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue())
        
        #add the new outputs
        xsDataResultCharacterisationv2_0 = XSDataResultCharacterisationv2_0()
        xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation(self.xsDataResultCharacterisation)
        xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation_Reference(self.mxv1ResultCharacterisation_Reference)
        if self.suggestedStrategy is not None:
            self.setDataOutput(self.suggestedStrategy,"SuggestedStrategy")
            xsDataResultCharacterisationv2_0.setSuggestedStrategy(self.suggestedStrategy)
        if self.newpossibleOrientations is not None:
            self.setDataOutput(self.newpossibleOrientations,"possibleOrientations")
            xsDataResultCharacterisationv2_0.setPossibleOrientations(self.newpossibleOrientations)
            
        self.setDataOutput(xsDataResultCharacterisationv2_0)
    def doCharacterisationSuccess(self, _edPlugin=None):
        EDVerbose.DEBUG(
            "EDPluginControlCharAtNewOrientationv2_0.doCharacterisationSuccess"
        )
        self.retrieveSuccessMessages(
            _edPlugin,
            "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess")
        self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.getDataOutput(
        )
        self.suggestedStrategy = None
        simple = False
        try:
            #check if there is anything to compare to

            #compare; for now, we only check the resolution
            resRef = 900
            for collPlan in self.mxv1ResultCharacterisation_Reference.getStrategyResult(
            ).getCollectionPlan():
                resRef = min(
                    resRef,
                    collPlan.getStrategySummary().getRankingResolution().
                    getValue())
            resNew = 900
            for collPlan in self.xsDataResultCharacterisation.getStrategyResult(
            ).getCollectionPlan():
                resNew = min(
                    resNew,
                    collPlan.getStrategySummary().getRankingResolution().
                    getValue())
            #now, we tolerate 15% loss of resolution
            if resNew > resRef * 1.15:
                #if there is any alternative, take the next one
                if self.possibleOrientations is not None and self.possibleOrientations.getPossible_orientation(
                ) != []:
                    #take it
                    #                    tol=0.1
                    #                    #so we will copy the strategy of collecting the reference images inputed to here but at the new orientation
                    #                    #get the full strategy from the Reference
                    #                    self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self.getDataInput("mxv1ResultCharacterisation_Reference")[0].getStrategyResult().marshal())
                    #                    #take only the first CollectionPlan
                    #                    self.suggestedStrategy.setCollectionPlan([self.suggestedStrategy.getCollectionPlan()[0]])
                    #                    #modify the DC part taking it from the input
                    #                    self.suggestedStrategy.getCollectionPlan()[0].setCollectionStrategy(self.getDataInput().getDataCollection())
                    #                    #and modify the Orientation
                    Orients = self.possibleOrientations.getPossible_orientation(
                    )
                    omega = Orients[0].getOmega()
                    kappa = Orients[0].getKappa()
                    phi = Orients[0].getPhi()
                    #                    for dcplan in self.suggestedStrategy.getCollectionPlan():
                    #                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "OMEGA=", omega))
                    #                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "KAPPA=", kappa))
                    #                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "PHI=", phi))
                    #                    #finally take the suggested new orientation out of the list of further possible ones
                    #                    self.newpossibleOrientations.setPossible_orientation([])
                    #                    for i in range(1, Orients.__len__()):
                    #                        if (math.fabs(float(Orients[i].getKappa())-float(kappa))<tol and math.fabs(float(Orients[i].getPhi())-float(phi))<tol):
                    #                            self.newpossibleOrientations.addPossible_orientation(Orients[i])
                    self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(
                        self.mxv1ResultCharacterisation_Reference.
                        getStrategyResult(),
                        self.mxv1InputCharacterisation.getDataCollection(),
                        omega, kappa, phi)
                    self.newpossibleOrientations = EDHandlerXSDataSTACv2_0.removeOrientation(
                        self.possibleOrientations, kappa, phi)
                else:
                    #                    #otherwise suggest to go back to the initial orientation and follow the reference DC
                    #                    self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self.getDataInput("mxv1ResultCharacterisation_Reference")[0].getStrategyResult().marshal())
                    #                    #and we have to declare the orientation in Reference to be used
                    #                    dc = XSDataMXv2.XSDataCollection()
                    dc = self.mxv2DataCollection_Reference
                    omega = dc.getXSSubWedge(
                    )[0].getXSRotationalGoniostatSetting().getBaseaxissetting(
                    )
                    [kappa, phi] = dc.getXSSubWedge(
                    )[0].getXSRotationalGoniostatSetting().getAxissetting()
                    #                    for dcplan in self.suggestedStrategy.getCollectionPlan():
                    #                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "OMEGA=", '%.2f'%omega.getValue()))
                    #                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "KAPPA=", '%.2f'%kappa.getValue()))
                    #                        dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "PHI=", '%.2f'%phi.getValue()))
                    self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(
                        self.mxv1ResultCharacterisation_Reference.
                        getStrategyResult(), '%.2f' % omega.getValue(),
                        '%.2f' % kappa.getValue(), '%.2f' % phi.getValue())
            else:
                simple = True
        except:
            EDVerbose.WARNING("Problem in suggesting the strategy")
            simple = True
            raise

        if simple:
            #            #we suggest the currently calculated strategy
            #            self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self._EDPluginControlCharacterisationv1_2__xsDataResultCharacterisation.getStrategyResult().marshal())
            #            #and we have to add the actual orientation
            #            dc = XSDataMXv2.XSDataCollection()
            dc = self.mxv2DataCollection
            omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting(
            ).getBaseaxissetting()
            [kappa, phi] = dc.getXSSubWedge(
            )[0].getXSRotationalGoniostatSetting().getAxissetting()
            #            for dcplan in self.suggestedStrategy.getCollectionPlan():
            #                dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"OMEGA=",'%.2f'%omega.getValue()))
            #                dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"KAPPA=",'%.2f'%kappa.getValue()))
            #                dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"PHI=",'%.2f'%phi.getValue()))
            self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(
                self.xsDataResultCharacterisation.getStrategyResult(),
                '%.2f' % omega.getValue(), '%.2f' % kappa.getValue(),
                '%.2f' % phi.getValue())

        #add the new outputs
        xsDataResultCharacterisationv2_0 = XSDataResultCharacterisationv2_0()
        xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation(
            self.xsDataResultCharacterisation)
        xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation_Reference(
            self.mxv1ResultCharacterisation_Reference)
        if self.suggestedStrategy is not None:
            self.setDataOutput(self.suggestedStrategy, "SuggestedStrategy")
            xsDataResultCharacterisationv2_0.setSuggestedStrategy(
                self.suggestedStrategy)
        if self.newpossibleOrientations is not None:
            self.setDataOutput(self.newpossibleOrientations,
                               "possibleOrientations")
            xsDataResultCharacterisationv2_0.setPossibleOrientations(
                self.newpossibleOrientations)

        self.setDataOutput(xsDataResultCharacterisationv2_0)