7 #ifndef __GLG4PosGen_h__
8 #define __GLG4PosGen_h__ 1
11 class G4PrimaryVertex;
12 class G4VPhysicalVolume;
15 #include <G4ThreeVector.hh>
20 GLG4PosGen(
const char *arg_dbname =
"pos") : _dbname(arg_dbname) {}
23 virtual void GeneratePosition(G4ThreeVector &argResult) = 0;
26 virtual void SetState(G4String newValues) = 0;
29 virtual G4String GetState()
const = 0;
40 virtual void GeneratePosition(G4ThreeVector &argResult);
42 void SetState(G4String newValues);
44 G4String GetState()
const;
47 G4ThreeVector _fixedPos;
53 virtual void GeneratePosition(G4ThreeVector &argResult);
58 void SetState(G4String newValues);
63 G4String GetState()
const;
68 G4String _pVolumeName;
69 G4VPhysicalVolume *_pVolume;
70 G4String _materialName;
71 G4Material *_material;
74 G4double _boundingBoxVolume;
75 std::vector<G4ThreeVector> _intercepts;
81 virtual void GeneratePosition(G4ThreeVector &argResult);
89 void SetState(G4String newValues);
92 G4String GetState()
const;
96 G4String _pVolumeName;
97 G4VPhysicalVolume *_pVolume;
98 G4String _materialName;
99 G4Material *_material;
102 G4double _boundingBoxVolume;
108 virtual void GeneratePosition(G4ThreeVector &argResult);
116 void SetState(G4String newValues);
119 G4String GetState()
const;
122 G4double _radius, _height;
123 int _volumeInfoLoaded;
129 virtual void GenerateVertexPositions(G4PrimaryVertex *argVertex,
double max_chain_time,
double event_rate,
133 void GeneratePosition(G4ThreeVector &);
134 void SetState(G4String newValues);
150 G4String GetState()
const;
153 G4double _width, _height;
Definition: GLG4PosGen.hh:126
Definition: GLG4PosGen.hh:105
Definition: GLG4PosGen.hh:78
Definition: GLG4PosGen.hh:50
Definition: GLG4PosGen.hh:37
Definition: GLG4PosGen.hh:18