![]() |
|
|||
File indexing completed on 2025-08-05 08:18:20
0001 /* Copyright 2008-2010, Technische Universitaet Muenchen, 0002 Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch 0003 0004 This file is part of GENFIT. 0005 0006 GENFIT is free software: you can redistribute it and/or modify 0007 it under the terms of the GNU Lesser General Public License as published 0008 by the Free Software Foundation, either version 3 of the License, or 0009 (at your option) any later version. 0010 0011 GENFIT is distributed in the hope that it will be useful, 0012 but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0014 GNU Lesser General Public License for more details. 0015 0016 You should have received a copy of the GNU Lesser General Public License 0017 along with GENFIT. If not, see <http://www.gnu.org/licenses/>. 0018 */ 0019 /** 0020 * @author Christian Höppner (Technische Universität München, original author) 0021 * 0022 */ 0023 0024 0025 /** @addtogroup genfit 0026 * @{ 0027 */ 0028 0029 #ifndef genfit_AbsFinitePlane_h 0030 #define genfit_AbsFinitePlane_h 0031 0032 #include <Rtypes.h> // for Option_t 0033 0034 0035 namespace genfit { 0036 0037 /** 0038 * @brief Abstract base class for finite detector planes. 0039 * 0040 * This is most important for avoiding fake intersection points in fitting of curlers. 0041 * This should be implemented for silicon detectors most importantly. 0042 */ 0043 class AbsFinitePlane { 0044 0045 public: 0046 0047 AbsFinitePlane() {}; 0048 virtual ~AbsFinitePlane() {}; 0049 0050 //! Returns whether a u,v point is in the active plane or not. Needs to be implemented 0051 //! in child class. 0052 virtual bool isInActive(double u, double v) const = 0; 0053 0054 //! Deep copy ctor for polymorphic class. 0055 virtual AbsFinitePlane* clone() const = 0; 0056 0057 virtual void Print(const Option_t* = "") const = 0; 0058 0059 0060 protected: 0061 0062 // protect from calling copy c'tor or assignment operator from outside the class. Use #clone() if you want a copy! 0063 AbsFinitePlane(const AbsFinitePlane&) {;} 0064 AbsFinitePlane& operator=(const AbsFinitePlane&); 0065 0066 ClassDef(AbsFinitePlane, 1); 0067 }; 0068 0069 } /* End of namespace genfit */ 0070 /** @} */ 0071 0072 #endif // genfit_AbsFinitePlane_h
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |