00001
00002
00003 #ifndef TRIGGER_RECON_H
00004 #define TRIGGER_RECON_H 1
00005
00006 #include "reconstruction/Recon.h"
00007
00008 #include "idents/ModuleId.h"
00009
00010 #include <map>
00011
00012 class GlastData;
00013 class ReconVisitor;
00014
00015 class TriggerRecon : public Recon
00016 {
00017
00018 public:
00019 TriggerRecon ();
00020 void accept (ReconVisitor& rv);
00021 void reconstruct (const GlastData* glastdata);
00022 void clear ();
00023 static bool ThreeInARow(idents::ModuleId id);
00024
00025 private:
00026 #if 0 //THB
00027 LbldData::iterator i_Triage_Time;
00028 LbldData::iterator i_Energy_max_Twr;
00029 LbldData::iterator i_Energy_max_Xtl;
00030 LbldData::iterator i_Count;
00031 LbldData::iterator i_CV_Count;
00032 LbldData::iterator i_Gd_Trig;
00033 LbldData::iterator i_bits;
00034 LbldData::iterator i_Level2_Trig;
00035 LbldData::iterator i_Dead_Time;
00036 LbldData::iterator i_Max_FE_Buff;
00037 LbldData::iterator i_Total_Evt_Size;
00038 LbldData::iterator i_Max_TEM_Thrpt;
00039 LbldData::iterator i_Max_Evt_Size;
00040 LbldData::iterator i_Max_RO_Time;
00041 LbldData::iterator i_N_Hits;
00042 LbldData::iterator i_L2_Layers;
00043 LbldData::iterator i_L2_Top;
00044 LbldData::iterator i_L2_Mid;
00045 LbldData::iterator i_L2_Bot;
00046 LbldData::iterator i_L2_Dsize;
00047
00048 LbldData::iterator i_L3_flag;
00049 LbldData::iterator i_L3_vetoFlag;
00050 LbldData::iterator i_L3_nTracks;
00051 #endif
00052 static std::map<idents::ModuleId, int> TrigTowers;
00053 static const int MaxNumTowers;
00054 };
00055
00056 inline bool TriggerRecon::ThreeInARow(idents::ModuleId id) {
00057 return ((TrigTowers[id] == 1));
00058 }
00059
00060 #endif