Warning, file /include/Geant4/G4VReadOutGeometry.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030 #ifndef G4VReadOutGeometry_h
0031 #define G4VReadOutGeometry_h 1
0032
0033 #include "G4SensitiveVolumeList.hh"
0034 #include "G4Step.hh"
0035 #include "G4TouchableHistory.hh"
0036
0037 class G4Navigator;
0038
0039 class G4VReadOutGeometry
0040 {
0041 public:
0042 G4VReadOutGeometry();
0043 G4VReadOutGeometry(const G4String&);
0044 virtual ~G4VReadOutGeometry();
0045
0046 G4bool operator==(const G4VReadOutGeometry& right) const;
0047 G4bool operator!=(const G4VReadOutGeometry& right) const;
0048
0049
0050
0051
0052 void BuildROGeometry();
0053 virtual G4bool CheckROVolume(G4Step*, G4TouchableHistory*&);
0054
0055 inline const G4SensitiveVolumeList* GetIncludeList() const { return fincludeList; }
0056 inline void SetIncludeList(G4SensitiveVolumeList* value) { fincludeList = value; }
0057 inline const G4SensitiveVolumeList* GetExcludeList() const { return fexcludeList; }
0058 inline void SetExcludeList(G4SensitiveVolumeList* value) { fexcludeList = value; }
0059 inline const G4String& GetName() const { return name; }
0060 inline void SetName(const G4String& value) { name = value; }
0061
0062 inline G4VPhysicalVolume* GetROWorld() const { return ROworld; }
0063
0064 protected:
0065 virtual G4VPhysicalVolume* Build() = 0;
0066
0067 G4VReadOutGeometry(const G4VReadOutGeometry& right);
0068 G4VReadOutGeometry& operator=(const G4VReadOutGeometry& right);
0069
0070 virtual G4bool FindROTouchable(G4Step*);
0071
0072 protected:
0073 G4VPhysicalVolume* ROworld;
0074 G4SensitiveVolumeList* fincludeList;
0075 G4SensitiveVolumeList* fexcludeList;
0076 G4String name;
0077
0078 G4Navigator* ROnavigator;
0079 G4TouchableHistory* touchableHistory;
0080 };
0081
0082 #endif