29 #ifndef GFRECOHITPRODUCER_H
30 #define GFRECOHITPRODUCER_H
34 #include "TClonesArray.h"
49 virtual GFAbsRecoHit*
produce(
int index)=0;
76 template <
class hit_T,
class recoHit_T>
92 virtual GFAbsRecoHit*
produce(
int index);
96 template <
class hit_T,
class recoHit_T>
98 hitArrayTClones = theArr;
109 template <
class hit_T,
class recoHit_T>
115 template <
class hit_T,
class recoHit_T>
117 if (!hitArrayTClones)
118 throw GFException(
"GFRecoHitProducer(): no hit set up", __LINE__, __FILE__);
123 if(hitArrayTClones->At(index) == 0) {
124 throw GFException(
"In GFRecoHitProducer: index for hit in TClonesArray out of bounds",__LINE__,__FILE__).
setFatal();
126 return (
new recoHit_T( (hit_T*) hitArrayTClones->At(index) ) );
virtual GFAbsRecoHit * produce(int index)=0
Virtual abstract method to produce a RecoHit. Implemented in GFRecoHitProducer.
virtual GFAbsRecoHit * produce(int index)
Create a RecoHit from the cluster at position index in TClonesArray.
Template class for a hit producer module.
virtual ~GFRecoHitProducer()
virtual ~GFAbsRecoHitProducer()
Abstract interface class for GFRecoHitProducer.
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
TClonesArray * hitArrayTClones
pointer to array with cluster data
GFException & setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
GFRecoHitProducer(TClonesArray *)
Constructor takes pointer to the cluster array.