CPairManager.h
//-----------------------------------------------------------------------------
// $Header: /tmp_mnt/asis/offline/ceres/cool/project/RCS/CPairManager.h,v 2.1 1996/10/04 08:45:45 voigt Exp $
//
// COOL Program Library
// Copyright (C) CERES collaboration, 1996
//
// Declaration of class CPairManager.
//
// This class is meant to be used as a tool to ease
// the pair reconstruction and does NOT perform any
// cuts while creating pairs.
//
// One can:
// - create pairs externaly and then add them to a pair list (addPair)
// - pass over two tracks and let the object create a pair which is then
// added to a pair list (addPair)
// - add several tracks, let the manager combine them to pairs and
// append them to a pair list (addTrack, makePairs)
//
//-----------------------------------------------------------------------------
#ifndef CPAIRMANAGER_H
#define CPAIRMANAGER_H
#include <rw/tpordvec.h>
#include "cool.h"
#include "CList.h"
class CElectronTrack;
class CPair;
class CPairManager {
public:
CPairManager();
~CPairManager();
void reset(); // clear internal track list
void addTrack(CElectronTrack*); // add track for later combination to pairs
void makePairs(CList<CPair>&); // combine all tracks and create pairs
//
// The following methods may be used to add pairs
// to the pair list. Track passed to the manager via
// these functions are not used in makePairs().
//
void addPair(CList<CPair>&, CElectronTrack*, CElectronTrack*);
void addPair(CList<CPair>&, CPair*);
protected:
RWTPtrOrderedVector<CElectronTrack> tracks;
};
#endif /* CPAIRMANAGER_H */