class TG4CutVector;
class TG4FlagVector;
class TG4GeometryOutputManager;
+class TG4GeometryServices;
class G4Material;
class G4VPhysicalVolume;
+class G4LogicalVolume;
class TG4GeometryManager
{
Float_t thetaY, Float_t phiY, Float_t thetaZ,
Float_t phiZ);
- // NEW - for G4 only
- G4Material* MixMaterials(G4String name, G4double density,
- TG4StringVector* matNames, TG4doubleVector* matWeights);
-
// functions from GBASE
void Ggclos();
Float_t &dens, Float_t &radl, Float_t &absl,
Float_t* ubuf, Int_t& nbuf);
void Gstpar(Int_t itmed, const char *param, Float_t parval);
- void Gsckov(Int_t itmed, Int_t npckov, Float_t *ppckov,
+ void SetCerenkov(Int_t itmed, Int_t npckov, Float_t *ppckov,
Float_t *absco, Float_t *effic, Float_t *rindex);
// functions from GGEOM
// get methods
Int_t VolId(const Text_t* volName) const;
- const char* VolName(Int_t id) const; //new
+ const char* VolName(Int_t id) const;
Int_t NofVolumes() const;
+ Int_t VolId2Mate(Int_t volumeId) const;
// end of methods
//
G4VPhysicalVolume* CreateG4Geometry();
void ReadG3Geometry(G4String filePath);
void UseG3TrackingMediaLimits();
+ void FillMediumIdVector();
void ClearG3Tables();
void ClearG3TablesFinal();
void OpenOutFile(G4String filePath);
void SetWriteGeometry(G4bool writeGeometry);
void SetMapSecond(const G4String& name);
- // get methods
- // volumes
- Int_t NofG3Volumes() const;
- Int_t NofG4LogicalVolumes() const;
- Int_t NofG4PhysicalVolumes() const;
- Int_t NofSensitiveDetectors() const;
- G4bool IsG3Volume(G4String lvName) const;
- void G4ToG3VolumeName(G4String& name) const;
- const G4String& GetMapSecond(const G4String& name);
-
- // sensitive volumes
+ // get methods
G3SensVolVector GetG3SensVolVector() const;
-
- // materials
- G4int GetMediumId(G4Material* material) const;
- G4double GetEffA(G4Material* material) const;
- G4double GetEffZ(G4Material* material) const;
-
- // end of methods for Geant4 only
- //
-
+
protected:
TG4GeometryManager(const TG4GeometryManager& right);
private:
// methods
- G4double* CreateG4doubleArray(Float_t* array, G4int size) const;
- G4String CutName(const char* name) const;
void GstparCut(G4int itmed, TG3Cut par, G4double parval);
void GstparFlag(G4int itmed, TG3Flag par, G4double parval);
- void FillMediumIdVector();
// static data members
static TG4GeometryManager* fgInstance; //this instance
// data members
- TG4GeometryOutputManager* fOutputManager; //output manager
- TG4NameMap fNameMap; //map of volumes names to modules names
+ TG4GeometryOutputManager* fOutputManager; //output manager
+ TG4GeometryServices* fGeometryServices;//geometry services
TG4intVector fMediumIdVector; //vector of second indexes for materials
+ TG4NameMap fNameMap; //map of volumes names to modules names
G4int fMediumCounter; //global medium counter
G4int fMaterialCounter; //global material counter
G4int fMatrixCounter; //global matrix counter