code: def get_sitecenteredsoap(obj, first_shell, alphas, betas, rcut=6, nmax=10, lmax=9, all_atomtypes=[]):
      
  
      soap_vector = []
      nnn = len(first_shell)
      center_of_atoms = 1.0 / nnn * np.mean(obj.get_positions()[first_shell], axis = 0)
      #print("center of atoms", center_of_atoms)
      Hpos = [center_of_atoms]
      soap_vector = soapPy.get_soap_locals(obj, Hpos, myAlphas, myBetas, rCut=rcut, NradBas=nmax, Lmax=lmax,crossOver=False, all_atomtypes=all_atomtypes)
      #print(len(soap_vector), soap_vector.shape)
      #print("exemplary soapvalues",soap_vector[0,0], soap_vector[0,1], soap_vector[0,2])
      return soap_vector
docs: Takes cluster structure and nearest neighbour information of a datapoint,
      Returns concatenated soap vectors for each nearest
      neighbour (up to 3). Top, bridge, hollow fill the initial
      zero soap vector from left to right.