Subversion Repositories f9daq

Compare Revisions

Ignore whitespace Rev 329 → Rev 330

/belle2/masterclass/js/belle2_def.js
38,6 → 38,51
}
};
 
Blockly.Blocks['particle_combiner3'] = {
init: function() {
this.appendDummyInput()
.appendField("Combine 3 particles");
this.appendValueInput("list1")
.setCheck("particle list")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("Particle 1");
this.appendValueInput("list2")
.setCheck("particle list")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("Particle 2");
this.appendValueInput("list3")
.setCheck("particle list")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("Particle 3");
this.appendDummyInput()
.appendField("Same particle lists?")
.appendField(new Blockly.FieldDropdown([["No", "0"], ["Yes", "1"]]), "sameparticles");
this.appendDummyInput()
.appendField("Set identity to")
.appendField(new Blockly.FieldDropdown([["electron", "ELECTRON"], ["muon", "MUON"], ["pion", "PION"], ["kaon", "KAON"],
["proton", "PROTON"], ["photon", "PHOTON"], ["Phi meson", "PHI"], ["D meson", "D"],
["D* meson", "DSTAR"], ["J/Psi meson", "JPSI"],["B meson","B"], ["Lambda 0","LAMBDA0"]]), "simplepid");
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("Min mass [GeV/c2] :")
.appendField(new Blockly.FieldNumber(0, 0, Infinity, 0.0001), "mass0");
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("Max mass [GeV/c2] :")
.appendField(new Blockly.FieldNumber(0, 0, Infinity, 0.0001), "mass1");
//this.appendValueInput("histogram").setCheck("histogram").appendField("Histogram");
this.appendDummyInput().appendField("Histograms");
this.appendStatementInput("histogram")
.setCheck("histogram");
this.setInputsInline(false);
this.setOutput(true, "particle list");
this.setColour(0);
this.setTooltip('Combine three particles in the new particle by making combinations between particles in three input lists. If the input connector is empty, the full particle list will be used');
this.setHelpUrl('http://belle.jp/');
}
};
 
 
Blockly.Blocks['particle_selector'] = {
init: function() {
this.appendDummyInput()
/belle2/masterclass/js/belle2_gen.js
15,6 → 15,24
return [code, Blockly.JavaScript.ORDER_NONE];
};
 
Blockly.JavaScript['particle_combiner3'] = function(block) {
var value_list1 = Blockly.JavaScript.valueToCode(block, 'list1', Blockly.JavaScript.ORDER_ATOMIC);
if (value_list1.length==0) value_list1='""';
var value_list2 = Blockly.JavaScript.valueToCode(block, 'list2', Blockly.JavaScript.ORDER_ATOMIC);
if (value_list2.length==0) value_list2='""';
var value_list3 = Blockly.JavaScript.valueToCode(block, 'list3', Blockly.JavaScript.ORDER_ATOMIC);
if (value_list3.length==0) value_list3='""';
var dropdown_simplepid = block.getFieldValue('simplepid');
var dropdown_sameparticles = block.getFieldValue('sameparticles');
var number_mass0 = block.getFieldValue('mass0');
var number_mass1 = block.getFieldValue('mass1');
var histograms = Blockly.JavaScript.statementToCode(block, 'histogram');
var code = '{"combiner3":{"list1":' + value_list1 + ',"list2":' + value_list2 + ',"list3":' + value_list3 ;
code += ',"sameparticles":"'+ dropdown_sameparticles +'","pid":"' + dropdown_simplepid ;
code += '","m0":"' + number_mass0 + '","m1":"' + number_mass1 + '","histogram":[' + histograms + ']}}\n';
return [code, Blockly.JavaScript.ORDER_NONE];
};
 
Blockly.JavaScript['particle_selector'] = function(block) {
var value_list1 = Blockly.JavaScript.valueToCode(block, 'list1', Blockly.JavaScript.ORDER_ATOMIC);
if (value_list1.length==0) value_list1='""';