Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
InttSurveyMap.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file InttSurveyMap.h
1 #ifndef INTT_SURVEY_MAP_H
2 #define INTT_SURVEY_MAP_H
3 
4 #include "InttMap.h"
5 
6 #include <phool/PHObject.h>
7 
8 #include <Eigen/Geometry>
9 
10 #include <cstddef> // for size_t
11 #include <iostream>
12 #include <map>
13 #include <string>
14 
15 class CDBTTree;
16 
17 class InttSurveyMap : public PHObject
18 {
19  public:
20  typedef std::map<InttMap::Offline_s, Eigen::Affine3d, InttMap::OfflineComparator> map_t;
22  typedef Eigen::Affine3d val_t;
23 
24  InttSurveyMap() = default;
25  ~InttSurveyMap() override = default;
26 
27  virtual void identify(std::ostream& = std::cout) const override;
28  virtual std::size_t size() const;
29 
30  int LoadFromFile(std::string const& = "InttSurveyMap.root");
31  int LoadFromCDB(std::string const& = "InttSurveyMap");
32 
33  virtual val_t const* GetAbsoluteTransform(key_t) const;
34  virtual val_t const* GetRelativeTransform(key_t) const;
35 
36  protected:
37  virtual int v_LoadFromCDBTTree(CDBTTree&);
38 
39  virtual int v_LookupAbsoluteTransform(key_t const&, map_t::const_iterator&) const;
40  virtual int v_LookupRelativeTransform(key_t const&, map_t::const_iterator&) const;
41 
42  private:
43  ClassDefOverride(InttSurveyMap, 1)
44 };
45 
46 #endif // INTT_SURVEY_MAP_H