36 #ifndef genfit_MeasurementProducer_h 37 #define genfit_MeasurementProducer_h 43 #include <TClonesArray.h> 53 template <
class measurement_T>
85 template <
class hit_T,
class measurement_T>
89 TClonesArray *hitArrayTClones_;
102 template <
class hit_T,
class measurement_T>
105 hitArrayTClones_ = theArr;
109 template <
class hit_T,
class measurement_T>
115 template <
class hit_T,
class measurement_T>
118 assert(hitArrayTClones_ !=
nullptr);
120 if (hitArrayTClones_->At(index) == 0) {
121 Exception e(
"In MeasurementProducer: index for hit in TClonesArray out of bounds", __LINE__, __FILE__);
125 return (
new measurement_T((hit_T *)hitArrayTClones_->At(index), hit));
131 #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.