Warning, file /include/Geant4/G4ParameterisationTubs.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
0031
0032
0033
0034
0035
0036 #ifndef G4PARAMETERISATIONTUBS_HH
0037 #define G4PARAMETERISATIONTUBS_HH 1
0038
0039 #include "G4VDivisionParameterisation.hh"
0040
0041 class G4VPhysicalVolume;
0042
0043
0044
0045 class G4Trd;
0046 class G4Trap;
0047 class G4Cons;
0048 class G4Sphere;
0049 class G4Orb;
0050 class G4Ellipsoid;
0051 class G4Torus;
0052 class G4Para;
0053 class G4Hype;
0054 class G4Polycone;
0055 class G4Polyhedra;
0056
0057 class G4VParameterisationTubs : public G4VDivisionParameterisation
0058 {
0059 public:
0060
0061 G4VParameterisationTubs( EAxis axis, G4int nCopies,
0062 G4double offset, G4double step,
0063 G4VSolid* msolid, DivisionType divType );
0064
0065 ~G4VParameterisationTubs() override;
0066 };
0067
0068 class G4ParameterisationTubsRho : public G4VParameterisationTubs
0069 {
0070 public:
0071
0072 G4ParameterisationTubsRho( EAxis axis, G4int nCopies,
0073 G4double offset, G4double step,
0074 G4VSolid* motherSolid, DivisionType divType );
0075 ~G4ParameterisationTubsRho() override;
0076
0077 G4double GetMaxParameter() const override;
0078
0079 void ComputeTransformation(const G4int copyNo,
0080 G4VPhysicalVolume* physVol) const override;
0081 void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
0082 const G4VPhysicalVolume* physVol) const override;
0083
0084 private:
0085
0086 void ComputeDimensions (G4Trd&,const G4int,
0087 const G4VPhysicalVolume*) const override {}
0088 void ComputeDimensions (G4Trap&,const G4int,
0089 const G4VPhysicalVolume*) const override {}
0090 void ComputeDimensions (G4Box&,const G4int,
0091 const G4VPhysicalVolume*) const override {}
0092 void ComputeDimensions (G4Sphere&,const G4int,
0093 const G4VPhysicalVolume*) const override {}
0094 void ComputeDimensions (G4Orb&,const G4int,
0095 const G4VPhysicalVolume*) const override {}
0096 void ComputeDimensions (G4Ellipsoid&,const G4int,
0097 const G4VPhysicalVolume*) const override {}
0098 void ComputeDimensions (G4Torus&,const G4int,
0099 const G4VPhysicalVolume*) const override {}
0100 void ComputeDimensions (G4Para&,const G4int,
0101 const G4VPhysicalVolume*) const override {}
0102 void ComputeDimensions (G4Hype&,const G4int,
0103 const G4VPhysicalVolume*) const override {}
0104 void ComputeDimensions (G4Cons&,const G4int,
0105 const G4VPhysicalVolume*) const override {}
0106 void ComputeDimensions (G4Polycone&,const G4int,
0107 const G4VPhysicalVolume*) const override {}
0108 void ComputeDimensions (G4Polyhedra&,const G4int,
0109 const G4VPhysicalVolume*) const override {}
0110 };
0111
0112
0113 class G4ParameterisationTubsPhi : public G4VParameterisationTubs
0114 {
0115 public:
0116
0117 G4ParameterisationTubsPhi( EAxis axis, G4int nCopies,
0118 G4double offset, G4double step,
0119 G4VSolid* motherSolid, DivisionType divType );
0120 ~G4ParameterisationTubsPhi() override;
0121
0122 G4double GetMaxParameter() const override;
0123
0124 void ComputeTransformation(const G4int copyNo,
0125 G4VPhysicalVolume* physVol) const override;
0126 void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
0127 const G4VPhysicalVolume* physVol) const override;
0128
0129 private:
0130
0131 void ComputeDimensions (G4Trd&,const G4int,
0132 const G4VPhysicalVolume*) const override {}
0133 void ComputeDimensions (G4Trap&,const G4int,
0134 const G4VPhysicalVolume*) const override {}
0135 void ComputeDimensions (G4Box&,const G4int,
0136 const G4VPhysicalVolume*) const override {}
0137 void ComputeDimensions (G4Sphere&,const G4int,
0138 const G4VPhysicalVolume*) const override {}
0139 void ComputeDimensions (G4Orb&,const G4int,
0140 const G4VPhysicalVolume*) const override {}
0141 void ComputeDimensions (G4Ellipsoid&,const G4int,
0142 const G4VPhysicalVolume*) const override {}
0143 void ComputeDimensions (G4Torus&,const G4int,
0144 const G4VPhysicalVolume*) const override {}
0145 void ComputeDimensions (G4Para&,const G4int,
0146 const G4VPhysicalVolume*) const override {}
0147 void ComputeDimensions (G4Hype&,const G4int,
0148 const G4VPhysicalVolume*) const override {}
0149 void ComputeDimensions (G4Cons&,const G4int,
0150 const G4VPhysicalVolume*) const override {}
0151 void ComputeDimensions (G4Polycone&,const G4int,
0152 const G4VPhysicalVolume*) const override {}
0153 void ComputeDimensions (G4Polyhedra&,const G4int,
0154 const G4VPhysicalVolume*) const override {}
0155 };
0156
0157
0158 class G4ParameterisationTubsZ : public G4VParameterisationTubs
0159 {
0160 public:
0161
0162 G4ParameterisationTubsZ( EAxis axis, G4int nCopies,
0163 G4double offset, G4double step,
0164 G4VSolid* motherSolid, DivisionType divType );
0165 ~G4ParameterisationTubsZ() override;
0166
0167 G4double GetMaxParameter() const override;
0168
0169 void ComputeTransformation(const G4int copyNo,
0170 G4VPhysicalVolume* physVol) const override;
0171 void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
0172 const G4VPhysicalVolume* physVol) const override;
0173
0174 private:
0175
0176 void ComputeDimensions (G4Trd&,const G4int,
0177 const G4VPhysicalVolume*) const override {}
0178 void ComputeDimensions (G4Trap&,const G4int,
0179 const G4VPhysicalVolume*) const override {}
0180 void ComputeDimensions (G4Box&,const G4int,
0181 const G4VPhysicalVolume*) const override {}
0182 void ComputeDimensions (G4Sphere&,const G4int,
0183 const G4VPhysicalVolume*) const override {}
0184 void ComputeDimensions (G4Orb&,const G4int,
0185 const G4VPhysicalVolume*) const override {}
0186 void ComputeDimensions (G4Ellipsoid&,const G4int,
0187 const G4VPhysicalVolume*) const override {}
0188 void ComputeDimensions (G4Torus&,const G4int,
0189 const G4VPhysicalVolume*) const override {}
0190 void ComputeDimensions (G4Para&,const G4int,
0191 const G4VPhysicalVolume*) const override {}
0192 void ComputeDimensions (G4Hype&,const G4int,
0193 const G4VPhysicalVolume*) const override {}
0194 void ComputeDimensions (G4Cons&,const G4int,
0195 const G4VPhysicalVolume*) const override {}
0196 void ComputeDimensions (G4Polycone&,const G4int,
0197 const G4VPhysicalVolume*) const override {}
0198 void ComputeDimensions (G4Polyhedra&,const G4int,
0199 const G4VPhysicalVolume*) const override {}
0200 };
0201
0202 #endif