CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TouchableToHistory.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_Tracker_TouchableToHistory_H
2 #define SimG4CMS_Tracker_TouchableToHistory_H
3 
4 
5 #include "G4VTouchable.hh"
6 
7 #include<vector>
8 #include<map>
9 
10 class G4VTouchable;
11 class G4VPhysicalVolume;
12 class DDFilteredView;
13 class DDCompactView;
14 class GeometricDet;
15 
17  public:
18  // Nav_Story is G4
19  // nav_type is DDD
20  typedef std::vector<int> nav_type;
21  typedef std::vector<std::pair<int,std::string> > Nav_Story;
22  typedef std::map <Nav_Story,nav_type> MapType;
23  typedef std::map <Nav_Story,int> DirectMapType;
25  alreadySet(false), myCompactView(&cpv), myGeomDet(&det) {}
26  G4VPhysicalVolume& getTouchable(DDFilteredView&);
28  void buildAll();
29  DDFilteredView& getFilteredView(const G4VTouchable&, DDFilteredView&);
30  nav_type getNavType(const G4VTouchable&);
31  Nav_Story touchableToNavStory(const G4VTouchable*);
32  nav_type touchableToNavType(const G4VTouchable*);
33  int touchableToInt(const G4VTouchable*);
34  private:
35  void dumpG4VPV(const G4VTouchable*);
38  bool alreadySet;
41 };
42 
43 #endif
44 
45 
DirectMapType myDirectMap
DDFilteredView & getFilteredView(const G4VTouchable &, DDFilteredView &)
nav_type touchableToNavType(const G4VTouchable *)
TouchableToHistory(const DDCompactView &cpv, const GeometricDet &det)
type of data representation of DDCompactView
Definition: DDCompactView.h:77
const GeometricDet * myGeomDet
std::vector< int > nav_type
Nav_Story getNavStory(DDFilteredView &)
Nav_Story touchableToNavStory(const G4VTouchable *)
std::map< Nav_Story, int > DirectMapType
const DDCompactView * myCompactView
void dumpG4VPV(const G4VTouchable *)
std::vector< std::pair< int, std::string > > Nav_Story
nav_type getNavType(const G4VTouchable &)
std::map< Nav_Story, nav_type > MapType
G4VPhysicalVolume & getTouchable(DDFilteredView &)
int touchableToInt(const G4VTouchable *)