Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:40

0001 #ifndef INTT_SURVEY_MAP_H
0002 #define INTT_SURVEY_MAP_H
0003 
0004 #include "InttMapping.h"
0005 
0006 #ifdef __clang__
0007 #pragma GCC diagnostic push
0008 #pragma GCC diagnostic ignored "-Wundefined-internal"
0009 #include <Eigen/Geometry>
0010 #pragma GCC diagnostic pop
0011 #else
0012 #include <Eigen/Geometry>
0013 #endif
0014 
0015 #include <cstddef>  // for size_t
0016 #include <iostream>
0017 #include <map>
0018 #include <string>
0019 
0020 class CDBTTree;
0021 
0022 class InttSurveyMap
0023 {
0024  public:
0025   typedef std::map<InttNameSpace::Offline_s, Eigen::Affine3d> map_t;
0026   typedef InttNameSpace::Offline_s key_t;
0027   typedef Eigen::Affine3d val_t;
0028 
0029   InttSurveyMap() = default;
0030   virtual ~InttSurveyMap();
0031 
0032   int LoadFromFile(std::string const& = "InttSurveyMap.root");
0033   int LoadFromCDB(std::string const& = "InttSurveyMap");
0034 
0035   int GetStripTransform(key_t const&, val_t&) const;
0036   int GetSensorTransform(key_t const&, val_t&) const;
0037   int GetLadderTransform(key_t const&, val_t&) const;
0038 
0039   virtual void identify(std::ostream& = std::cout) const;
0040   virtual std::size_t size() const;
0041 
0042   virtual val_t const* GetAbsoluteTransform(key_t const&) const;
0043   int const static Wildcard = 0xffff;
0044 
0045  protected:
0046   virtual int v_LoadFromCDBTTree(CDBTTree&);
0047 
0048  private:
0049   map_t* m_absolute_transforms = nullptr;
0050 
0051 };
0052 
0053 #endif  // INTT_SURVEY_MAP_H