/* * PndOnlineSTTStdTSF.h * * Created on: Nov. 26, 2012 * Author: Sean Dobbs (s-dobbs@northwestern.edu) * * */ #ifndef PNDONLINESTTSTDTSF_H_ #define PNDONLINESTTSTDTSF_H_ #include "PndOnlineTrackHit.h" #include "PndOnlineTrack.h" #include #include class PndOnlineSTTStdTSF : public TObject { public: PndOnlineSTTStdTSF(vector new_channel_list) : channel_list(new_channel_list) { // we expect 8 channels - bad things happen if we don't have that if(channel_list.size() != 8) { cout << "PndOnlineSTTStdTSF() being constructed with " << channel_list.size() << " channels!!" << endl; } } virtual ~PndOnlineSTTStdTSF() {} PndOnlineTrack *FindTrackSegment(vector< list > &hit_channel_map); private: PndOnlineSTTStdTSF() { } vector channel_list; bool CheckHit(int channel_num, vector< list > &hit_channel_map, vector &segment_hits) { //cout << " Checking that hit exists in channel " << channel_num // << "..." << endl; //bool hit_exists = (hit_channel_map[channel_num].size() > 0); list::iterator track_it = hit_channel_map[channel_num].begin(); for( ; track_it != hit_channel_map[channel_num].end(); track_it++) if((*track_it)->Status() == PndOnlineTrackHit::kUnassigned) break; bool hit_exists = track_it != hit_channel_map[channel_num].end(); /* if(hit_exists) cout << "There is a hit!" << endl; else cout << "No hits here!" << endl; */ if(hit_exists) segment_hits.push_back( *track_it ); return hit_exists; } ClassDef(PndOnlineSTTStdTSF,0); }; #endif