File indexing completed on 2025-01-18 09:16:35
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 #ifndef CloudParameterisation_h
0030 #define CloudParameterisation_h 1
0031
0032 #include "globals.hh"
0033 #include "G4VPVParameterisation.hh"
0034 #include "G4ThreeVector.hh"
0035 #include <vector>
0036
0037 class G4VPhysicalVolume;
0038 class G4Box;
0039
0040
0041 class G4Trd;
0042 class G4Trap;
0043 class G4Cons;
0044 class G4Orb;
0045 class G4Sphere;
0046 class G4Ellipsoid;
0047 class G4Torus;
0048 class G4Para;
0049 class G4Hype;
0050 class G4Tubs;
0051 class G4Polycone;
0052 class G4Polyhedra;
0053
0054 class CloudParameterisation : public G4VPVParameterisation
0055 {
0056 public:
0057
0058 explicit CloudParameterisation(const std::vector<G4ThreeVector>& positions);
0059
0060 virtual ~CloudParameterisation()=default;
0061
0062 void ComputeTransformation (const G4int copyNo,
0063 G4VPhysicalVolume* physVol) const;
0064
0065 void ComputeDimensions (G4Box&,const G4int,
0066 const G4VPhysicalVolume*) const {}
0067 void ComputeDimensions (G4Trd&,const G4int,
0068 const G4VPhysicalVolume*) const {}
0069 void ComputeDimensions (G4Trap&,const G4int,
0070 const G4VPhysicalVolume*) const {}
0071 void ComputeDimensions (G4Cons&,const G4int,
0072 const G4VPhysicalVolume*) const {}
0073 void ComputeDimensions (G4Tubs&,const G4int,
0074 const G4VPhysicalVolume*) const {}
0075 void ComputeDimensions (G4Orb&,const G4int,
0076 const G4VPhysicalVolume*) const {}
0077 void ComputeDimensions (G4Ellipsoid&,const G4int,
0078 const G4VPhysicalVolume*) const {}
0079 void ComputeDimensions (G4Torus&,const G4int,
0080 const G4VPhysicalVolume*) const {}
0081 void ComputeDimensions (G4Para&,const G4int,
0082 const G4VPhysicalVolume*) const {}
0083 void ComputeDimensions (G4Hype&,const G4int,
0084 const G4VPhysicalVolume*) const {}
0085 void ComputeDimensions (G4Polycone&,const G4int,
0086 const G4VPhysicalVolume*) const {}
0087 void ComputeDimensions (G4Polyhedra&,const G4int,
0088 const G4VPhysicalVolume*) const {}
0089 void ComputeDimensions (G4Sphere&,const G4int,
0090 const G4VPhysicalVolume*) const {}
0091 private:
0092 std::vector<G4ThreeVector> fPositions;
0093 };
0094 #endif