// ESAF : Euso Simulation and Analysis Framework // $Id: LblChipTrackingTrgEngine.hh,v 1.4 2005/10/10 16:28:03 ejudd Exp $ // // #ifndef __LBLCHIPTRACKINGTRGENGINE_HH_ #define __LBLCHIPTRACKINGTRGENGINE_HH_ #include "euso.hh" #include "TriggerEngine.hh" #include "LblTrackSegment.hh" class ChipGtuData; class LblChipTrackingTrgEngine : public TriggerEngine { public: // ctor LblChipTrackingTrgEngine(); // dtor virtual ~LblChipTrackingTrgEngine(); // simulate trigger virtual void Simulate( MacroCellData* ); EsafConfigClass(Electronics,LblChipTrackingTrgEngine); private: ClassDef(LblChipTrackingTrgEngine,0) // Pixel threshold for being used Int_t fPxlthr; // Segment finding parameters Int_t fColumn; Int_t fColthr; Int_t fFrmsinseg; Int_t fSegs; Int_t fTrksumthr; bool fWantsumsub; // Track and persistency checking parameters Int_t fFrmsinpsum; Int_t fMinpersum; // Output control flags bool fVerbose; bool fDebug; // Clear everything void Clear(Int_t,Int_t); // Find Segments and join them to form Tracks Int_t Find_Tracks(map&,Int_t,Int_t,Int_t); // Check these tracks for persistency Int_t Check_Persistency(Int_t,Int_t); // Save the tracks in the ROOT output void FillELblTrackTrigger(Int_t,Int_t); // Hank's track segments array. Each element holds the total // number of counts from all pixels in that segment Int_t fRawSums[200][12][12]; // This is the background-subtracted version of fRawSums // If fWantSumSub is false then fSums = fRawSum Int_t fSums[200][12][12]; // Hank's persistency array. Each element holds the total // number of good tracks that start from a given pixel and a given GTU. Int_t fPers[200][12][12]; // Eleanor's tracks array. Each element holds the ID number of the // first track, starting from a given pixel, stored in the fTracks vector Int_t fTrks[200][12][12]; // Vector containing all the track information to be written to ROOT output vector fTracks; }; #endif /* __LBLCHIPTRACKINGTRGENGINE_HH_ */