Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:53

0001 #ifndef __TpcMap_H__
0002 #define __TpcMap_H__
0003 
0004 #include <map>
0005 #include <string>
0006 
0007 class TpcMap
0008 {
0009  public:
0010   // constructors and destructors
0011   TpcMap() = default;
0012   virtual ~TpcMap() = default;
0013 
0014   virtual unsigned int getLayer(const unsigned int FEE, const unsigned int FEEChannel, const unsigned int packetid = 0) const;
0015   virtual unsigned int getPad(const unsigned int FEE, const unsigned int FEEChannel, const unsigned int packetid = 0) const;
0016   virtual double getR(const unsigned int FEE, const unsigned int FEEChannel, const unsigned int packetid = 0) const;
0017   virtual double getPhi(const unsigned int FEE, const unsigned int FEEChannel, const unsigned int packetid = 0) const;
0018   virtual void setMapNames(const std::string &r1, const std::string &r2, const std::string &r3);
0019 
0020  private:
0021   int digest_map(const std::string &fileName, const unsigned int section_offset);
0022 
0023   int _broken = 0;
0024   struct tpc_map
0025   {
0026     unsigned int padnr;
0027     unsigned int layer;
0028     unsigned int FEE;
0029     unsigned int FEEChannel;
0030     double PadR;
0031     double PadPhi;
0032   };
0033 
0034   std::map<unsigned int, struct tpc_map> tmap;
0035 };
0036 
0037 #endif