Import Geant4 9.4.0 source tree
This commit is contained in:
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisationBox.hh,v 1.6 2006/06/29 18:18:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4ParameterisationBox.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// classes G4ParameterisationBoxX,
|
||||
// G4ParameterisationBoxY,
|
||||
@@ -50,6 +50,7 @@ class G4VSolid;
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
//
|
||||
class G4Cons;
|
||||
class G4Trd;
|
||||
class G4Sphere;
|
||||
@@ -79,13 +80,12 @@ class G4ParameterisationBoxX : public G4VParameterisationBox
|
||||
G4ParameterisationBoxX( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* msolid, DivisionType divType );
|
||||
|
||||
virtual ~G4ParameterisationBoxX();
|
||||
~G4ParameterisationBoxX();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions(G4Box& box, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol) const;
|
||||
|
||||
@@ -122,12 +122,12 @@ class G4ParameterisationBoxY : public G4VParameterisationBox
|
||||
G4ParameterisationBoxY( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* msolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationBoxY();
|
||||
~G4ParameterisationBoxY();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
void ComputeDimensions(G4Box& box, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol) const;
|
||||
@@ -165,12 +165,12 @@ class G4ParameterisationBoxZ : public G4VParameterisationBox
|
||||
G4ParameterisationBoxZ( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* msolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationBoxZ();
|
||||
~G4ParameterisationBoxZ();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions(G4Box& box, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol) const;
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisationCons.hh,v 1.6 2006/06/29 18:18:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4ParameterisationCons.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// classes G4ParameterisationConsRho,
|
||||
// G4ParameterisationConsPhi,
|
||||
@@ -50,6 +50,7 @@ class G4VSolid;
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
//
|
||||
class G4Trd;
|
||||
class G4Trap;
|
||||
class G4Box;
|
||||
@@ -80,12 +81,12 @@ class G4ParameterisationConsRho : public G4VParameterisationCons
|
||||
G4ParameterisationConsRho( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationConsRho();
|
||||
~G4ParameterisationConsRho();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Cons& tubs, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol) const;
|
||||
|
||||
@@ -122,12 +123,12 @@ class G4ParameterisationConsPhi : public G4VParameterisationCons
|
||||
G4ParameterisationConsPhi( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationConsPhi();
|
||||
~G4ParameterisationConsPhi();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Cons& tubs, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
@@ -164,12 +165,12 @@ class G4ParameterisationConsZ : public G4VParameterisationCons
|
||||
G4ParameterisationConsZ( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationConsZ();
|
||||
~G4ParameterisationConsZ();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Cons& tubs, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisationPara.hh,v 1.7 2006/06/29 18:18:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4ParameterisationPara.hh,v 1.8 2010/07/02 10:46:27 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// classes G4ParameterisationParaX,
|
||||
// G4ParameterisationParaY,
|
||||
@@ -48,7 +48,9 @@
|
||||
|
||||
class G4VSolid;
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
//
|
||||
class G4Cons;
|
||||
class G4Cons;
|
||||
class G4Sphere;
|
||||
@@ -78,12 +80,12 @@ class G4ParameterisationParaX : public G4VParameterisationPara
|
||||
G4ParameterisationParaX( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* msolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationParaX();
|
||||
~G4ParameterisationParaX();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions(G4Para& para, const G4int copyNo,
|
||||
const G4VPhysicalVolume* pv) const;
|
||||
|
||||
@@ -122,12 +124,12 @@ class G4ParameterisationParaY : public G4VParameterisationPara
|
||||
G4ParameterisationParaY( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* msolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationParaY();
|
||||
~G4ParameterisationParaY();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions(G4Para& para, const G4int copyNo,
|
||||
const G4VPhysicalVolume* pv) const;
|
||||
|
||||
@@ -166,12 +168,12 @@ class G4ParameterisationParaZ : public G4VParameterisationPara
|
||||
G4ParameterisationParaZ( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* msolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationParaZ();
|
||||
~G4ParameterisationParaZ();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions(G4Para& para, const G4int copyNo,
|
||||
const G4VPhysicalVolume* pv) const;
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisationPolycone.hh,v 1.8 2009/05/14 14:19:32 ivana Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
// $Id: G4ParameterisationPolycone.hh,v 1.9 2010/07/02 10:46:27 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// classes G4ParameterisationPolyconeRho,
|
||||
// G4ParameterisationPolyconePhi,
|
||||
@@ -50,6 +50,7 @@
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
//
|
||||
class G4Trd;
|
||||
class G4Trap;
|
||||
class G4Cons;
|
||||
@@ -84,14 +85,14 @@ class G4ParameterisationPolyconeRho : public G4VParameterisationPolycone
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid,
|
||||
DivisionType divType );
|
||||
virtual ~G4ParameterisationPolyconeRho();
|
||||
~G4ParameterisationPolyconeRho();
|
||||
|
||||
virtual void CheckParametersValidity();
|
||||
void CheckParametersValidity();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Polycone& pcone, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
@@ -133,12 +134,12 @@ class G4ParameterisationPolyconePhi : public G4VParameterisationPolycone
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid,
|
||||
DivisionType divType );
|
||||
virtual ~G4ParameterisationPolyconePhi();
|
||||
~G4ParameterisationPolyconePhi();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Polycone& pcone, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
@@ -180,25 +181,24 @@ class G4ParameterisationPolyconeZ : public G4VParameterisationPolycone
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid,
|
||||
DivisionType divType );
|
||||
virtual ~G4ParameterisationPolyconeZ();
|
||||
~G4ParameterisationPolyconeZ();
|
||||
|
||||
virtual void CheckParametersValidity();
|
||||
void CheckParametersValidity();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Polycone& pcone, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
private:
|
||||
G4double GetR(G4double z, G4double z1, G4double r1, G4double z2, G4double r2) const;
|
||||
private:
|
||||
|
||||
G4double GetR(G4double z, G4double z1, G4double r1,
|
||||
G4double z2, G4double r2) const;
|
||||
G4double GetRmin(G4double z, G4int nsegment) const;
|
||||
G4double GetRmax(G4double z, G4int nsegment) const;
|
||||
|
||||
G4int fNSegment;
|
||||
G4PolyconeHistorical* fOrigParamMother;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
|
||||
void ComputeDimensions (G4Trd&,const G4int,
|
||||
@@ -223,6 +223,10 @@ class G4ParameterisationPolyconeZ : public G4VParameterisationPolycone
|
||||
const G4VPhysicalVolume*) const {}
|
||||
void ComputeDimensions (G4Polyhedra&,const G4int,
|
||||
const G4VPhysicalVolume*) const {}
|
||||
private:
|
||||
|
||||
G4int fNSegment;
|
||||
G4PolyconeHistorical* fOrigParamMother;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisationPolyhedra.hh,v 1.9 2009/05/14 14:19:32 ivana Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
// $Id: G4ParameterisationPolyhedra.hh,v 1.10 2010/07/02 10:46:27 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// classes G4ParameterisationPolyhedraRho,
|
||||
// G4ParameterisationPolyhedraPhi,
|
||||
@@ -50,6 +50,7 @@
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
//
|
||||
class G4Trd;
|
||||
class G4Trap;
|
||||
class G4Cons;
|
||||
@@ -90,14 +91,14 @@ class G4ParameterisationPolyhedraRho : public G4VParameterisationPolyhedra
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid,
|
||||
DivisionType divType );
|
||||
virtual ~G4ParameterisationPolyhedraRho();
|
||||
~G4ParameterisationPolyhedraRho();
|
||||
|
||||
virtual void CheckParametersValidity();
|
||||
void CheckParametersValidity();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
@@ -139,14 +140,14 @@ class G4ParameterisationPolyhedraPhi : public G4VParameterisationPolyhedra
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid,
|
||||
DivisionType divType );
|
||||
virtual ~G4ParameterisationPolyhedraPhi();
|
||||
~G4ParameterisationPolyhedraPhi();
|
||||
|
||||
virtual void CheckParametersValidity();
|
||||
void CheckParametersValidity();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
@@ -188,25 +189,24 @@ class G4ParameterisationPolyhedraZ : public G4VParameterisationPolyhedra
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid,
|
||||
DivisionType divType );
|
||||
virtual ~G4ParameterisationPolyhedraZ();
|
||||
~G4ParameterisationPolyhedraZ();
|
||||
|
||||
virtual void CheckParametersValidity();
|
||||
void CheckParametersValidity();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeTransformation( const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol ) const;
|
||||
void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol ) const;
|
||||
|
||||
private:
|
||||
G4double GetR(G4double z, G4double z1, G4double r1, G4double z2, G4double r2) const;
|
||||
private:
|
||||
|
||||
G4double GetR(G4double z, G4double z1, G4double r1,
|
||||
G4double z2, G4double r2) const;
|
||||
G4double GetRmin(G4double z, G4int nsegment) const;
|
||||
G4double GetRmax(G4double z, G4int nsegment) const;
|
||||
|
||||
G4int fNSegment;
|
||||
G4PolyhedraHistorical* fOrigParamMother;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
void ComputeDimensions (G4Trd&,const G4int,
|
||||
const G4VPhysicalVolume*) const {}
|
||||
@@ -230,6 +230,10 @@ class G4ParameterisationPolyhedraZ : public G4VParameterisationPolyhedra
|
||||
const G4VPhysicalVolume*) const {}
|
||||
void ComputeDimensions (G4Polycone&,const G4int,
|
||||
const G4VPhysicalVolume*) const {}
|
||||
private:
|
||||
|
||||
G4int fNSegment;
|
||||
G4PolyhedraHistorical* fOrigParamMother;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisationTrd.hh,v 1.8 2008/12/03 16:48:48 arce Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4ParameterisationTrd.hh,v 1.9 2010/07/02 10:46:27 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// classes G4ParameterisationTrdX
|
||||
// G4ParameterisationTrdY
|
||||
@@ -44,12 +44,15 @@
|
||||
#ifndef G4ParameterisationTrd_H
|
||||
#define G4ParameterisationTrd_H 1
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "G4VDivisionParameterisation.hh"
|
||||
#include "G4VSolid.hh"
|
||||
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
//
|
||||
class G4Cons;
|
||||
class G4Box;
|
||||
class G4Sphere;
|
||||
@@ -60,7 +63,6 @@ class G4Hype;
|
||||
class G4Tubs;
|
||||
class G4Polycone;
|
||||
class G4Polyhedra;
|
||||
#include <vector>
|
||||
|
||||
class G4VParameterisationTrd : public G4VDivisionParameterisation
|
||||
{
|
||||
@@ -72,9 +74,9 @@ class G4VParameterisationTrd : public G4VDivisionParameterisation
|
||||
|
||||
virtual ~G4VParameterisationTrd();
|
||||
|
||||
protected:
|
||||
|
||||
protected:
|
||||
G4bool bDivInTrap;
|
||||
G4bool bDivInTrap;
|
||||
};
|
||||
|
||||
class G4ParameterisationTrdX : public G4VParameterisationTrd
|
||||
@@ -84,22 +86,22 @@ class G4ParameterisationTrdX : public G4VParameterisationTrd
|
||||
G4ParameterisationTrdX( EAxis axis, G4int nCopies,
|
||||
G4double width, G4double offset,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationTrdX();
|
||||
~G4ParameterisationTrdX();
|
||||
|
||||
virtual void CheckParametersValidity();
|
||||
void CheckParametersValidity();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
|
||||
virtual void ComputeDimensions(G4Trd& trd, const G4int copyNo,
|
||||
void ComputeDimensions(G4Trd& trd, const G4int copyNo,
|
||||
const G4VPhysicalVolume* pv) const;
|
||||
|
||||
virtual void ComputeDimensions(G4Trap& trd, const G4int copyNo,
|
||||
void ComputeDimensions(G4Trap& trd, const G4int copyNo,
|
||||
const G4VPhysicalVolume* pv) const;
|
||||
|
||||
virtual G4VSolid* ComputeSolid(const G4int, G4VPhysicalVolume *);
|
||||
G4VSolid* ComputeSolid(const G4int, G4VPhysicalVolume *);
|
||||
|
||||
|
||||
private: // Dummy declarations to get rid of warnings ...
|
||||
@@ -125,8 +127,7 @@ class G4ParameterisationTrdX : public G4VParameterisationTrd
|
||||
void ComputeDimensions (G4Polyhedra&,const G4int,
|
||||
const G4VPhysicalVolume*) const {}
|
||||
|
||||
void ComputeTrapParams();
|
||||
G4Trap* theTrap;
|
||||
void ComputeTrapParams();
|
||||
};
|
||||
|
||||
|
||||
@@ -137,14 +138,14 @@ class G4ParameterisationTrdY : public G4VParameterisationTrd
|
||||
G4ParameterisationTrdY( EAxis axis, G4int nCopies,
|
||||
G4double width, G4double offset,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationTrdY();
|
||||
~G4ParameterisationTrdY();
|
||||
|
||||
virtual void CheckParametersValidity();
|
||||
void CheckParametersValidity();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume *physVol) const;
|
||||
void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume *physVol) const;
|
||||
|
||||
void ComputeDimensions(G4Trd& trd, const G4int copyNo,
|
||||
const G4VPhysicalVolume* pv) const;
|
||||
@@ -183,12 +184,12 @@ class G4ParameterisationTrdZ : public G4VParameterisationTrd
|
||||
G4ParameterisationTrdZ( EAxis axis, G4int nCopies,
|
||||
G4double width, G4double offset,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationTrdZ();
|
||||
~G4ParameterisationTrdZ();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeDimensions(G4Trd& trd, const G4int copyNo,
|
||||
const G4VPhysicalVolume* pv) const;
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisationTubs.hh,v 1.6 2006/06/29 18:18:24 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4ParameterisationTubs.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// classes G4ParameterisationTubsRho
|
||||
// G4ParameterisationTubsPhi
|
||||
@@ -49,6 +49,7 @@
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
// Dummy declarations to get rid of warnings ...
|
||||
//
|
||||
class G4Trd;
|
||||
class G4Trap;
|
||||
class G4Cons;
|
||||
@@ -78,12 +79,12 @@ class G4ParameterisationTubsRho : public G4VParameterisationTubs
|
||||
G4ParameterisationTubsRho( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationTubsRho();
|
||||
~G4ParameterisationTubsRho();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol) const;
|
||||
|
||||
@@ -121,12 +122,12 @@ class G4ParameterisationTubsPhi : public G4VParameterisationTubs
|
||||
G4ParameterisationTubsPhi( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationTubsPhi();
|
||||
~G4ParameterisationTubsPhi();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol) const;
|
||||
|
||||
@@ -164,12 +165,12 @@ class G4ParameterisationTubsZ : public G4VParameterisationTubs
|
||||
G4ParameterisationTubsZ( EAxis axis, G4int nCopies,
|
||||
G4double offset, G4double step,
|
||||
G4VSolid* motherSolid, DivisionType divType );
|
||||
virtual ~G4ParameterisationTubsZ();
|
||||
~G4ParameterisationTubsZ();
|
||||
|
||||
virtual G4double GetMaxParameter() const;
|
||||
G4double GetMaxParameter() const;
|
||||
|
||||
virtual void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
|
||||
const G4VPhysicalVolume* physVol) const;
|
||||
|
||||
|
||||
@@ -0,0 +1,195 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ReplicatedSlice.hh,v 1.2 2010/11/10 09:15:40 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// class G4ReplicatedSlice
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// G4ReplicatedSlice represents many touchable detector elements differing
|
||||
// only in their positioning. The elements' positions are calculated by means
|
||||
// of a simple linear formula.
|
||||
//
|
||||
// Division may occur along:
|
||||
//
|
||||
// o Cartesian axes (kXAxis,kYAxis,kZAxis)
|
||||
//
|
||||
// The divisions, of specified width have coordinates of
|
||||
// form (-width*(nReplicas-1)*0.5+n*width,0,0) where n=0.. nReplicas-1
|
||||
// for the case of kXAxis, and are unrotated.
|
||||
//
|
||||
// o Radial axis (cylindrical polar) (kRho)
|
||||
//
|
||||
// The divisions are cons/tubs sections, centred on the origin
|
||||
// and are unrotated.
|
||||
// They have radii of width*n+offset to width*(n+1)+offset
|
||||
// where n=0..nReplicas-1
|
||||
//
|
||||
// o Phi axis (cylindrical polar) (kPhi)
|
||||
// The divisions are `phi sections' or wedges, and of cons/tubs form
|
||||
// They have phi of offset+n*width to offset+(n+1)*width where
|
||||
// n=0..nReplicas-1
|
||||
|
||||
// History:
|
||||
// -------
|
||||
// Apr/20/2010 - Initial version extended from G4PVDivision
|
||||
// ----------------------------------------------------------------------
|
||||
#ifndef G4ReplicatedSlice_HH
|
||||
#define G4ReplicatedSlice_HH 1
|
||||
|
||||
#include "geomdefs.hh"
|
||||
#include "G4VPhysicalVolume.hh"
|
||||
#include "G4VDivisionParameterisation.hh"
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4VSolid;
|
||||
|
||||
class G4ReplicatedSlice : public G4VPhysicalVolume
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4ReplicatedSlice(const G4String& pName,
|
||||
G4LogicalVolume* pLogical,
|
||||
G4LogicalVolume* pMotherLogical,
|
||||
const EAxis pAxis,
|
||||
const G4int nReplicas,
|
||||
const G4double width,
|
||||
const G4double half_gap,
|
||||
const G4double offset );
|
||||
// Constructor with number of divisions and width
|
||||
|
||||
G4ReplicatedSlice(const G4String& pName,
|
||||
G4LogicalVolume* pLogical,
|
||||
G4LogicalVolume* pMotherLogical,
|
||||
const EAxis pAxis,
|
||||
const G4int nReplicas,
|
||||
const G4double half_gap,
|
||||
const G4double offset );
|
||||
// Constructor with number of divisions
|
||||
|
||||
G4ReplicatedSlice(const G4String& pName,
|
||||
G4LogicalVolume* pLogical,
|
||||
G4LogicalVolume* pMotherLogical,
|
||||
const EAxis pAxis,
|
||||
const G4double width,
|
||||
const G4double half_gap,
|
||||
const G4double offset );
|
||||
// Constructor with width
|
||||
|
||||
public: // without description
|
||||
|
||||
G4ReplicatedSlice(const G4String& pName,
|
||||
G4LogicalVolume* pLogical,
|
||||
G4VPhysicalVolume* pMotherPhysical,
|
||||
const EAxis pAxis,
|
||||
const G4int nReplicas,
|
||||
const G4double width,
|
||||
const G4double half_gap,
|
||||
const G4double offset);
|
||||
// Constructor in mother physical volume
|
||||
|
||||
G4ReplicatedSlice(const G4String& pName,
|
||||
G4LogicalVolume* pLogical,
|
||||
G4VPhysicalVolume* pMotherPhysical,
|
||||
const EAxis pAxis,
|
||||
const G4int nReplicas,
|
||||
const G4double half_gap,
|
||||
const G4double offset );
|
||||
// Constructor with number of divisions
|
||||
|
||||
G4ReplicatedSlice(const G4String& pName,
|
||||
G4LogicalVolume* pLogical,
|
||||
G4VPhysicalVolume* pMotherPhysical,
|
||||
const EAxis pAxis,
|
||||
const G4double width,
|
||||
const G4double half_gap,
|
||||
const G4double offset );
|
||||
// Constructor with width
|
||||
|
||||
public: // with description
|
||||
|
||||
virtual ~G4ReplicatedSlice();
|
||||
|
||||
virtual G4bool IsMany() const;
|
||||
virtual G4int GetCopyNo() const;
|
||||
virtual void SetCopyNo(G4int CopyNo);
|
||||
virtual G4bool IsReplicated() const;
|
||||
virtual G4VPVParameterisation* GetParameterisation() const;
|
||||
virtual void GetReplicationData( EAxis& axis,
|
||||
G4int& nReplicas,
|
||||
G4double& width,
|
||||
G4double& offset,
|
||||
G4bool& consuming ) const;
|
||||
EAxis GetDivisionAxis() const;
|
||||
G4bool IsParameterised() const;
|
||||
|
||||
public: // without description
|
||||
|
||||
G4bool IsRegularStructure() const;
|
||||
G4int GetRegularStructureId() const;
|
||||
// Methods to identify volume that can apply 'regular' navigation.
|
||||
// Currently divisions do not qualify for this.
|
||||
|
||||
private:
|
||||
|
||||
void CheckAndSetParameters( const EAxis pAxis,
|
||||
const G4int nDivs,
|
||||
const G4double width,
|
||||
const G4double half_gap,
|
||||
const G4double offset,
|
||||
DivisionType divType,
|
||||
G4LogicalVolume* pMotherLogical,
|
||||
const G4LogicalVolume* pLogical );
|
||||
|
||||
void SetParameterisation( G4LogicalVolume* motherLogical,
|
||||
const EAxis pAxis,
|
||||
const G4int nReplicas,
|
||||
const G4double width,
|
||||
const G4double half_gap,
|
||||
const G4double offset,
|
||||
DivisionType divType );
|
||||
|
||||
void ErrorInAxis( EAxis axis, G4VSolid* solid );
|
||||
|
||||
private:
|
||||
|
||||
G4ReplicatedSlice(const G4ReplicatedSlice&);
|
||||
const G4ReplicatedSlice& operator=(const G4ReplicatedSlice&);
|
||||
// Private copy constructor and assignment operator.
|
||||
|
||||
protected:
|
||||
|
||||
EAxis faxis; // axis of optimisation
|
||||
EAxis fdivAxis; // axis of division
|
||||
G4int fnReplicas;
|
||||
G4double fwidth,foffset;
|
||||
G4int fcopyNo;
|
||||
G4VDivisionParameterisation *fparam;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VDivisionParameterisation.hh,v 1.11 2007/05/11 13:26:26 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4VDivisionParameterisation.hh,v 1.13 2010/11/10 09:15:48 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// class G4VDivisionParameterisation
|
||||
//
|
||||
@@ -38,6 +38,7 @@
|
||||
// -------
|
||||
// 09.05.01 - P.Arce, Initial version
|
||||
// 08.04.04 - I.Hrivnacova, Implemented reflection
|
||||
// 21.04.10 - M.Asai, Added gaps
|
||||
//---------------------------------------------------------------------
|
||||
#ifndef G4VDivisionParameterisation_H
|
||||
#define G4VDivisionParameterisation_H 1
|
||||
@@ -73,7 +74,9 @@ class G4VDivisionParameterisation : public G4VPVParameterisation
|
||||
inline G4VSolid* GetMotherSolid() const;
|
||||
inline void SetType(const G4String& type);
|
||||
inline G4int VolumeFirstCopyNo() const;
|
||||
|
||||
inline void SetHalfGap(G4double hg);
|
||||
inline G4double GetHalfGap() const;
|
||||
|
||||
protected: // with description
|
||||
|
||||
void ChangeRotMatrix( G4VPhysicalVolume* physVol,
|
||||
@@ -106,6 +109,8 @@ class G4VDivisionParameterisation : public G4VPVParameterisation
|
||||
G4int theVoluFirstCopyNo;
|
||||
|
||||
G4double kCarTolerance;
|
||||
|
||||
G4double fhgap;
|
||||
};
|
||||
|
||||
#include "G4VDivisionParameterisation.icc"
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VDivisionParameterisation.icc,v 1.4 2006/06/29 18:18:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4VDivisionParameterisation.icc,v 1.5 2010/11/10 09:15:55 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
// class G4VDivisionParameterisation Inline Implementation file
|
||||
//
|
||||
@@ -78,3 +78,15 @@ G4int G4VDivisionParameterisation::VolumeFirstCopyNo() const
|
||||
{
|
||||
return theVoluFirstCopyNo;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4VDivisionParameterisation::SetHalfGap(G4double hg)
|
||||
{
|
||||
fhgap = hg;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4VDivisionParameterisation::GetHalfGap() const
|
||||
{
|
||||
return fhgap;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user