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

MJWaveformCoaxialCrystal.cc

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------//
00002 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu//
00003 //                                                                           //
00004 //                         MAJORANA Simulation                               //
00005 //                                                                           //
00006 //      This code implementation is the intellectual property of the         //
00007 //      MAJORANA Collaboration. It is based on Geant4, an intellectual       //
00008 //      property of the RD44 GEANT4 collaboration.                           //
00009 //                                                                           //
00010 //                        *********************                              //
00011 //                                                                           //
00012 //    Neither the authors of this software system, nor their employing       //
00013 //    institutes, nor the agencies providing financial support for this      //
00014 //    work  make  any representation or  warranty, express or implied,       //
00015 //    regarding this software system or assume any liability for its use.    //
00016 //    By copying, distributing or modifying the Program (or any work based   //
00017 //    on on the Program) you indicate your acceptance of this statement,     //
00018 //    and all its terms.                                                     //
00019 //                                                                           //
00020 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu//
00021 //---------------------------------------------------------------------------//
00022 //                                                          
00023 // $Id: MJWaveformCoaxialCrystal.cc,v 1.2 2004/11/09 13:42:39 xliu Exp $ 
00024 //      
00025 // CLASS IMPLEMENTATION:  MJWaveformCoaxialCrystal.cc
00026 //
00027 //---------------------------------------------------------------------------//
00033 // 
00034 //---------------------------------------------------------------------------//
00045 //---------------------------------------------------------------------------//
00046 //
00047 
00048 //---------------------------------------------------------------------------//
00049 
00050 #include <math.h>
00051 
00052 #include "waveform/MJWaveformCoaxialCrystal.hh"
00053 
00054 //---------------------------------------------------------------------------//
00055 
00056 MJWaveformCoaxialCrystal::MJWaveformCoaxialCrystal()
00057 {;}
00058 
00059 //---------------------------------------------------------------------------//
00060 
00061 MJWaveformCoaxialCrystal::MJWaveformCoaxialCrystal(const MJWaveformCoaxialCrystal & other)
00062 {;}
00063 
00064 //---------------------------------------------------------------------------//
00065 
00066 MJWaveformCoaxialCrystal::~MJWaveformCoaxialCrystal()
00067 {;}
00068 
00069 //---------------------------------------------------------------------------//
00070 
00071 void MJWaveformCoaxialCrystal::Construct()
00072 {
00073   SetConstants();
00074   SetBiasVoltage(4000.0 * volt);
00075   SetGridPointSize(0.01 * cm);
00076   SetTimeStep(5.0 * ns);
00077   fInnerRadius = 0.5 * cm;
00078   fOuterRadius = 5.0 * cm;
00079   fAlpha = eplus * GetSpaceChargeDensity() / 4.0 / GetDielectricConstant();
00080   fBeta = (GetBiasVoltage() - fAlpha * (fOuterRadius*fOuterRadius -
00081            fInnerRadius*fInnerRadius)) / log(fOuterRadius/fInnerRadius);
00082   (fInnerContact = new MJWaveformCoaxialSegment(-1))->SetCrystal(this);
00083   (fOuterSegment = new MJWaveformCoaxialSegment(+1))->SetCrystal(this);
00084   fInnerContact->Construct();
00085   fOuterContact->Construct();
00086   AddSegment(fInnerContact);
00087   AddSegment(fOuterSegment);
00088 }
00089 
00090 //---------------------------------------------------------------------------//
00091 
00092 void MJWaveformCoaxialCrystal::GetDriftFieldVector(const Hep3Vector *pos, 
00093                                                    Hep3Vector *E)
00094 {
00095   HepDouble r = pos->getRho();
00096   E->set(pos->getX(), pos->getY(), 0.0);
00097   E->setR(-2.0 * fAlpha * r - fBeta / r);
00098 }
00099 
00100 //---------------------------------------------------------------------------//
00101 //---------------------------------------------------------------------------//
00102 
00103 
00104 

Generated on Mon Nov 29 16:58:53 2004 for Majorana Simulation by  doxygen 1.3.9.1