SToGS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
toROOTGPSPrimaryGeneratorAction.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 
28 #ifndef toROOTGPSPrimaryGeneratorAction_h
29 #define toROOTGPSPrimaryGeneratorAction_h 1
30 
31 #include "globals.hh"
32 #include "G4ParticleMomentum.hh"
33 #include "G4ParticleDefinition.hh"
34 //
35 #include "G4SPSPosDistribution.hh"
36 #include "G4SPSAngDistribution.hh"
37 #include "G4SPSEneDistribution.hh"
38 #include "G4SPSRandomGenerator.hh"
39 
40 #include "G4VUserPrimaryGeneratorAction.hh"
41 
42 // to know SToGS events
43 #include "SToGS_BaseROOTEvents.h"
44 
45 
46 class G4Event;
48 class TChain;
49 
50 
52 
57 class toROOTGPSPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
58 {
59 public:
63 
64 public:
65  virtual void GeneratePrimaries(G4Event* anEvent);
66 
67 public:
69 
71  void GetInputFiles(G4String filename = "setup/toROOTGPS");
72 
73 private:
74  /*
75  G4SPSPosDistribution* posGenerator;
76  G4SPSAngDistribution* angGenerator;
77  G4SPSEneDistribution* eneGenerator;
78  G4SPSRandomGenerator* biasRndm;
79  //
80  // Other particle properties
81  G4int NumberOfParticlesToBeGenerated;
82  G4ParticleDefinition * particle_definition;
83  G4ParticleMomentum particle_momentum_direction;
84  G4double particle_energy;
85  G4double particle_charge;
86  G4ThreeVector particle_position;
87  G4double particle_time;
88  G4ThreeVector particle_polarization;
89  G4double particle_weight;
90  */
92  TChain *theChainOfPrimaryEvents;
94  SBRPEvent *fPr;
96  Long64_t fCurrentEntry;
97  Long64_t fEntries;
98 
101 };
102 
103 #include "G4UImessenger.hh"
104 
105 class G4UIdirectory;
106 class G4UIcmdWithAString;
107 
109 
115 class toROOTGPSPrimaryGeneratorActionMessanger: public G4UImessenger
116 {
117 public:
120 
121  void SetNewValue(G4UIcommand*, G4String);
122 
123 private:
124  toROOTGPSPrimaryGeneratorAction *theGenerator;
125 
126  G4UIdirectory *theDirectory;
127  G4UIcmdWithAString *resetParametersCmd;
128 };
129 #endif
130 
131 
virtual void GeneratePrimaries(G4Event *anEvent)
toROOTGPSPrimaryGeneratorActionMessanger(toROOTGPSPrimaryGeneratorAction *)
void GetInputFiles(G4String filename="setup/toROOTGPS")
from a given file, it reads the characteristics of the gamma cascade
first step to a general file (ROOT) GPS generator in which events are read from files and/or generata...
Messanger class for ParisBasicPrimaryGenerator.