Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4MoleculeShoot Class Referenceabstract

#include <G4MoleculeGun.hh>

Inheritance diagram for G4MoleculeShoot:
Collaboration diagram for G4MoleculeShoot:

Public Member Functions

 G4MoleculeShoot ()
 
virtual ~G4MoleculeShoot ()
 
virtual void Shoot (G4MoleculeGun *)=0
 
template<typename TYPE >
G4shared_ptr< G4MoleculeShootChangeType ()
 

Static Public Member Functions

static void RandomPosInBox (const G4ThreeVector &boxSize, G4ThreeVector &output)
 

Public Attributes

G4String fMoleculeName
 
G4ThreeVector fPosition
 
G4double fTime
 
G4int fNumber
 
G4ThreeVectorfBoxSize
 

Detailed Description

Definition at line 70 of file G4MoleculeGun.hh.

Constructor & Destructor Documentation

G4MoleculeShoot::G4MoleculeShoot ( )

Definition at line 197 of file G4MoleculeGun.cc.

197  :
198  G4enable_shared_from_this<G4MoleculeShoot>()
199 {
200  fMoleculeName = "";
201  fTime = 0;
202  fNumber = 1;
203  fBoxSize = 0;
204 }
G4ThreeVector * fBoxSize
G4String fMoleculeName
G4MoleculeShoot::~G4MoleculeShoot ( )
virtual

Definition at line 208 of file G4MoleculeGun.cc.

209 {
210  if(fBoxSize) delete fBoxSize;
211 }
G4ThreeVector * fBoxSize

Member Function Documentation

template<typename TYPE >
G4shared_ptr< G4MoleculeShoot > G4MoleculeShoot::ChangeType ( )

Definition at line 112 of file G4MoleculeGun.hh.

113 {
114  G4shared_ptr<G4MoleculeShoot> output(new TG4MoleculeShoot<TYPE>);
115  output->fMoleculeName = fMoleculeName;
116  output->fPosition = fPosition;
117  output->fTime = fTime;
118  output->fNumber = fNumber;
119  output->fBoxSize = fBoxSize;
120  return output;
121 }
G4ThreeVector * fBoxSize
G4ThreeVector fPosition
G4String fMoleculeName
void G4MoleculeShoot::RandomPosInBox ( const G4ThreeVector boxSize,
G4ThreeVector output 
)
static

Definition at line 187 of file G4MoleculeGun.cc.

189 {
190  output[0] = boxSize.x() * G4UniformRand() - boxSize.x()/2;
191  output[1] = boxSize.y() * G4UniformRand() - boxSize.y()/2;
192  output[2] = boxSize.z() * G4UniformRand() - boxSize.z()/2;
193 }
double x() const
double z() const
#define G4UniformRand()
Definition: Randomize.hh:97
double y() const

Here is the call graph for this function:

virtual void G4MoleculeShoot::Shoot ( G4MoleculeGun )
pure virtual

Member Data Documentation

G4ThreeVector* G4MoleculeShoot::fBoxSize

Definition at line 84 of file G4MoleculeGun.hh.

G4String G4MoleculeShoot::fMoleculeName

Definition at line 80 of file G4MoleculeGun.hh.

G4int G4MoleculeShoot::fNumber

Definition at line 83 of file G4MoleculeGun.hh.

G4ThreeVector G4MoleculeShoot::fPosition

Definition at line 81 of file G4MoleculeGun.hh.

G4double G4MoleculeShoot::fTime

Definition at line 82 of file G4MoleculeGun.hh.


The documentation for this class was generated from the following files: