![]() |
|
|||
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_PlanarMeasurement_h 0024 #define genfit_PlanarMeasurement_h 0025 0026 #include "AbsMeasurement.h" 0027 #include "AbsHMatrix.h" 0028 #include "MeasurementOnPlane.h" 0029 0030 0031 namespace genfit { 0032 0033 class AbsTrackRep; 0034 0035 /** @brief Measurement class implementing a planar hit geometry (1 or 2D). 0036 * 0037 * @author Christian Höppner (Technische Universität München, original author) 0038 * @author Sebastian Neubert (Technische Universität München, original author) 0039 * @author Johannes Rauch (Technische Universität München, original author) 0040 * 0041 * The main feature of this type of hit is, that the detector plane 0042 * is defined by the detector hardware. 0043 */ 0044 class PlanarMeasurement : public AbsMeasurement { 0045 0046 public: 0047 PlanarMeasurement(int nDim = 1); 0048 PlanarMeasurement(const TVectorD& rawHitCoords, const TMatrixDSym& rawHitCov, int detId, int hitId, TrackPoint* trackPoint); 0049 0050 virtual ~PlanarMeasurement() {;} 0051 0052 virtual AbsMeasurement* clone() const override {return new PlanarMeasurement(*this);} 0053 0054 int getPlaneId() const {return planeId_;} 0055 0056 virtual SharedPlanePtr constructPlane(const StateOnPlane& state) const override; 0057 0058 virtual std::vector<MeasurementOnPlane*> constructMeasurementsOnPlane(const StateOnPlane& state) const override; 0059 0060 virtual const AbsHMatrix* constructHMatrix(const AbsTrackRep*) const override; 0061 0062 virtual void setPlane(const SharedPlanePtr& physicalPlane, int planeId = -1) {physicalPlane_ = physicalPlane; planeId_ = planeId;} 0063 0064 /** @brief Use if the coordinate for 1D hits measured in V direction. 0065 * 0066 * Per default for 1D planar hits, the coordinate is measured in U direction. 0067 * With this function you can set it to be measured in V direction. 0068 * This affects the outcoe of constructHMatrix(). 0069 */ 0070 void setStripV(bool v = true) {stripV_ = v;} 0071 0072 protected: 0073 SharedPlanePtr physicalPlane_; //! This is persistent, but '!' makes ROOT shut up. 0074 int planeId_; // planeId id is -1 per default 0075 bool stripV_; 0076 0077 public: 0078 0079 ClassDefOverride(PlanarMeasurement,1) 0080 0081 }; 0082 0083 } /* End of namespace genfit */ 0084 /** @} */ 0085 0086 #endif // genfit_PlanarMeasurement_h
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |