Bayeux  3.4.1
Core Foundation library for SuperNEMO
point_on_quadric_finder.h
Go to the documentation of this file.
1 //
4 // Copyright (c) 2015 by François Mauger <mauger@lpccaen.in2p3.fr>
5 //
6 // This file is part of geomtools.
7 //
8 // geomtools is free software: you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation, either version 3 of the License, or
11 // (at your option) any later version.
12 //
13 // geomtools is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with geomtools. If not, see <http://www.gnu.org/licenses/>.
20 
21 #ifndef GEOMTOOLS_POINT_ON_QUADRIC_FINDER_H
22 #define GEOMTOOLS_POINT_ON_QUADRIC_FINDER_H
23 
24 // This project:
25 #include <geomtools/quadric.h>
26 
27 namespace geomtools {
28 
31  {
32  public:
33 
35  point_on_quadric_finder(const quadric & q_, double epsilon_, unsigned int max_iter_ = 20, const std::string & dbg_filename_ = "");
36 
39  int find(const geomtools::vector_3d & start_,
40  geomtools::vector_3d & on_surface_);
41 
42  private:
43 
44  const quadric * _quadric_;
45  double _epsilon_;
46  unsigned int _max_iter_;
47  bool _debug_;
48  std::string _debug_filename_;
49 
50  };
51 
52 } // end of namespace geomtools
53 
54 #endif // GEOMTOOLS_POINT_ON_QUADRIC_FINDER_H
55 
56 /*
57 ** Local Variables: --
58 ** mode: c++ --
59 ** c-file-style: "gnu" --
60 ** tab-width: 2 --
61 ** End: --
62 */
Marching method to find a point on the surface of a quadric.
Definition: point_on_quadric_finder.h:30
int find(const geomtools::vector_3d &start_, geomtools::vector_3d &on_surface_)
point_on_quadric_finder(const quadric &q_, double epsilon_, unsigned int max_iter_=20, const std::string &dbg_filename_="")
Default constructor.
CLHEP::Hep3Vector vector_3d
Alias for the CLHEP 3D-vector class.
Definition: clhep.h:63
Quadric surface.
A general quadric a 3D space.
Definition: quadric.h:31
Top-level namespace of the Bayeux/geomtools module library.
Definition: electromagnetic_field_manager.h:39