/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/AmBeGen.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/AmBeGen.hh Source File
Ratpac-two
AmBeGen.hh
1 // RAT::AmBeGen
2 // 10-Jan-2006 WGS
3 
4 // Implements a GLG4Sim-style generator for the amBe reaction. The class we use
5 // is AmBeSource, copied from the CfSource class by Vincent Fischer.
6 
7 // To use this generator, the command is:
8 
9 // /generator/add ambe POSITION[:TIME]
10 
11 // (that is, the TIME is optional). POSITION and TIME are the
12 // same as for the combo generator. For example:
13 
14 // /generator/add AmBe:fill
15 
16 // Note that there is also no "defering" of any tracks of emitted
17 // particles into other events. "TIME" refers to the t0 of the
18 // fission; the default is flat time distribution with a rate of 1 ns.
19 
20 #ifndef __RAT_AmBeGen__
21 #define __RAT_AmBeGen__
22 
23 #include <RAT/GLG4Gen.hh>
24 #include <globals.hh>
25 
26 class G4Event;
27 class G4ParticleDefinition;
28 class GLG4TimeGen;
29 class GLG4PosGen;
30 
31 namespace RAT {
32 
33 class AmBeGen : public GLG4Gen {
34  public:
35  AmBeGen();
36  virtual ~AmBeGen();
37  virtual void GenerateEvent(G4Event *event);
38  virtual void ResetTime(double offset = 0.0);
39  virtual bool IsRepeatable() const { return true; };
40 
41  virtual void SetState(G4String state);
42  virtual G4String GetState() const;
43 
44  virtual void SetTimeState(G4String state);
45  virtual G4String GetTimeState() const;
46  virtual void SetPosState(G4String state);
47  virtual G4String GetPosState() const;
48 
49  protected:
50  // Generator initialization, specified by the user.
51  G4String stateStr;
52 
53  // The time and position generators specified by the user.
54  GLG4TimeGen *timeGen;
55  GLG4PosGen *posGen;
56 
57  // The AmBeSource event model only generate neutrons and photons.
58  G4ParticleDefinition *neutron;
59  G4ParticleDefinition *gamma;
60 };
61 
62 } // namespace RAT
63 
64 #endif // RAT_AmBeGen_h
Definition: GLG4Gen.hh:14
Definition: GLG4PosGen.hh:18
Definition: GLG4TimeGen.hh:6
Definition: AmBeGen.hh:33
Definition: CCCrossSecMessenger.hh:29