15def generateChainConfigs(flags, chainDict, perSig_lengthOfChainConfigs):
16
17 if not chainDict['topo']:
18 log.error('No topo given -> not a bphysics chain...')
19
20 listOfChainDicts = splitChainDict(chainDict)
21
22 listOfChainDefs=[]
23 for subChainDict in listOfChainDicts:
24 subChain = BphysicsChainConfiguration(subChainDict).assembleBphysChain(flags)
25 listOfChainDefs += [subChain]
26
27 log.debug('length of chaindefs %s', len(listOfChainDefs))
28
29 if len(listOfChainDefs) > 1:
30 chainDef, perSig_lengthOfChainConfigs = mergeChainDefs(listOfChainDefs, chainDict, perSig_lengthOfChainConfigs)
31 else:
32 chainDef = listOfChainDefs[0]
33
34 log.debug('ChainDef %s', chainDef)
35 return chainDef, perSig_lengthOfChainConfigs