Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

MJVWaveformCrystal Class Reference

#include <MJVWaveformCrystal.hh>

Inheritance diagram for MJVWaveformCrystal:

MJWaveformCoaxialCrystal MJWaveformPlanarCrystal List of all members.

Public Member Functions

 MJVWaveformCrystal ()
 MJVWaveformCrystal (const MJVWaveformCrystal &)
virtual ~MJVWaveformCrystal ()
void AddChargePoint (MJWaveformChargePoint *chgpt)
virtual void Construct ()=0
virtual HepDouble ConvertEnergyLossToCharge (HepDouble eloss)
virtual Hep3Vector ConvertGridpointToCoordinate (HepInt *location)=0
virtual void ConvertCoordinateToGridpoint (const Hep3Vector *coord, HepInt *loc)=0
virtual void GenerateSignal ()
virtual void GetDriftFieldVector (const Hep3Vector *pos, Hep3Vector *efield)=0
virtual HepDouble GetInitialGridPointSigma ()
virtual Hep3Vector GetHoleVelocity (const Hep3Vector *position)
virtual Hep3Vector GetElectronVelocity (const Hep3Vector *position)
virtual HepBoolean InDeadLayer (const Hep3Vector *position)
void ResetAllSegmentWaveforms ()
virtual void SetConstants (void)
virtual HepBoolean OutsideCrystal (Hep3Vector *pos)
HepBoolean DiffusionOn ()
HepDouble GetBiasVoltage ()
HepDouble GetDielectricConstant ()
virtual HepDouble GetDielectricConstant (Hep3Vector *pos)
HepDouble GetDiffusionConstant ()
virtual HepDouble GetDiffusionConstant (Hep3Vector *pos)
HepInt GetDiffusionStepInterval ()
MJVWaveformSegmentGetFirstSegment ()
HepDouble GetGridPointSize ()
MJVWaveformCrystalGetNextCrystal ()
MJVWaveformCrystalGetPreviousCrystal ()
HepDouble GetSpaceChargeDensity ()
virtual HepDouble GetSpaceChargeDensity (Hep3Vector *pos)
HepDouble GetTimeStep ()
HepInt GetTrappingStepInterval ()
void SetBiasVoltage (HepDouble voltage)
void SetGridPointSize (HepDouble sz)
void SetNextCrystal (MJVWaveformCrystal *xtal)
void SetPreviousCrystal (MJVWaveformCrystal *xtal)
HepBoolean TrappingOn ()

Protected Member Functions

void AddSegment (MJVWaveformSegment *seg)
void DeleteChargePoints ()

Private Member Functions

void DeleteSegments ()

Private Attributes

HepDouble fDielectricConstant
HepDouble fDiffusionConstant
HepBoolean fDiffusionOn
HepInt fDiffusionStepInterval
HepDouble fGridPointSize
HepDouble fSpaceChargeDensity
HepDouble fTimeStep
HepInt fTrappingStepInterval
HepBoolean fTrappingOn
HepDouble fBiasVoltage
MJWaveformChargePointfFirstChargePoint
MJWaveformChargePointfLastChargePoint
HepInt fNumberOfChargePoints
MJWaveformChargePointfFirstActiveChargePoint
MJWaveformChargePointfLastActiveChargePoint
MJVWaveformSegmentfFirstSegment
MJVWaveformSegmentfLastSegment
HepInt fNumberOfSegments
MJVWaveformCrystalfNextCrystal
MJVWaveformCrystalfPreviousCrystal
HepDouble kmu_0_e
HepDouble kmu_0_h
HepDouble kbeta_e
HepDouble kbeta_h
HepDouble keps_0_e
HepDouble keps_0_h

Constructor & Destructor Documentation

MJVWaveformCrystal::MJVWaveformCrystal  ) 
 

AUTHOR: R.Henning CONTACT: FIRST SUBMISSION: Tue Apr 20 20:13:42 PDT 2004

REVISION:

04-23-2004, Created, R. Henning 06-25-2004, Corrected MJLog arguments.

Definition at line 63 of file MJVWaveformCrystal.cc.

MJVWaveformCrystal::MJVWaveformCrystal const MJVWaveformCrystal  ) 
 

Definition at line 72 of file MJVWaveformCrystal.cc.

MJVWaveformCrystal::~MJVWaveformCrystal  )  [virtual]
 

Definition at line 77 of file MJVWaveformCrystal.cc.

References DeleteChargePoints(), and DeleteSegments().


Member Function Documentation

void MJVWaveformCrystal::AddChargePoint MJWaveformChargePoint chgpt  ) 
 

Definition at line 86 of file MJVWaveformCrystal.cc.

References fFirstActiveChargePoint, fFirstChargePoint, fLastActiveChargePoint, fLastChargePoint, fNumberOfChargePoints, MJLog, MJWaveformChargePoint::SetNextActiveChargePoint(), MJWaveformChargePoint::SetNextChargePoint(), MJWaveformChargePoint::SetPreviousActiveChargePoint(), MJWaveformChargePoint::SetPreviousChargePoint(), and MJWaveformChargePoint::StillActive().

Referenced by MJWaveformPlanarDetector::BeginOfEventAction(), and MJWaveformCoaxialDetector::BeginOfEventAction().

void MJVWaveformCrystal::AddSegment MJVWaveformSegment seg  )  [protected]
 

Definition at line 118 of file MJVWaveformCrystal.cc.

References fFirstSegment, fLastSegment, fNumberOfSegments, MJLog, MJVWaveformSegment::SetNextSegment(), and MJVWaveformSegment::SetPreviousSegment().

Referenced by MJWaveformPlanarCrystal::Construct(), and MJWaveformCoaxialCrystal::Construct().

virtual void MJVWaveformCrystal::Construct  )  [pure virtual]
 

Implemented in MJWaveformCoaxialCrystal, and MJWaveformPlanarCrystal.

Referenced by MJWaveformPlanarDetector::Construct(), and MJWaveformCoaxialDetector::Construct().

virtual void MJVWaveformCrystal::ConvertCoordinateToGridpoint const Hep3Vector *  coord,
HepInt *  loc
[pure virtual]
 

Implemented in MJWaveformCoaxialCrystal, and MJWaveformPlanarCrystal.

Referenced by MJWaveformPlanarDetector::BeginOfEventAction(), and MJWaveformCoaxialDetector::BeginOfEventAction().

HepDouble MJVWaveformCrystal::ConvertEnergyLossToCharge HepDouble  eloss  )  [virtual]
 

Convert the Geant 4 energy loss to number of electron-hole pairs produced. eloss in MeV.

Definition at line 136 of file MJVWaveformCrystal.cc.

Referenced by MJWaveformChargePoint::InitializePropagation().

virtual Hep3Vector MJVWaveformCrystal::ConvertGridpointToCoordinate HepInt *  location  )  [pure virtual]
 

Convert gridpoint that WaveformChargePoints are created on to a physical coordinate inside the crystal for propagation (and vice-versa). Pure virtual -- needs to be redefined in derived class.

Implemented in MJWaveformCoaxialCrystal, and MJWaveformPlanarCrystal.

Referenced by MJWaveformChargePoint::InitializePropagation().

void MJVWaveformCrystal::DeleteChargePoints  )  [protected]
 

Definition at line 144 of file MJVWaveformCrystal.cc.

References fFirstActiveChargePoint, fFirstChargePoint, fLastActiveChargePoint, fLastChargePoint, fNumberOfChargePoints, MJWaveformChargePoint::GetNextChargePoint(), and MJLog.

Referenced by ~MJVWaveformCrystal().

void MJVWaveformCrystal::DeleteSegments  )  [private]
 

Definition at line 170 of file MJVWaveformCrystal.cc.

References fFirstSegment, fLastSegment, fNumberOfSegments, MJVWaveformSegment::GetNextSegment(), and MJLog.

Referenced by ~MJVWaveformCrystal().

HepBoolean MJVWaveformCrystal::DiffusionOn  )  [inline]
 

Definition at line 160 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformChargePoint::InitializePropagation().

void MJVWaveformCrystal::GenerateSignal  )  [virtual]
 

Definition at line 195 of file MJVWaveformCrystal.cc.

References MJVWaveformSegment::AddWaveformPoint(), MJWaveformChargePoint::DoOneStep(), MJWaveformChargePoint::Dump(), fFirstActiveChargePoint, fLastActiveChargePoint, MJWaveformChargePoint::GetNextActiveChargePoint(), MJVWaveformSegment::GetNextSegment(), ResetAllSegmentWaveforms(), and MJWaveformChargePoint::StillActive().

Referenced by MJVWaveformDetector::GenerateSignals().

HepDouble MJVWaveformCrystal::GetBiasVoltage  )  [inline]
 

Definition at line 161 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformCoaxialCrystal::Construct(), and MJWaveformPlanarCrystal::GetDriftFieldVector().

virtual HepDouble MJVWaveformCrystal::GetDielectricConstant Hep3Vector *  pos  )  [inline, virtual]
 

Definition at line 163 of file MJVWaveformCrystal.hh.

HepDouble MJVWaveformCrystal::GetDielectricConstant  )  [inline]
 

Definition at line 162 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformCoaxialCrystal::Construct(), and MJWaveformPlanarCrystal::GetDriftFieldVector().

virtual HepDouble MJVWaveformCrystal::GetDiffusionConstant Hep3Vector *  pos  )  [inline, virtual]
 

Definition at line 166 of file MJVWaveformCrystal.hh.

HepDouble MJVWaveformCrystal::GetDiffusionConstant  )  [inline]
 

Definition at line 165 of file MJVWaveformCrystal.hh.

HepInt MJVWaveformCrystal::GetDiffusionStepInterval  )  [inline]
 

Definition at line 168 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformChargePoint::InitializePropagation().

virtual void MJVWaveformCrystal::GetDriftFieldVector const Hep3Vector *  pos,
Hep3Vector *  efield
[pure virtual]
 

Electric Drift Field. Assigns field to predefined vector to save CPU time. Pure virtual -- needs to be redefined in derived class.

Implemented in MJWaveformCoaxialCrystal, and MJWaveformPlanarCrystal.

Referenced by GetElectronVelocity(), and GetHoleVelocity().

Hep3Vector MJVWaveformCrystal::GetElectronVelocity const Hep3Vector *  position  )  [virtual]
 

Electron velocity at specific point.

Definition at line 228 of file MJVWaveformCrystal.cc.

References GetDriftFieldVector(), and kmu_0_e.

MJVWaveformSegment* MJVWaveformCrystal::GetFirstSegment  )  [inline]
 

Definition at line 170 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformPlanarDetector::BeginOfEventAction(), MJWaveformPlanarDetector::EndOfEventAction(), and MJWaveformCoaxialDetector::EndOfEventAction().

HepDouble MJVWaveformCrystal::GetGridPointSize  )  [inline]
 

Definition at line 171 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformPlanarCrystal::ConvertCoordinateToGridpoint(), MJWaveformCoaxialCrystal::ConvertCoordinateToGridpoint(), MJWaveformPlanarCrystal::ConvertGridpointToCoordinate(), MJWaveformCoaxialCrystal::ConvertGridpointToCoordinate(), and MJWaveformChargePoint::InitializePropagation().

Hep3Vector MJVWaveformCrystal::GetHoleVelocity const Hep3Vector *  position  )  [virtual]
 

Hole velocity at specific point.

Definition at line 250 of file MJVWaveformCrystal.cc.

References GetDriftFieldVector(), and kmu_0_h.

HepDouble MJVWaveformCrystal::GetInitialGridPointSigma  )  [virtual]
 

Size of charge point when it is first created.

Definition at line 221 of file MJVWaveformCrystal.cc.

Referenced by MJWaveformChargePoint::InitializePropagation().

MJVWaveformCrystal* MJVWaveformCrystal::GetNextCrystal  )  [inline]
 

Definition at line 172 of file MJVWaveformCrystal.hh.

Referenced by MJVWaveformDetector::DeleteCrystals(), and MJVWaveformDetector::GenerateSignals().

MJVWaveformCrystal* MJVWaveformCrystal::GetPreviousCrystal  )  [inline]
 

Definition at line 173 of file MJVWaveformCrystal.hh.

virtual HepDouble MJVWaveformCrystal::GetSpaceChargeDensity Hep3Vector *  pos  )  [inline, virtual]
 

Definition at line 175 of file MJVWaveformCrystal.hh.

HepDouble MJVWaveformCrystal::GetSpaceChargeDensity  )  [inline]
 

Definition at line 174 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformCoaxialCrystal::Construct(), and MJWaveformPlanarCrystal::GetDriftFieldVector().

HepDouble MJVWaveformCrystal::GetTimeStep  )  [inline]
 

Definition at line 177 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformPlanarDetector::EndOfEventAction(), and MJWaveformChargePoint::InitializePropagation().

HepInt MJVWaveformCrystal::GetTrappingStepInterval  )  [inline]
 

Definition at line 178 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformChargePoint::InitializePropagation().

virtual HepBoolean MJVWaveformCrystal::InDeadLayer const Hep3Vector *  position  )  [inline, virtual]
 

Returns true if inside dead layer.

Definition at line 140 of file MJVWaveformCrystal.hh.

virtual HepBoolean MJVWaveformCrystal::OutsideCrystal Hep3Vector *  pos  )  [inline, virtual]
 

Determine if a point is inside or outside the crystal. For virtual class point is always inside crystal.

Reimplemented in MJWaveformCoaxialCrystal, and MJWaveformPlanarCrystal.

Definition at line 156 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformChargePoint::InitializePropagation(), and MJWaveformChargePoint::PropagateOneStep().

void MJVWaveformCrystal::ResetAllSegmentWaveforms  ) 
 

Set all segment waveforms to zero.

Definition at line 239 of file MJVWaveformCrystal.cc.

References MJVWaveformSegment::GetNextSegment(), and MJVWaveform::SetAllZero().

Referenced by GenerateSignal().

void MJVWaveformCrystal::SetBiasVoltage HepDouble  voltage  )  [inline]
 

Definition at line 179 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformPlanarCrystal::Construct(), and MJWaveformCoaxialCrystal::Construct().

void MJVWaveformCrystal::SetConstants void   )  [virtual]
 

Set default values for constant.

Definition at line 261 of file MJVWaveformCrystal.cc.

References fDielectricConstant, fDiffusionOn, fGridPointSize, fSpaceChargeDensity, fTimeStep, fTrappingOn, kbeta_e, kbeta_h, keps_0_e, keps_0_h, kmu_0_e, and kmu_0_h.

Referenced by MJWaveformPlanarCrystal::Construct(), and MJWaveformCoaxialCrystal::Construct().

void MJVWaveformCrystal::SetGridPointSize HepDouble  sz  )  [inline]
 

Definition at line 181 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformCoaxialCrystal::Construct().

void MJVWaveformCrystal::SetNextCrystal MJVWaveformCrystal xtal  )  [inline]
 

Definition at line 182 of file MJVWaveformCrystal.hh.

Referenced by MJVWaveformDetector::AddCrystal().

void MJVWaveformCrystal::SetPreviousCrystal MJVWaveformCrystal xtal  )  [inline]
 

Definition at line 184 of file MJVWaveformCrystal.hh.

Referenced by MJVWaveformDetector::AddCrystal().

HepBoolean MJVWaveformCrystal::TrappingOn  )  [inline]
 

Definition at line 186 of file MJVWaveformCrystal.hh.

Referenced by MJWaveformChargePoint::InitializePropagation().


Member Data Documentation

HepDouble MJVWaveformCrystal::fBiasVoltage [private]
 

Definition at line 206 of file MJVWaveformCrystal.hh.

HepDouble MJVWaveformCrystal::fDielectricConstant [private]
 

Definition at line 197 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepDouble MJVWaveformCrystal::fDiffusionConstant [private]
 

Definition at line 198 of file MJVWaveformCrystal.hh.

HepBoolean MJVWaveformCrystal::fDiffusionOn [private]
 

Definition at line 199 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepInt MJVWaveformCrystal::fDiffusionStepInterval [private]
 

Definition at line 200 of file MJVWaveformCrystal.hh.

MJWaveformChargePoint* MJVWaveformCrystal::fFirstActiveChargePoint [private]
 

Definition at line 214 of file MJVWaveformCrystal.hh.

Referenced by AddChargePoint(), DeleteChargePoints(), and GenerateSignal().

MJWaveformChargePoint* MJVWaveformCrystal::fFirstChargePoint [private]
 

Definition at line 209 of file MJVWaveformCrystal.hh.

Referenced by AddChargePoint(), and DeleteChargePoints().

MJVWaveformSegment* MJVWaveformCrystal::fFirstSegment [private]
 

Definition at line 218 of file MJVWaveformCrystal.hh.

Referenced by AddSegment(), and DeleteSegments().

HepDouble MJVWaveformCrystal::fGridPointSize [private]
 

Definition at line 201 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

MJWaveformChargePoint* MJVWaveformCrystal::fLastActiveChargePoint [private]
 

Definition at line 215 of file MJVWaveformCrystal.hh.

Referenced by AddChargePoint(), DeleteChargePoints(), and GenerateSignal().

MJWaveformChargePoint* MJVWaveformCrystal::fLastChargePoint [private]
 

Definition at line 210 of file MJVWaveformCrystal.hh.

Referenced by AddChargePoint(), and DeleteChargePoints().

MJVWaveformSegment* MJVWaveformCrystal::fLastSegment [private]
 

Definition at line 219 of file MJVWaveformCrystal.hh.

Referenced by AddSegment(), and DeleteSegments().

MJVWaveformCrystal* MJVWaveformCrystal::fNextCrystal [private]
 

Definition at line 224 of file MJVWaveformCrystal.hh.

HepInt MJVWaveformCrystal::fNumberOfChargePoints [private]
 

Definition at line 211 of file MJVWaveformCrystal.hh.

Referenced by AddChargePoint(), and DeleteChargePoints().

HepInt MJVWaveformCrystal::fNumberOfSegments [private]
 

Definition at line 220 of file MJVWaveformCrystal.hh.

Referenced by AddSegment(), and DeleteSegments().

MJVWaveformCrystal* MJVWaveformCrystal::fPreviousCrystal [private]
 

Definition at line 225 of file MJVWaveformCrystal.hh.

HepDouble MJVWaveformCrystal::fSpaceChargeDensity [private]
 

Definition at line 202 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepDouble MJVWaveformCrystal::fTimeStep [private]
 

Definition at line 203 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepBoolean MJVWaveformCrystal::fTrappingOn [private]
 

Definition at line 205 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepInt MJVWaveformCrystal::fTrappingStepInterval [private]
 

Definition at line 204 of file MJVWaveformCrystal.hh.

HepDouble MJVWaveformCrystal::kbeta_e [private]
 

Definition at line 230 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepDouble MJVWaveformCrystal::kbeta_h [private]
 

Definition at line 231 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepDouble MJVWaveformCrystal::keps_0_e [private]
 

Definition at line 232 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepDouble MJVWaveformCrystal::keps_0_h [private]
 

Definition at line 233 of file MJVWaveformCrystal.hh.

Referenced by SetConstants().

HepDouble MJVWaveformCrystal::kmu_0_e [private]
 

Definition at line 228 of file MJVWaveformCrystal.hh.

Referenced by GetElectronVelocity(), and SetConstants().

HepDouble MJVWaveformCrystal::kmu_0_h [private]
 

Definition at line 229 of file MJVWaveformCrystal.hh.

Referenced by GetHoleVelocity(), and SetConstants().


The documentation for this class was generated from the following files:
Generated on Mon Nov 29 16:58:58 2004 for Majorana Simulation by  doxygen 1.3.9.1