Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

PhotonTransporter.h

Go to the documentation of this file.
00001 
00002 // $Id: PhotonTransporter.h,v 1.1 2007/08/20 19:34:13 jpaley Exp $
00003 //
00004 // Interface class for all photon transporters.  Converted from Caius'
00005 // socal code.
00006 //
00007 // jpaley@indiana.edu
00009 #ifndef PHOTONTRANSPORTER_H
00010 #define PHOTONTRANSPORTER_H
00011 
00012 // NOvA includes
00013 #include "Config/Config.h"
00014 #include "Config/Param.h"
00015 #include "EventDataModel/EventHandle.h"
00016 
00017 #include <TRandom3.h>
00018 
00019 namespace photrans {
00020   class PhotonTransporter 
00021     {
00022     public:
00023       PhotonTransporter();      
00024       virtual ~PhotonTransporter();                        
00025       
00026       virtual bool SeedOnEvent(const edm::EventHandle& evt);
00027       void         SetSeed(unsigned int i){ pRandom->SetSeed(i); }
00028       
00029     protected:
00030       unsigned int GeneratePoisson(const double r) const {
00031         return pRandom->Poisson(r); }
00032       unsigned int GenerateFlat(const unsigned int max_value) const {
00033         return pRandom->Integer(max_value); }
00034       
00035       TRandom* pRandom;
00036       
00037     };
00038 }
00039 
00040 #endif // PHOTONTRANSPORTER_H
00041 

Generated on Mon Dec 1 02:35:18 2008 for NOvA Offline by  doxygen 1.3.9.1