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

evgen::CosmicsGen Class Reference

A module to check the results from the Monte Carlo generator. More...

#include <CosmicsGen.h>

Inheritance diagram for evgen::CosmicsGen:

jobc::Module cfg::Observer List of all members.

Public Member Functions

 CosmicsGen (const char *version)
 ~CosmicsGen ()
void Update (const cfg::Config &c)
jobc::Result Reco (edm::EventHandle &evt)

Private Attributes

int fSeed
evgb::CRYHelper * fCRYHelp
 random number seed
std::string fGeoVersion
 CRY generator object.

Detailed Description

A module to check the results from the Monte Carlo generator.

Definition at line 18 of file CosmicsGen.h.


Constructor & Destructor Documentation

CosmicsGen::CosmicsGen const char *  version  ) 
 

get the version for the CRYGen - acceptable versions are nd, ipndshed, fd

Definition at line 30 of file CosmicsGen.cxx.

References fCRYHelp, fGeoVersion, fSeed, util::RandomHandler::GetGenerator(), gRandom, and cfg::Observer::SetWatch().

00030                                           :
00031   jobc::Module("evgen::CosmicsGen"),
00032   fCRYHelp(0)
00033 {
00034   fSeed = util::RandomHandler::GetGenerator()->Integer(10000000);
00035   gRandom->SetSeed(fSeed);
00036 
00037   this->SetWatch("generation", version);
00038 
00041   std::string cryconfig = "default";
00042   if(fGeoVersion.find("ipnd")      != std::string::npos) cryconfig = "ipndshed";
00043   else if(fGeoVersion.find("near") != std::string::npos) cryconfig = "nd";
00044   else if(fGeoVersion.find("far")  != std::string::npos) cryconfig = "fd";
00045 
00046   fCRYHelp = new evgb::CRYHelper(cryconfig.c_str());
00047 
00048 
00049 }

CosmicsGen::~CosmicsGen  ) 
 

Definition at line 52 of file CosmicsGen.cxx.

00053 {
00054   if(fCRYHelp) delete fCRYHelp;
00055 }


Member Function Documentation

jobc::Result CosmicsGen::Reco edm::EventHandle evt  )  [virtual]
 

get the detector geometry

setup the Header

clear the evt as it is the same handle for every spill

Reimplemented from jobc::Module.

Definition at line 67 of file CosmicsGen.cxx.

References edm::EventHandle::Clear(), edm::EventHandle::DAQ(), fCRYHelp, fGeoVersion, fSeed, geo::Geometry::Instance(), edm::EventHandle::MC(), hdr::Header::SetConfiguration(), hdr::Header::SetOrigin(), hdr::Header::SetRandomSeed(), and hdr::Header::SetVersion().

00068 {
00070   geo::Geometry& geo = geo::Geometry::Instance(0, fGeoVersion.c_str());
00071   
00073   hdr::Header header;
00074   header.SetVersion      ("MonteCarlo",      "CRY");
00075   header.SetRandomSeed   ("CRY",             fSeed);
00076   header.SetConfiguration("CRY",             "defaultcosmics");
00077   header.SetConfiguration("Geometry",        fGeoVersion);
00078 
00079   simb::MCTruth truth;
00080   truth.SetOrigin(simb::kCosmicRay);
00081   fCRYHelp->Sample(truth, 0, geo);
00082 
00084   evt.Clear();
00085   evt.DAQ().Put(header, ".");
00086   evt.MC().Put(truth,".");
00087   
00088   return jobc::kPassed;
00089 }

void CosmicsGen::Update const cfg::Config c  )  [virtual]
 

Implements cfg::Observer.

Definition at line 58 of file CosmicsGen.cxx.

References fGeoVersion.

00059 {
00060 
00061   c("GeometryVersion").Get(fGeoVersion);
00062 
00063   return;
00064 }


Member Data Documentation

evgb::CRYHelper* evgen::CosmicsGen::fCRYHelp [private]
 

random number seed

Definition at line 29 of file CosmicsGen.h.

Referenced by CosmicsGen(), and Reco().

std::string evgen::CosmicsGen::fGeoVersion [private]
 

CRY generator object.

Definition at line 30 of file CosmicsGen.h.

Referenced by CosmicsGen(), Reco(), and Update().

int evgen::CosmicsGen::fSeed [private]
 

Definition at line 28 of file CosmicsGen.h.

Referenced by CosmicsGen(), and Reco().


The documentation for this class was generated from the following files:
Generated on Mon Nov 23 04:45:32 2009 for NOvA Offline by  doxygen 1.3.9.1