siscone is hosted by Hepforge, IPPP Durham

The SISCone Jet Algorithm

Version 3.0.6



SISCone 3.0.6
hash.h
1// -*- C++ -*-
3// File: hash.h //
4// Description: header file for classes hash_element and hash_cones //
5// This file is part of the SISCone project. //
6// For more details, see http://projects.hepforge.org/siscone //
7// //
8// Copyright (c) 2006 Gavin Salam and Gregory Soyez //
9// //
10// This program is free software; you can redistribute it and/or modify //
11// it under the terms of the GNU General Public License as published by //
12// the Free Software Foundation; either version 2 of the License, or //
13// (at your option) any later version. //
14// //
15// This program is distributed in the hope that it will be useful, //
16// but WITHOUT ANY WARRANTY; without even the implied warranty of //
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
18// GNU General Public License for more details. //
19// //
20// You should have received a copy of the GNU General Public License //
21// along with this program; if not, write to the Free Software //
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
23// //
24// $Revision:: $//
25// $Date:: $//
27
28#ifndef __HASH_H__
29#define __HASH_H__
30
31#include "momentum.h"
32#include "reference.h"
33
34namespace siscone{
35
46 public:
48 double eta;
49 double phi;
50 bool is_stable;
51
53};
54
63 public:
67 hash_cones(int _Np, double _R2);
68
71
81 int insert(Cmomentum *v, Cmomentum *parent, Cmomentum *child, bool p_io, bool c_io);
82
90 int insert(Cmomentum *v);
91
94
97
99#ifdef DEBUG_STABLE_CONES
100 int n_occupied_cells;
101#endif
102
104 int mask;
105
108 double R2;
109
118 inline bool is_inside(Cmomentum *centre, Cmomentum *v);
119};
120
121}
122#endif
base class for dynamic coordinates management
Definition: momentum.h:49
references used for checksums.
Definition: reference.h:43
list of cones candidates.
Definition: hash.h:62
int mask
number of occupied cells
Definition: hash.h:104
hash_element ** hash_array
the cone data itself
Definition: hash.h:93
int insert(Cmomentum *v, Cmomentum *parent, Cmomentum *child, bool p_io, bool c_io)
insert a new candidate into the hash.
Definition: hash.cpp:102
double R2
circle radius (squared) NOTE: need to be set before any call to 'insert'
Definition: hash.h:108
int n_cones
number of elements
Definition: hash.h:96
bool is_inside(Cmomentum *centre, Cmomentum *v)
test if a particle is inside a cone of given centre.
Definition: hash.cpp:219
hash_cones(int _Np, double _R2)
constructor with initialisation
Definition: hash.cpp:47
~hash_cones()
destructor
Definition: hash.cpp:77
information on store cones candidates.
Definition: hash.h:45
hash_element * next
pointer to the next element
Definition: hash.h:52
bool is_stable
true if stable w.r.t. "border particles"
Definition: hash.h:50
double eta
centre: eta coordinate
Definition: hash.h:48
Creference ref
reference
Definition: hash.h:47
double phi
centre: phi coordinate
Definition: hash.h:49

The SISCone project has been developed by Gavin Salam and Gregory Soyez
Documentation generated on Tue Jun 20 2023 18:08:37 for SISCone by  Doxygen 1.9.4