![]() |
|
|||
File indexing completed on 2025-08-05 08:18:27
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 /** @addtogroup genfit 0020 * @{ 0021 */ 0022 0023 #ifndef genfit_ProlateSpacepointMeasurement_h 0024 #define genfit_ProlateSpacepointMeasurement_h 0025 0026 #include "SpacepointMeasurement.h" 0027 0028 0029 namespace genfit { 0030 0031 /** @brief Class for measurements implementing a space point hit geometry with a very prolate 0032 * form of the covariance matrix. 0033 * 0034 * @author Johannes Rauch (Technische Universität München, original author) 0035 * 0036 * Measurements from detectors measuring 3D space points with errors in one direction 0037 * much larger than the errors perpendicular should use this class. 0038 * 0039 * For these hits, a virtual detector plane lying in the POCA and 0040 * perpendicular to the track yields wrong results. Instead, the plane should contain the 0041 * direction of the largest error. 0042 * 0043 * The largest error direction can be set. Standard is in z. 0044 * 0045 */ 0046 class ProlateSpacepointMeasurement : public SpacepointMeasurement { 0047 0048 public: 0049 ProlateSpacepointMeasurement(int nDim = 3); 0050 ProlateSpacepointMeasurement(const TVectorD& rawHitCoords, const TMatrixDSym& rawHitCov, int detId, int hitId, TrackPoint* trackPoint); 0051 0052 virtual ~ProlateSpacepointMeasurement() {;} 0053 0054 virtual AbsMeasurement* clone() const {return new ProlateSpacepointMeasurement(*this);} 0055 0056 virtual SharedPlanePtr constructPlane(const StateOnPlane& state) const; 0057 0058 0059 const TVector3& getLargestErrorDirection(){return largestErrorDirection_;} 0060 void setLargestErrorDirection(const TVector3& dir){largestErrorDirection_ = dir.Unit();} 0061 0062 protected: 0063 TVector3 largestErrorDirection_; // direction of largest error 0064 0065 public: 0066 0067 ClassDef(ProlateSpacepointMeasurement,1) 0068 0069 }; 0070 0071 } /* End of namespace genfit */ 0072 /** @} */ 0073 0074 #endif // genfit_ProlateSpacepointMeasurement_h
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |