Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:26

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_FullMeasurement_h
0024 #define genfit_FullMeasurement_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 measurement of all track parameters.
0036  *
0037  *  @author Johannes Rauch  (Technische Universit&auml;t M&uuml;nchen, original author)
0038  *
0039  * This class can e.g. be used, if the fitted track parameters measured in one subdetector should be
0040  * put into one "measurement".
0041  */
0042 class FullMeasurement : public AbsMeasurement {
0043 
0044  public:
0045   FullMeasurement(int nDim = 5);
0046   FullMeasurement(const MeasuredStateOnPlane&, int detId = -1, int hitId = -1, TrackPoint* trackPoint = nullptr);
0047 
0048   virtual ~FullMeasurement() {;}
0049 
0050   virtual AbsMeasurement* clone() const override {return new FullMeasurement(*this);}
0051 
0052   virtual SharedPlanePtr constructPlane(const StateOnPlane& state) const override;
0053 
0054   virtual std::vector<MeasurementOnPlane*> constructMeasurementsOnPlane(const StateOnPlane& state) const override;
0055 
0056   virtual const AbsHMatrix* constructHMatrix(const AbsTrackRep*) const override;
0057 
0058  protected:
0059   SharedPlanePtr plane_;   //! This is persistent, but '!' makes ROOT shut up.
0060 
0061  public:
0062 
0063   ClassDefOverride(FullMeasurement,1)
0064 
0065 };
0066 
0067 } /* End of namespace genfit */
0068 /** @} */
0069 
0070 #endif // genfit_FullMeasurement_h