Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

GLG4VertexGen_HEPEvt Class Reference

vertex generator that generates a primary vertex based on information from an ASCII stream. More...

#include <GLG4VertexGen.hh>

Inheritance diagram for GLG4VertexGen_HEPEvt:

GLG4VVertexGen List of all members.

Public Types

enum  {
  kIonCodeOffset = 9800000, kPDGcodeModulus = 10000000, kISTHEP_ParticleForTracking = 1, kISTHEP_InformatonMin = 100,
  kISTHEP_Max = 213
}

Public Member Functions

 GLG4VertexGen_HEPEvt (const char *arg_dbname)
virtual void GeneratePrimaryVertex (G4Event *argEvent)
 Generates one or more particles with type, momentum, and optional time offset, spatial offset, and polarization, based on lines read from file via SetState().
virtual void SetState (G4String newValues)
 Set source of HEPEVT ascii data for this generator, or print current source and help.
virtual G4String GetState ()
void Open (const char *argFilename)
void GetDataLine (char *buffer, size_t size)
void Close ()

Detailed Description

vertex generator that generates a primary vertex based on information from an ASCII stream.

The ASCII stream contains information in a HEPEVT-like style.


Member Function Documentation

void GLG4VertexGen_HEPEvt::GeneratePrimaryVertex G4Event *  argEvent  )  [virtual]
 

Generates one or more particles with type, momentum, and optional time offset, spatial offset, and polarization, based on lines read from file via SetState().

The file has the format

 NHEP
  ISTHEP IDHEP JDAHEP1 JDAHEP2 PHEP1 PHEP2 PHEP3 PHEP5 DT X Y Z PLX PLY PLZ
  ISTHEP IDHEP JDAHEP1 JDAHEP2 PHEP1 PHEP2 PHEP3 PHEP5 DT X Y Z PLX PLY PLZ
  ISTHEP IDHEP JDAHEP1 JDAHEP2 PHEP1 PHEP2 PHEP3 PHEP5 DT X Y Z PLX PLY PLZ
  ... [NHEP times]
 NHEP
  ISTHEP IDHEP JDAHEP1 JDAHEP2 PHEP1 PHEP2 PHEP3 PHEP5 DT X Y Z PLX PLY PLZ
  ISTHEP IDHEP JDAHEP1 JDAHEP2 PHEP1 PHEP2 PHEP3 PHEP5 DT X Y Z PLX PLY PLZ
  ISTHEP IDHEP JDAHEP1 JDAHEP2 PHEP1 PHEP2 PHEP3 PHEP5 DT X Y Z PLX PLY PLZ
  ... [NHEP times]
where
    ISTHEP   == status code
    IDHEP    == HEP PDG code
    JDAHEP   == first daughter
    JDAHEP   == last daughter
    PHEP1    == px in GeV
    PHEP2    == py in GeV
    PHEP3    == pz in GeV
    PHEP5    == mass in GeV
    DT       == vertex _delta_ time, in ns (*)
    X        == x vertex in mm
    Y        == y vertex in mm 
    Z        == z vertex in mm 
    PLX      == x polarization
    PLY      == y polarization
    PLZ      == z polarization

PHEP5, DT, X, Y, Z, PLX, PLY, and PLZ are all optional. If omitted, the respective quantity is left unchanged. If DT is specified, the time offset of this and subsequent vertices is increased by DT: (*) note DT is a relative shift from the previous line! (This is because there is often a very large dynamic range of time offsets in certain types of events, e.g., in radioactive decay chains, and this convention allows such events to be represented using a reasonable number of significant digits.) If X, Y, Z, PLX, PLY, and/or PLZ is specified, then the values replace any previously specified.

Implements GLG4VVertexGen.

void GLG4VertexGen_HEPEvt::SetState G4String  newValues  )  [virtual]
 

Set source of HEPEVT ascii data for this generator, or print current source and help.

Format of string: either "filename" or "shell_command (arguments) |".

Implements GLG4VVertexGen.


The documentation for this class was generated from the following files:
Generated on Fri Jul 6 13:31:46 2007 for GLG4sim by  doxygen 1.3.9.1