24 #ifndef genfit_MeasurementProducer_h
25 #define genfit_MeasurementProducer_h
27 #include "Exception.h"
28 #include "TrackCand.h"
31 #include <TClonesArray.h>
42 template <
class measurement_T>
75 template <
class hit_T,
class measurement_T>
93 template <
class hit_T,
class measurement_T>
95 hitArrayTClones_ = theArr;
99 template <
class hit_T,
class measurement_T>
104 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 ) );
Abstract interface class for MeasurementProducer.
virtual measurement_T * produce(int index, const TrackCandHit *hit)=0
Virtual abstract method to produce a Measurement.
Contains the measurement and covariance in raw detector coordinates.
Exception class for error handling in GENFIT (provides storage for diagnostic information)
Template class for a measurement producer module.
MeasurementProducer(TClonesArray *)
Constructor takes pointer to the hit array.
virtual AbsMeasurement * produce(int index, const TrackCandHit *hit)
Create a Measurement from the cluster at position index in TClonesArray.
TClonesArray * hitArrayTClones_
pointer to array with cluster data
Hit object for use in TrackCand.
Defines for I/O streams used for error and debug printing.