24#ifndef genfit_MeasurementProducer_h
25#define genfit_MeasurementProducer_h
31#include <TClonesArray.h>
42template <
class measurement_T>
75template <
class hit_T,
class measurement_T>
93template <
class hit_T,
class measurement_T>
95 hitArrayTClones_ = theArr;
99template <
class hit_T,
class measurement_T>
104template <
class hit_T,
class measurement_T>
106 assert(hitArrayTClones_ != NULL);
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. Implemented in MeasurementProducer.
virtual ~AbsMeasurementProducer()
Contains the measurement and covariance in raw detector coordinates.
Exception class for error handling in GENFIT (provides storage for diagnostic information)
void setFatal(bool b=true)
Set fatal flag.
Template class for a measurement producer module.
virtual AbsMeasurement * produce(int index, const TrackCandHit *hit)
Create a Measurement from the cluster at position index in TClonesArray.
virtual ~MeasurementProducer()
MeasurementProducer(TClonesArray *)
Constructor takes pointer to the hit array.
TClonesArray * hitArrayTClones_
pointer to array with cluster data
Hit object for use in TrackCand. Provides IDs and sorting parameters.