24 #ifndef genfit_MeasurementProducer_h 25 #define genfit_MeasurementProducer_h 31 #include <TClonesArray.h> 41 template <
class measurement_T>
73 template <
class hit_T,
class measurement_T>
77 TClonesArray *hitArrayTClones_;
90 template <
class hit_T,
class measurement_T>
93 hitArrayTClones_ = theArr;
97 template <
class hit_T,
class measurement_T>
103 template <
class hit_T,
class measurement_T>
106 assert(hitArrayTClones_ !=
nullptr);
108 if (hitArrayTClones_->At(index) == 0) {
109 Exception e(
"In MeasurementProducer: index for hit in TClonesArray out of bounds", __LINE__, __FILE__);
113 return (
new measurement_T((hit_T *)hitArrayTClones_->At(index), hit));
119 #endif // genfit_MeasurementProducer_h Abstract interface class for MeasurementProducer.
virtual ~MeasurementProducer()
Hit object for use in TrackCand. Provides IDs and sorting parameters.
virtual AbsMeasurement * produce(int index, const TrackCandHit *hit)
Create a Measurement from the cluster at position index in TClonesArray.
virtual ~AbsMeasurementProducer()
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
MeasurementProducer(TClonesArray *)
Constructor takes pointer to the hit array.
Contains the measurement and covariance in raw detector coordinates.
void setFatal(bool b=true)
Set fatal flag.
virtual measurement_T * produce(int index, const TrackCandHit *hit)=0
Virtual abstract method to produce a Measurement. Implemented in MeasurementProducer.
Template class for a measurement producer module.