SND@LHC Software
Loading...
Searching...
No Matches
AbsFitterInfo.h
Go to the documentation of this file.
1/* Copyright 2008-2010, Technische Universitaet Muenchen,
2 Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
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
24#ifndef genfit_AbsFitterInfo_h
25#define genfit_AbsFitterInfo_h
26
27#include "MeasurementOnPlane.h"
28
29#include <TObject.h>
30#include <TVectorD.h>
31
32
33namespace genfit {
34
35class AbsTrackRep;
36class TrackPoint;
37
41class AbsFitterInfo : public TObject {
42
43 public:
44
46 AbsFitterInfo(const TrackPoint* trackPoint, const AbsTrackRep* rep);
47
48 virtual ~AbsFitterInfo() {};
49
51 virtual AbsFitterInfo* clone() const = 0;
52
53 const TrackPoint* getTrackPoint() const {return trackPoint_;}
54 const AbsTrackRep* getRep() const {return rep_;}
55
56 void setTrackPoint(const TrackPoint *tp) {trackPoint_ = tp;}
57 virtual void setRep(const AbsTrackRep* rep) {rep_ = rep;}
58
59 virtual bool hasMeasurements() const = 0;
60 virtual bool hasReferenceState() const = 0;
61 virtual bool hasForwardPrediction() const = 0;
62 virtual bool hasBackwardPrediction() const = 0;
63 virtual bool hasPrediction(int direction) const {if (direction >=0) return hasForwardPrediction(); return hasBackwardPrediction();}
64 virtual bool hasForwardUpdate() const = 0;
65 virtual bool hasBackwardUpdate() const = 0;
66 virtual bool hasUpdate(int direction) const {if (direction >=0) return hasForwardUpdate(); return hasBackwardUpdate();}
67
68 virtual void deleteForwardInfo() = 0;
69 virtual void deleteBackwardInfo() = 0;
70 virtual void deleteReferenceInfo() = 0;
71 virtual void deleteMeasurementInfo() = 0;
72
73 const SharedPlanePtr& getPlane() const {return sharedPlane_;}
74 virtual const MeasuredStateOnPlane& getFittedState(bool biased = true) const = 0;
75 virtual MeasurementOnPlane getResidual(unsigned int iMeasurement = 0, bool biased = true, bool onlyMeasurementErrors = false) const = 0;
76
77 void setPlane(const SharedPlanePtr& plane) {sharedPlane_ = plane;}
78
79 virtual void Print(const Option_t* = "") const {;}
80
81 virtual bool checkConsistency() const = 0;
82
83 protected:
84
88
92
94
95
96 private:
97 AbsFitterInfo(const AbsFitterInfo&); // copy constructor
98 AbsFitterInfo& operator=(const AbsFitterInfo&); // assignment operator
99
100
101 public:
102 ClassDef(AbsFitterInfo,1)
103
104};
105
108{
109 return a.clone();
110}
111
112} /* End of namespace genfit */
115#endif // genfit_AbsFitterInfo_h
This class collects all information needed and produced by a specific AbsFitter and is specific to on...
virtual bool hasForwardUpdate() const =0
const AbsTrackRep * getRep() const
const TrackPoint * trackPoint_
virtual bool hasPrediction(int direction) const
virtual bool hasForwardPrediction() const =0
virtual bool hasBackwardUpdate() const =0
AbsFitterInfo(const AbsFitterInfo &)
Shared ownership. '!' shuts up ROOT.
virtual const MeasuredStateOnPlane & getFittedState(bool biased=true) const =0
virtual MeasurementOnPlane getResidual(unsigned int iMeasurement=0, bool biased=true, bool onlyMeasurementErrors=false) const =0
virtual bool hasReferenceState() const =0
virtual void deleteBackwardInfo()=0
virtual bool hasUpdate(int direction) const
virtual AbsFitterInfo * clone() const =0
Deep copy ctor for polymorphic class.
const SharedPlanePtr & getPlane() const
virtual bool checkConsistency() const =0
virtual void deleteMeasurementInfo()=0
virtual void deleteReferenceInfo()=0
SharedPlanePtr sharedPlane_
No ownership.
AbsFitterInfo & operator=(const AbsFitterInfo &)
virtual void deleteForwardInfo()=0
const AbsTrackRep * rep_
No ownership.
void setTrackPoint(const TrackPoint *tp)
virtual void Print(const Option_t *="") const
virtual void setRep(const AbsTrackRep *rep)
void setPlane(const SharedPlanePtr &plane)
const TrackPoint * getTrackPoint() const
virtual bool hasBackwardPrediction() const =0
virtual bool hasMeasurements() const =0
Abstract base class for a track representation.
Definition AbsTrackRep.h:66
StateOnPlane with additional covariance matrix.
Measured coordinates on a plane.
Object containing AbsMeasurement and AbsFitterInfo objects.
Definition TrackPoint.h:50
Matrix inversion tools.
Definition AbsBField.h:29
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
AbsFitterInfo * new_clone(const AbsFitterInfo &a)
Needed for boost cloneability: