Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:20:37

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef MVTX_P2_UnpackPRDF_H
0004 #define MVTX_P2_UnpackPRDF_H
0005 
0006 #include "MvtxPrototype2Geom.h"
0007 
0008 #include <fun4all/SubsysReco.h>
0009 #include <phool/PHObject.h>
0010 
0011 #include <map>
0012 
0013 class Event;
0014 class Packet;
0015 class Packet_hbd_fpgashort;
0016 class TrkrHitSetContainer;
0017 
0018 class MvtxPrototype2UnpackPRDF : public SubsysReco
0019 {
0020 public:
0021   MvtxPrototype2UnpackPRDF();
0022 
0023   int
0024   Init(PHCompositeNode *topNode);
0025 
0026   int
0027   InitRun(PHCompositeNode *topNode);
0028 
0029   int
0030   process_event(PHCompositeNode *topNode);
0031 
0032   int
0033   End(PHCompositeNode *topNode);
0034 
0035   void
0036   CreateNodeTree(PHCompositeNode *topNode);
0037 
0038   void MakeHits();
0039 
0040   int DecodeRow(int val) const;
0041   int DecodeCol(int val) const;
0042 
0043 private:
0044 
0045   PHCompositeNode* dstNode;
0046 
0047   Event* _event;
0048   Packet_hbd_fpgashort* _packet;
0049   TrkrHitSetContainer *_hitsetcon;
0050 
0051   static std::map <std::pair<int,int>,std::pair<int,int>> s_map_chips; //<ruid, ruchn> to <stave, chipID>
0052   static std::map <int, int> s_map_layers; ///< <stave, layer> stave to layer index
0053 
0054   int _nevents;
0055   int _verbosity;
0056   bool _first;
0057 
0058   int _nevent_per_chip[NLAYER][NCHIP];
0059   int _npixel_per_chip[NLAYER][NCHIP];
0060 
0061 };
0062 
0063 #endif //**MvtxPrototype2UnpackPRDFF**//