** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=lxr_eic at /usr/local/share/lxr/lxr-2.3.7/lib/LXR/Common.pm line 1161, <GEN28> line 1.
Last-Modified: Sun, 12 Jul 2025 07:01:59 GMT
Content-Type: text/html; charset=utf-8
/master/include/IRT/G4Object.h
Warning, file /include/IRT/G4Object.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002 #include <TObject.h >
0003
0004 #ifndef _G4_OBJECT_
0005 #define _G4_OBJECT_
0006
0007 class G4Material ;
0008 class G4VPhysicalVolume ;
0009 class G4LogicalVolume ;
0010 class G4Colour ;
0011 class G4VSolid ;
0012 class G4OpticalSurface ;
0013
0014
0015 #ifdef _GEANT_SOURCE_CODE_
0016 #include <G4RotationMatrix.hh >
0017 #include <G4ThreeVector.hh >
0018 #else
0019 class G4RotationMatrix ;
0020 class G4ThreeVector ;
0021 #endif
0022
0023 class G4ObjectCopy : public TObject {
0024 public :
0025 G4ObjectCopy (G4VPhysicalVolume *phys = 0): m_PhysicalVolume (phys ) {};
0026 ~G4ObjectCopy () {};
0027
0028 G4VPhysicalVolume *m_PhysicalVolume ;
0029
0030 #ifndef DISABLE_ROOT_IO
0031 ClassDef (G4ObjectCopy , 1);
0032 #endif
0033 };
0034
0035 class G4Object : public TObject {
0036 public :
0037 G4Object (G4VSolid *solid = 0, G4Material *material = 0): m_Solid (solid ), m_Material (material ),
0038 m_LogicalVolume (0) {};
0039 ~G4Object () {};
0040
0041 void DefineIntersectionCut (G4VSolid *cut , G4RotationMatrix *rotation , const G4ThreeVector &translation , bool flip );
0042 void DefineSubtractionCut (G4VSolid *cut , G4RotationMatrix *rotation , const G4ThreeVector &translation , bool flip );
0043 void DefineUnion (G4VSolid *solid );
0044
0045
0046 void SetColor (const G4Colour &color );
0047
0048 void PlaceWedgeCopies (G4VPhysicalVolume *mother );
0049 virtual void AdjustWedgeCopies (G4VPhysicalVolume * ) {};
0050
0051 G4LogicalVolume *GetLogicalVolume ( void ) const { return m_LogicalVolume ; };
0052
0053 virtual G4ObjectCopy *CreateCopy (G4VPhysicalVolume *phys ) { return new G4ObjectCopy (phys ); };
0054 G4ObjectCopy *GetCopy (unsigned id ) const {
0055 return (id < m_Copies .size () ? m_Copies [id ] : 0);
0056 };
0057
0058 virtual G4OpticalSurface *GetMirrorSurface ( void ) const { return 0; };
0059
0060 protected :
0061 G4VSolid *m_Solid ;
0062 std ::vector <G4ObjectCopy *> m_Copies ;
0063
0064 private :
0065 G4Material *m_Material ;
0066
0067 G4LogicalVolume *m_LogicalVolume ;
0068
0069
0070 public :
0071
0072 void DefineLogicalVolume ( void );
0073
0074 #ifndef DISABLE_ROOT_IO
0075 ClassDef (G4Object , 2)
0076 #endif
0077 };
0078
0079 #endif