45 #ifndef MOLECULEGUN_HH_
46 #define MOLECULEGUN_HH_
78 template<
typename TYPE> G4shared_ptr<G4MoleculeShoot>
ChangeType();
98 template<
typename TYPE>
111 template<
typename TYPE>
117 output->fTime =
fTime;
188 const std::vector<G4shared_ptr<G4MoleculeShoot> >&
205 std::vector<G4shared_ptr<G4MoleculeShoot> >
fShoots;
std::map< G4String, int > NameNumber
std::vector< G4shared_ptr< G4MoleculeShoot > > fShoots
const std::vector< G4shared_ptr< G4MoleculeShoot > > & GetMoleculeShoot()
virtual void Shoot(G4MoleculeGun *)=0
virtual ~G4MoleculeShoot()
void ShootAtRandomPosition(G4MoleculeGun *)
void BuildAndPushTrack(const G4String &name, const G4ThreeVector &position, double time=0)
virtual void DefineTracks()
void AddMoleculeShoot(G4shared_ptr< G4MoleculeShoot >)
void AddMoleculeInCMRepresentation(size_t n, const G4String &moleculeName, double time=0)
G4MoleculeGunMessenger * fpMessenger
void AddMoleculesRandomPositionInBox(size_t n, const G4String &moleculeName, const G4ThreeVector &boxCenter, const G4ThreeVector &boxExtension, double time=0)
#define G4enable_shared_from_this
static void RandomPosInBox(const G4ThreeVector &boxSize, G4ThreeVector &output)
void AddNMolecules(size_t n, const G4String &moleculeName, const G4ThreeVector &position, double time=0)
virtual ~TG4MoleculeShoot()
void AddMolecule(const G4String &moleculeName, const G4ThreeVector &position, double time=0)
G4shared_ptr< G4MoleculeShoot > ChangeType()
void Shoot(G4MoleculeGun *)
void GetNameAndNumber(NameNumber &)
void ShootAtFixedPosition(G4MoleculeGun *)