def combineClusters(self,startwert='',node='Cluster'):
     #combine clusters
     #create lists for cartesian product
     if self.clusterTree.baum.get_children(node) == ():
         #am Ende eines Astes
         #print(startwert)
         elements, charge = ITFClusterLib.parseFormula(startwert)
         #print(elements)
         oneString = ITFClusterLib.oneString(elements, charge)
         #print(oneString)
         if oneString in self.combinedClusters.keys():
             print('Cluster already in list')
         else:
             #create cluster
             knoten = self.nodes[node]
             temp = knoten.createClusters(elements)
             #multiply charged ions: divide masses by charge
             temp[:,0] = temp[:,0]/float(charge)
             self.combinedClusters[oneString] = temp
             # speichern in IFC
             self.dataIFC.addDist(temp,oneString)
         return
     for child in self.clusterTree.baum.get_children(node):
         knoten = self.nodes[child]
         if node == 'Cluster': #äusserster Knoten
             temp = self.clusterTree.baum.item(child,'text')
             temp = temp.split('{')
             startwert = temp[3].strip('}')
         for j in knoten.elements:
             #print(j)
             if j > 1:
                 self.combineClusters(startwert+'['+
                     knoten.sumFormula+']'+str(j),child)
             elif j == 1:
                 self.combineClusters(startwert+'['+knoten.sumFormula+']',child)
             else:
                 self.combineClusters(startwert,child)