Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

mMuiTriggerEmulator.h

Go to the documentation of this file.
00001 #ifndef __MMUITRIGGEREMULATOR_HH__
00002 #define __MMUITRIGGEREMULATOR_HH__
00003 
00004 #include<PHModule.h>
00005 #include<PHTimer.h>
00006 #include<TMuiMCHitMapO.h>
00007 #include<TMuiHitMapO.h>
00008 #include<mMuiTriggerEmulatorPar.h>
00009 #include<boost/array.hpp>
00010 #include<list>
00011 #include<bitset>
00012 
00013 #include<gsl/gsl_rng.h>
00014 
00042 class mMuiTriggerEmulator : public PHModule
00043 {
00044  public: 
00045   
00046   mMuiTriggerEmulator(); 
00047 
00048   ~mMuiTriggerEmulator(); 
00049 
00050   virtual PHBoolean event(PHCompositeNode*);
00051 
00052   bool is_deep_deep() { return _deep_deep; }
00053   bool is_deep_shallow() { return _deep_shallow; }
00054   
00055  private:  
00056   
00057   // private methods
00058   //
00059   void set_interface_ptrs(PHCompositeNode* top_node);
00060 
00061   void clear_state_variables();
00062 
00063   void fill_quadrant_list();
00064 
00065   void set_plane_bitset();
00066   
00067   void set_trigger_status();
00068 
00069   // Interface pointers
00070   //
00071   const mMuiTriggerEmulatorPar* _mod_par;           
00072   TMuiHitMapO* _hit_map;
00073 
00074   // Four lists of hits, one for each quadrant
00075   //
00076   typedef std::list<TMuiHitMapO::value_type> hit_list;
00077   boost::array<hit_list,4> _quad_hit_list;
00078 
00079   // Four bitsets one for each quadrant
00080   //  
00081   boost::array<std::bitset<10>,4> _quad_bitset;
00082 
00083   // Trigger bitmasks
00084   //
00085   std::bitset<10> _deep_mask;
00086   std::bitset<10> _shallow_mask;
00087   
00088   // Trigger booleans
00089   //
00090   bool _deep_deep;
00091   bool _deep_shallow;
00092 
00093   // Timer
00094   //
00095   PHTimer _timer;
00096 };
00097 
00098 #endif /* __MMUITRIGGEREMULATOR_HH__ */
00099 
00100 
00101 
00102 
00103 
00104 
00105 
00106 
00107 
00108 
00109 
00110 
00111 
00112 
00113 
00114 
00115 
00116 
00117 
00118 
00119 
00120 

MUIOO: PHENIX Muon Identifier Analysis Framework. Documentation by doxygen
Last modified: