All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GFRectFinitePlane.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 */
19 
20 /**
21  * @author Christian H&ouml;ppner (Technische Universit&auml;t M&uuml;nchen, original author)
22  *
23  */
24 
25 
26 /** @addtogroup genfit
27  * @{
28  */
29 
30 
31 #ifndef GFRECTFINITEPLANE_H
32 #define GFRECTFINITEPLANE_H
33 
34 #include <stdexcept> // std::logic_error
35 #include <iostream>
37 
38 /** @brief Concrete implementation of finitie detector plane for rectangles.
39  */
40 
41 namespace genf {
42 
44 public:
45  //override inActive & Print methods
46  bool inActive(const double& u,const double& v) const;
47  void Print(std::ostream& out = std::cout) const;
48 
49  //! give dimensions of finite rectangle: u1,u2,v1,v2
50  GFRectFinitePlane(const double&,const double&,const double&,const double&);
52 
53  virtual ~GFRectFinitePlane();
54 
56  return new GFRectFinitePlane(*this);
57  }
58  private:
60 
61  virtual void Print(Option_t*) const
62  { throw std::logic_error(std::string(__func__) + "::Print(Option_t*) not available"); }
63  // public:
64  //ClassDef(GFRectFinitePlane,1)
65 };
66 
67 } // namespace genf
68 
69 #endif
70 
71 /** @} */
GFAbsFinitePlane * clone() const
Deep copy ctor for polymorphic class.
virtual void Print(Option_t *) const
bool inActive(const double &u, const double &v) const
void Print(std::ostream &out=std::cout) const
BEGIN_PROLOG could also be cout