Belle II Software  release-08-01-10
AbsFinitePlane.h
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3 
4  This file is part of GENFIT.
5 
6  GENFIT is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  GENFIT is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18 */
29 #ifndef genfit_AbsFinitePlane_h
30 #define genfit_AbsFinitePlane_h
31 
32 #include <Rtypes.h> // for Option_t
33 
34 
35 namespace genfit {
36 
44 
45  public:
46 
47  AbsFinitePlane() {};
48  virtual ~AbsFinitePlane() {};
49 
52  virtual bool isInActive(double u, double v) const = 0;
53 
55  virtual AbsFinitePlane* clone() const = 0;
56 
57  virtual void Print(const Option_t* = "") const = 0;
58 
59 
60  protected:
61 
62  // protect from calling copy c'tor or assignment operator from outside the class. Use #clone() if you want a copy!
63  AbsFinitePlane(const AbsFinitePlane&) {;}
64  AbsFinitePlane& operator=(const AbsFinitePlane&);
65 
66  ClassDef(AbsFinitePlane, 1);
67 };
68 
69 } /* End of namespace genfit */
72 #endif // genfit_AbsFinitePlane_h
Abstract base class for finite detector planes.
virtual AbsFinitePlane * clone() const =0
Deep copy ctor for polymorphic class.
virtual bool isInActive(double u, double v) const =0
Returns whether a u,v point is in the active plane or not.
Defines for I/O streams used for error and debug printing.