LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
GFAbsFinitePlane.h
Go to the documentation of this file.
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert
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 GFABSFINITEPLANE_H
30 #define GFABSFINITEPLANE_H
31 
32 #include<stdexcept> // std::logic_error
33 #include<string>
34 #include<iostream>
35 
36 #include "TObject.h"
37 
45 namespace genf {
46 
47 class GFAbsFinitePlane : public TObject {
48 public:
51  virtual bool inActive(const double& u,const double& v)const = 0;
52  virtual void Print(std::ostream& out = std::cout) const = 0;
54  virtual GFAbsFinitePlane* clone() const = 0;
55  virtual ~GFAbsFinitePlane();
56 
57  private:
58  virtual void Print(Option_t*) const
59  { throw std::logic_error(std::string(__func__) + "::Print(Option_t*) not available"); }
60 
61  // ClassDef(GFAbsFinitePlane,1)
62 };
63 
64 
65 } // namespace genf
66 
67 #endif
68 
Generic Interface to magnetic fields in GENFIT.
virtual void Print(std::ostream &out=std::cout) const =0
virtual bool inActive(const double &u, const double &v) const =0
virtual void Print(Option_t *) const
virtual GFAbsFinitePlane * clone() const =0
Deep copy ctor for polymorphic class.