5 #ifndef __RAT_PosGen_RegexFill__
6 #define __RAT_PosGen_RegexFill__
8 #include <G4AffineTransform.hh>
9 #include <G4LogicalVolume.hh>
10 #include <G4ThreeVector.hh>
11 #include <G4VPhysicalVolume.hh>
12 #include <G4VSolid.hh>
13 #include <RAT/GLG4PosGen.hh>
21 class G4VPhysicalVolume;
31 G4VPhysicalVolume *phys;
34 G4AffineTransform transform;
37 double solidVolume, boundVolume;
40 double x0, x1, y0, y1, z0, z1;
44 std::vector<std::pair<G4VSolid *, G4AffineTransform>> daughters;
57 virtual void GeneratePosition(G4ThreeVector &pos);
60 virtual void SetState(G4String regex);
63 virtual G4String GetState()
const;
69 static void FindVolumes(G4LogicalVolume *mother, regex_t *re, std::vector<FillVolume> &found);
74 static double GetVolume(G4VSolid *solid);
80 std::vector<FillVolume> fVolumes;
83 std::vector<double> fVolumeCumu;
86 static std::map<G4VSolid *, double> fSolidVolumes;
Definition: GLG4PosGen.hh:18
Definition: PosGen_RegexFill.hh:47
Definition: CCCrossSecMessenger.hh:29
Definition: PosGen_RegexFill.hh:26