File indexing completed on 2024-04-06 11:56:27
0001 #ifndef LaserAlignmentSimulation_LaserPrimaryGeneratorAction_h
0002 #define LaserAlignmentSimulation_LaserPrimaryGeneratorAction_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include "Alignment/LaserAlignmentSimulation/interface/LaserBeamsBarrel.h"
0013 #include "Alignment/LaserAlignmentSimulation/interface/LaserBeamsTEC1.h"
0014 #include "Alignment/LaserAlignmentSimulation/interface/LaserBeamsTEC2.h"
0015
0016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0017
0018
0019 #include "G4Event.hh"
0020 #include "G4VUserPrimaryGeneratorAction.hh"
0021 #include "Randomize.hh"
0022
0023 class G4Event;
0024 class LaserPrimaryGeneratorMessenger;
0025
0026 class LaserPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction {
0027 public:
0028
0029 LaserPrimaryGeneratorAction(edm::ParameterSet const &theConf);
0030
0031 ~LaserPrimaryGeneratorAction() override;
0032
0033 public:
0034
0035
0036 void GeneratePrimaries(G4Event *myEvent) override;
0037
0038 void setGeneratorId(G4PrimaryParticle *aParticle, int ID) const;
0039
0040 private:
0041 G4double thePhotonEnergy;
0042 G4int thenParticleInGun;
0043 G4int thenParticle;
0044
0045 private:
0046 LaserBeamsTEC1 *theLaserBeamsInTEC1;
0047 LaserBeamsTEC2 *theLaserBeamsInTEC2;
0048 LaserBeamsBarrel *theLaserBeamsInTECTIBTOBTEC;
0049 };
0050 #endif