Modified 17.12.08 by M. Al-Turany The hit producing is added to the simulation session, so that the EmcHits are produced on the fly during the simulation
Set the digitization parameters
Get the run time data base for this session and set the needed input
Parameters created for this simulation goes to the out put
Add Hit producer task to the simulation
Initialize the session
After initialization now we can save the field parameters
All parameters are initialized and ready to be saved
Definition at line 9 of file emc_complete.C.
References Bool_t, boxGen, Cave, ctime, digiFile, Double_t, Emc, emcDigiFile, emcHdrFiller, emcHitProd, emcHitsToWaveform, emcMakeBump, emcMakeCluster, emcMakeRecoHit, emcWaveformToDigi, fField, fRun, gDebug, kParameterMerged, Magnet, nEvents, output, Par, parFile, parIo1, Pipe, primGen, printf(), rootlogon(), rtdb, rtime, PndEmc::SetGeometryVersion(), PndMultiFieldPar::SetParameters(), PndEmcMakeCluster::SetStorageOfData(), PndEmcHitsToWaveform::SetStorageOfData(), PndEmcMakeBump::SetStorageOfData(), PndEmcWaveformToDigi::SetStorageOfData(), PndEmcHitProducer::SetStorageOfData(), PndEmc::SetStorageOfData(), timer, and TString.
15 gROOT->LoadMacro(
"$VMCWORKDIR/gconfig/rootlogon.C");
18 FairRunSim *
fRun =
new FairRunSim();
27 fRun->SetName(
"TGeant3");
30 fRun->SetOutputFile(
"emc_complete.root");
35 emcDigiFile +=
"/macro/params/";
38 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
39 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
40 parIo1->open(emcDigiFile.Data(),
"in");
41 rtdb->setFirstInput(parIo1);
45 FairParRootFileIo*
output=
new FairParRootFileIo(kParameterMerged);
46 output->open(
"simparams.root");
47 rtdb->setOutput(output);
51 fRun->SetMaterials(
"media_pnd.geo");
56 Cave->SetGeometryFileName(
"pndcave.geo");
57 fRun->AddModule(Cave);
60 Magnet->SetGeometryFileName(
"magnet.geo");
61 fRun->AddModule(Magnet);
64 Pipe->SetGeometryFileName(
"pipe.geo");
65 fRun->AddModule(Pipe);
77 FairPrimaryGenerator*
primGen =
new FairPrimaryGenerator();
78 fRun->SetGenerator(primGen);
81 FairBoxGenerator*
boxGen =
new FairBoxGenerator(22, 5);
84 boxGen->SetPRange(1.,1.);
86 boxGen->SetPhiRange(0., 360.);
87 boxGen->SetThetaRange(0., 180.);
88 boxGen->SetXYZ(0., 0., 0.);
89 primGen->AddGenerator(boxGen);
95 fRun->SetField(fField);
102 fRun->AddTask(emcHitProd);
108 fRun->AddTask(emcHitsToWaveform);
109 fRun->AddTask(emcWaveformToDigi);
113 fRun->AddTask(emcMakeCluster);
116 fRun->AddTask(emcHdrFiller);
120 fRun->AddTask(emcMakeBump);
123 fRun->AddTask(emcMakeRecoHit);
132 Par->setInputVersion(fRun->GetRunId(),1);
147 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
void SetStorageOfData(Bool_t val)
Method to specify whether clusters are stored or not.
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
Create PndEmcRecoHit from PndEmcBump.
PndEmcHitsToWaveform * emcHitsToWaveform
void SetParameters(FairField *field)
creates PndEmcHits from PndEmcPoints
void SetStorageOfData(Bool_t val)
PndEmcMakeBump * emcMakeBump
FairParRootFileIo * output
FairPrimaryGenerator * primGen
PndEmcHdrFiller * emcHdrFiller
void SetStorageOfData(Bool_t val)
PndEmcMakeCluster * emcMakeCluster
virtual void SetGeometryVersion(const Int_t GeoNumber)
void SetStorageOfData(Bool_t val)
Method to specify whether bumps are stored or not.
Takes clusters and slits them up into bumps.
PndEmcWaveformToDigi * emcWaveformToDigi
FairParAsciiFileIo * parIo1
FairBoxGenerator * boxGen
Task to cluster PndEmcDigis.
Task to create Emc header.