StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StConeJetFinder.h
1 // -*- mode: c++;-*-
2 // $Id: StConeJetFinder.h,v 1.45 2008/08/23 20:47:41 tai Exp $
3 #ifndef StConeJetFinder_HH
4 #define StConeJetFinder_HH
5 
6 #include "StConeJetFinderBase.h"
7 
8 #include <vector>
9 
11 
12 public:
13 
14  StConeJetFinder(const StConePars& pars);
15  virtual ~StConeJetFinder();
16 
17  StJetEtCellFactory* makeCellFactory();
18 
19  void findJets(JetList& protoJetList, const FourVecList& particleList);
20 
21 private:
22 
23  CellList generateEtOrderedCellList(const FourVecList& particleList);
24 
25  CellList findProtoJetsAroundCells(CellList& toSearchList);
26 
27  StEtaPhiCell* findJetAroundThis(StEtaPhiCell* cell);
28 
29 
30  bool shouldNotSearchForJetAroundThis(const StEtaPhiCell* cell) const;
31 
32  StEtaPhiCell* createJetCellFor(StEtaPhiCell& cell);
33  StEtaPhiCell* findJetWithStableCone();
34 
35  CellList generateMidpointList(const CellList& protoJetCellList);
36 
37  CellList findProtoJetsAroundMidpoints(CellList& midpointList);
38 
39  bool shouldNotAddToTheCell(const StEtaPhiCell& theCell, const StEtaPhiCell& otherCell) const;
40 
41  bool isInTheVolume(double eta, double phi);
42 
43  bool areTheyInTheSameCell(double eta1, double phi1, double eta2, double phi2);
44 
45  void storeTheResults(JetList& protoJetList, const CellList& protoJetCellList);
46 
47  StJetSpliterMerger* mMerger;
48 
49  std::vector<StEtaPhiCell*> _toDelete;
50  void deleteToDelete();
51 
52 };
53 
54 #endif
55