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;
132 virtual void DefineTracks();
140 void AddMolecule(
const G4String& moleculeName,
151 void AddNMolecules(
size_t n,
164 void AddMoleculesRandomPositionInBox(
size_t n,
184 void AddMoleculeInCMRepresentation(
size_t n,
188 const std::vector<G4shared_ptr<G4MoleculeShoot> >&
194 void GetNameAndNumber(NameNumber&);
197 void AddMoleculeShoot(G4shared_ptr<G4MoleculeShoot>);
205 std::vector<G4shared_ptr<G4MoleculeShoot> >
fShoots;
const std::vector< G4shared_ptr< G4MoleculeShoot > > & GetMoleculeShoot()
G4shared_ptr< G4MoleculeShoot > ChangeType()
virtual ~G4MoleculeShoot()
virtual void Shoot(G4MoleculeGun *)=0
#define G4enable_shared_from_this
G4MoleculeGunMessenger * fpMessenger
virtual ~TG4MoleculeShoot()
void ShootAtRandomPosition(G4MoleculeGun *)
static void RandomPosInBox(const G4ThreeVector &boxSize, G4ThreeVector &output)
void Shoot(G4MoleculeGun *)
std::map< G4String, int > NameNumber
void ShootAtFixedPosition(G4MoleculeGun *)
std::vector< G4shared_ptr< G4MoleculeShoot > > fShoots