Commit 870c9b421626021a1fa2a1ffd2d2f8d5a8a855bb

Authored by Furkan
1 parent fa465d7a

#11372 - Integration part for new histo1D functions - Done

src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php
@@ -651,7 +651,11 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -651,7 +651,11 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
651 break; 651 break;
652 case 'histogram1d': 652 case 'histogram1d':
653 $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']); 653 $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']);
654 - $this->unmarshallHistogram1D($paramData, $requestParamsNode, $plotNode, $paramNode, $paramInfo['indexes']); 654 + if(!empty($paramData->{'param-drawing-object'}->{'histotype-param'}))
  655 + $paramYInfo = $this->paramManager->addExistingParam($paramData->{'param-drawing-object'}->{'histotype-param'}, $this->paramsData);
  656 + else
  657 + $paramYInfo = NULL;
  658 + $this->unmarshallHistogram1D($paramData, $requestParamsNode, $plotNode, $paramNode, $paramInfo['indexes'],$paramYInfo);
655 break; 659 break;
656 case 'orbit-serie': 660 case 'orbit-serie':
657 $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']); 661 $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']);
@@ -790,7 +794,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -790,7 +794,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
790 } 794 }
791 } 795 }
792 796
793 - protected function unmarshallHistogram1D($paramData, $requestParamsNode, $plotNode, $paramNode, $indexes) 797 + protected function unmarshallHistogram1D($paramData, $requestParamsNode, $plotNode, $paramNode, $indexes, $paramYInfo)
794 { 798 {
795 $histogram1DNodes = array(); 799 $histogram1DNodes = array();
796 if ($paramData->{'param-drawing-object'}->{'histo1d-color'} == "none") { 800 if ($paramData->{'param-drawing-object'}->{'histo1d-color'} == "none") {
@@ -823,7 +827,23 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -823,7 +827,23 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
823 827
824 // histotype, function 828 // histotype, function
825 $histogram1DNode->getHistotype()->set1DFunction($paramData->{'param-drawing-object'}->{'histo1d-function'}); 829 $histogram1DNode->getHistotype()->set1DFunction($paramData->{'param-drawing-object'}->{'histo1d-function'});
  830 + if(($paramData->{'param-drawing-object'}->{'histo1d-function'} != "density") &&
  831 + ($paramData->{'param-drawing-object'}->{'histo1d-function'} != "normdensity")){
  832 + // paramId
  833 + if (empty($paramYInfo['id'])) {
  834 + throw new Exception('Y parameter must be defined to apply function.');
  835 + }
  836 + $requestParamsNode->addParam($paramYInfo['id']);
  837 + $histogram1DNode->getHistotype()->setParamId($paramYInfo['id']);
826 838
  839 + // index
  840 + if (count($paramYInfo['indexes']) == 0)
  841 + $histogram1DNode->getHistotype()->setIndex(-1);
  842 + else if (count($paramYInfo['indexes']) == 1)
  843 + $histogram1DNode->getHistotype()->setIndex($paramYInfo['indexes'][0]);
  844 + else
  845 + throw new Exception('Y parameter for serie must be a component.');
  846 + }
827 } 847 }
828 } 848 }
829 849
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotHistogram1DSerieNodeClass.php
@@ -14,6 +14,8 @@ define ("REQUESTOUTPUTPLOTBINS_STAIRS", "stairs"); @@ -14,6 +14,8 @@ define ("REQUESTOUTPUTPLOTBINS_STAIRS", "stairs");
14 14
15 define ("REQUESTOUTPUTPLOTHISTOTYPE_NAME", "histotype"); 15 define ("REQUESTOUTPUTPLOTHISTOTYPE_NAME", "histotype");
16 define ("REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION", "type"); 16 define ("REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION", "type");
  17 +define ("REQUESTOUTPUTPLOTHISTOTYPE_PARAMID", "paramId");
  18 +define ("REQUESTOUTPUTPLOTHISTOTYPE_INDEX", "index");
17 /** 19 /**
18 * @class RequestOutputPlotHistogram1DSerieNodeClass 20 * @class RequestOutputPlotHistogram1DSerieNodeClass
19 * @brief Definition of a histogram1D for a plot of a plot request 21 * @brief Definition of a histogram1D for a plot of a plot request
@@ -57,6 +59,20 @@ class RequestOutputPlotHistotype1DNodeClass extends NodeClass @@ -57,6 +59,20 @@ class RequestOutputPlotHistotype1DNodeClass extends NodeClass
57 public function get1DFunction(){ 59 public function get1DFunction(){
58 return $this->getAttribute(REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION); 60 return $this->getAttribute(REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION);
59 } 61 }
  62 +
  63 + public function setParamId($paramId){
  64 + $this->setAttribute(REQUESTOUTPUTPLOTHISTOTYPE_PARAMID, $paramId);
  65 + }
  66 + public function getParamId(){
  67 + return $this->getAttribute(REQUESTOUTPUTPLOTHISTOTYPE_PARAMID);
  68 + }
  69 +
  70 + public function setIndex($index){
  71 + $this->setAttribute(REQUESTOUTPUTPLOTHISTOTYPE_INDEX, $index);
  72 + }
  73 + public function getIndex(){
  74 + return $this->getAttribute(REQUESTOUTPUTPLOTHISTOTYPE_INDEX);
  75 + }
60 } 76 }
61 77
62 class RequestOutputPlotHistogram1DSerieNodeClass extends RequestOutputPlotBaseSerieNodeClass 78 class RequestOutputPlotHistogram1DSerieNodeClass extends RequestOutputPlotBaseSerieNodeClass