#include <EDepSimHitSegment.hh>
Public Types | |
typedef G4THitsCollection< EDepSim::HitSegment > | HitSegmentCollection |
Public Member Functions | |
HitSegment (double maxSagitta=1 *CLHEP::mm, double maxLength=5 *CLHEP::mm) | |
HitSegment (const EDepSim::HitSegment &rhs) | |
virtual | ~HitSegment () |
void * | operator new (size_t) |
void | operator delete (void *) |
virtual void | AddStep (G4Step *theStep) |
Add the effects of a part of a step to this hit. More... | |
virtual bool | SameHit (G4Step *theStep) |
virtual void | Draw () |
virtual void | Print () |
virtual void | Draw (const char *) |
virtual void | Print (const char *) const |
std::vector< int > & | GetContributors () |
Provide public access to the contributors for internal G4 classes. More... | |
virtual double | GetLength () const |
int | GetContributor (int i) const |
int | GetContributorCount () const |
int | GetPrimaryTrajectoryId (void) const |
double | GetEnergyDeposit (void) const |
Get the total energy deposited in this hit. More... | |
double | GetSecondaryDeposit (void) const |
double | GetTrackLength (void) const |
const G4LorentzVector & | GetStart () const |
The position of the starting point. More... | |
const G4LorentzVector & | GetStop () const |
The position of the stopping point. More... | |
void | ls (std::string="") const |
Print the hit information. More... | |
Protected Member Functions | |
int | FindPrimaryId (G4Track *theTrack) |
double | FindSagitta (G4Step *theStep) |
double | FindSeparation (G4Step *theStep) |
Private Attributes | |
double | fMaxSagitta |
The sagitta tolerance for the segment. More... | |
double | fMaxLength |
The maximum length between the start and stop points of the segment. More... | |
std::vector< int > | fContributors |
int | fPrimaryId |
The track id of the primary particle. More... | |
double | fEnergyDeposit |
The total energy deposit in this hit. More... | |
double | fSecondaryDeposit |
double | fTrackLength |
G4LorentzVector | fStart |
The starting position of the segment. More... | |
G4LorentzVector | fStop |
The stopping position of the segment. More... | |
EDepSim::VolumeId | fHitVolume |
The G4 physical volume that contains the hit. More... | |
std::vector< G4ThreeVector > | fPath |
Definition at line 31 of file EDepSimHitSegment.hh.
typedef G4THitsCollection<EDepSim::HitSegment> EDepSim::HitSegment::HitSegmentCollection |
Definition at line 42 of file EDepSimHitSegment.hh.
EDepSim::HitSegment::HitSegment | ( | double | maxSagitta = 1*CLHEP::mm , |
double | maxLength = 5*CLHEP::mm |
||
) |
Create a new hit segment with a maximum allowed sagitta and length. The default values are set so that normally, a scintillator element will only have a single hit for a through going track (& delta-rays).
Definition at line 36 of file EDepSimHitSegment.cc.
EDepSim::HitSegment::HitSegment | ( | const EDepSim::HitSegment & | rhs | ) |
Definition at line 43 of file EDepSimHitSegment.cc.
|
virtual |
Definition at line 53 of file EDepSimHitSegment.cc.
|
virtual |
Add the effects of a part of a step to this hit.
First make sure the step has been initialized.
Definition at line 104 of file EDepSimHitSegment.cc.
|
virtual |
Disambiguate the draw and print methods to distinguish between the G4VHit and TObject definitions.
Definition at line 284 of file EDepSimHitSegment.cc.
|
inlinevirtual |
Definition at line 58 of file EDepSimHitSegment.hh.
|
protected |
Find the primary track ID for the current track. This is the primary that is the ultimate parent of the current track.
Definition at line 100 of file EDepSimHitSegment.cc.
|
protected |
Find the maximum separation (the sagitta) between the current hit segment path points, and the straight line connecting the start and proposed new stop point.
Definition at line 222 of file EDepSimHitSegment.cc.
|
protected |
Find the maximum distance from the hit segment to the new step that is proposed to be added to the hit segment. This is used to combine secondaries with a parent track.
Definition at line 253 of file EDepSimHitSegment.cc.
|
inline |
Return a list of track identifiers that contributed to this hit. These track ids can be used as indicies to find trajectories in the TG4TrajectoryContainer object associated with an MC event.
Definition at line 71 of file EDepSimHitSegment.hh.
|
inline |
Return a list of track identifiers that contributed to this hit. These track ids can be used as indicies to find trajectories in the TG4TrajectoryContainer object associated with an MC event.
Definition at line 78 of file EDepSimHitSegment.hh.
|
inline |
Provide public access to the contributors for internal G4 classes.
Definition at line 62 of file EDepSimHitSegment.hh.
|
inline |
Get the total energy deposited in this hit.
Definition at line 95 of file EDepSimHitSegment.hh.
|
virtual |
Find the distance from the starting point to stoping point of the track.
Definition at line 303 of file EDepSimHitSegment.cc.
|
inline |
Get the TrackId of the "primary" particle that is associated with this hit. This is slightly complicated since the "interesting" primary particle is saved. For instance, if the primary particle is a pizero, The TrackId of the gamma-rays from the decay is saved. Likewise, the electron from a muon decay is used as the primary particle. You can find the "really truly" primary particle by finding the trajectory associated with this PrimaryId, and then working backwards to the associated G4PrimaryParticle (You can tell that a trajectory comes from a primary particle by checking if it's ParentID is zero. If it is zero, the trajectory came from a primary).
Definition at line 92 of file EDepSimHitSegment.hh.
|
inline |
Get the secondary energy deposited in this hit (see the field documentation).
Definition at line 99 of file EDepSimHitSegment.hh.
|
inline |
The position of the starting point.
Definition at line 107 of file EDepSimHitSegment.hh.
|
inline |
The position of the stopping point.
Definition at line 110 of file EDepSimHitSegment.hh.
|
inline |
Get the total charged track length in this hit. This includes all of the contributions from secondary particles that got lumped into this hit (e.g. the contributions from delta-rays).
Definition at line 104 of file EDepSimHitSegment.hh.
void EDepSim::HitSegment::ls | ( | std::string | = "" | ) | const |
Print the hit information.
|
inline |
Definition at line 242 of file EDepSimHitSegment.hh.
|
inline |
Definition at line 236 of file EDepSimHitSegment.hh.
|
virtual |
Definition at line 297 of file EDepSimHitSegment.cc.
|
inlinevirtual |
Definition at line 59 of file EDepSimHitSegment.hh.
|
virtual |
Hits for the same primary particle, in the same physical volume belong in the same hit.
Definition at line 55 of file EDepSimHitSegment.cc.
|
private |
The TrackID for each trajectory that contributed to this hit. This could contain the TrackID of the primary particle, but not necessarily.
Definition at line 191 of file EDepSimHitSegment.hh.
|
private |
The total energy deposit in this hit.
Definition at line 197 of file EDepSimHitSegment.hh.
|
private |
The G4 physical volume that contains the hit.
Definition at line 225 of file EDepSimHitSegment.hh.
|
private |
The maximum length between the start and stop points of the segment.
Definition at line 186 of file EDepSimHitSegment.hh.
|
private |
The sagitta tolerance for the segment.
Definition at line 183 of file EDepSimHitSegment.hh.
|
private |
The end points of the steps that make up this hit. This is used to make sure that the current hit stays inside of it's allowed tolerances.
Definition at line 230 of file EDepSimHitSegment.hh.
|
private |
The track id of the primary particle.
Definition at line 194 of file EDepSimHitSegment.hh.
|
private |
The "secondary" energy deposit in this hit. This is used to help simulate the recombination of electrons, and is part of the total energy deposit.
DETSIM is expected to use this field to save the amount of energy deposited as opticalphotons. The remaining energy will be deposited as ionization. In this model (in argon), the mean number of quanta created will be <N_q> = (fEnergyDeposit)/(19.5*eV), N_q should be fluctuated around <N_q>, N_ph = N_q*fSecondaryDeposit/fEnergyDeposit, and N_e = N_q - N_ph. Thd fSecondaryDeposit value already includes the binomial fluctuation, so don't fluctuate N_ph or N_e.
Definition at line 210 of file EDepSimHitSegment.hh.
|
private |
The starting position of the segment.
Definition at line 218 of file EDepSimHitSegment.hh.
|
private |
The stopping position of the segment.
Definition at line 221 of file EDepSimHitSegment.hh.
|
private |
The total charged track length in this hit. This includes the contribution from all of the secondary particles (e.g. delta-rays) that are included in this hit.
Definition at line 215 of file EDepSimHitSegment.hh.