def all_first_hits_of_coincidences(coincidence_type=None): result = get_or_create_session().query(Coincidence, Hit).join(Event).join(Photon) if coincidence_type is not None: result = result.filter(Coincidence.type == coincidence_type) result = result.join(Hit).filter(Hit.index == 0) return result
def all_hits_group_by_photon(limit=10): return get_or_create_session().query(Photon.hits).limit(limit).all()
def hits_generator(): get_or_create_session().query(Photon.hits)
def all_photon(): return get_or_create_session().query(Photon)
def phton_hits_with_first_hit(limit=None): q = (get_or_create_session().query(Photon, Hit) .filter(Hit.photon_id == Photon.id).filter(Hit.index == 0)) if limit is not None: q = q.limit(limit) return q
def nb_photon(): return get_or_create_session().query(Photon).count()
def nb_hits(): return get_or_create_session().query(Hit).count()
def bind_path(path): return get_or_create_session(path)