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

MJVWaveformSegment.hh

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 //---------------------------------------------------------------------------//
00032 // Begin description of class here
00040 // End class description
00041 //
00046 // 
00047 // --------------------------------------------------------------------------//
00057 // --------------------------------------------------------------------------//
00058 
00059 #ifndef _MJVWAVEFORMSEGMENT_HH
00060 #define _MJVWAVEFORMSEGMENT_HH
00061 
00062 //---------------------------------------------------------------------------//
00063 
00064 #include <CLHEP/Units/SystemOfUnits.h>
00065 #include <CLHEP/Vector/ThreeVector.h>
00066 
00067 #include "waveform/MJVWaveform.hh"
00068 
00069 //---------------------------------------------------------------------------//
00070 
00071 class MJWaveformChargePoint;
00072 class MJVWaveformCrystal;
00073 
00074 class MJVWaveformSegment : public MJVWaveform
00075 {
00076 public:
00077 
00078   //default constructor
00079   MJVWaveformSegment();
00080 
00081   //copy constructor
00082   MJVWaveformSegment(const MJVWaveformSegment &);
00083 
00084   //destructor
00085   virtual ~MJVWaveformSegment();
00086 
00087   //public interface
00093   virtual void GetWeighingFieldVector(const Hep3Vector *pos, Hep3Vector *Ew)=0;
00094 
00095   virtual void AddWaveformPoint(MJWaveformChargePoint *chgpt);
00096 
00102   virtual void CalculateResponseFunction();
00103 
00104   virtual void Construct() = 0;
00105 
00106   virtual void Dump();
00107 
00108 
00109   // Getters and Setters.
00110   MJVWaveformCrystal  *GetCrystal() { return fCrystal; }
00111   MJVWaveformSegment  *GetNextSegment() { return fNextSegment; }
00112   MJVWaveformSegment  *GetPreviousSegment() { return fPreviousSegment; }
00113   void SetCrystal(MJVWaveformCrystal *xtal) { fCrystal = xtal; }
00114   void SetNextSegment(MJVWaveformSegment *seg) { fNextSegment = seg; }
00115   void SetPreviousSegment(MJVWaveformSegment *seg) 
00116        { fPreviousSegment = seg; }
00117 
00118   //protected members
00119 protected:
00120 
00121   //private  members
00122 private:
00123 
00128   MJVWaveformSegment    *fNextSegment;
00129   MJVWaveformSegment    *fPreviousSegment;
00130 
00134   MJVWaveformCrystal    *fCrystal;
00135 
00139   char *fName;
00140 
00141 };
00142 #endif

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