Set the core position, time and event ID for Monte Carlo events. More...
#include <EventGenerator.h>
Public Types | |
enum | ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop } |
Flag returned by module methods to the RunController. More... | |
enum | VersionInfoType { eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4, eLastEditor = 5 } |
Different types of version info that can be retrieved from GetVersionInfo. More... | |
Public Member Functions | |
EventGenerator () | |
fwk::VModule::ResultFlag | Finish () |
Finish: invoked at end of the run (NOT end of the event) More... | |
utl::Stopwatch & | GetStopwatch () |
const utl::Stopwatch & | GetStopwatch () const |
std::string | GetVersionInfo (const VersionInfoType v) const |
Retrieve different sorts of module version info. More... | |
fwk::VModule::ResultFlag | Init () |
Initialize: invoked at beginning of run (NOT beginning of event) More... | |
void | InitTiming () |
fwk::VModule::ResultFlag | Run (evt::Event &event) |
Run: invoked once per event. More... | |
ResultFlag | RunWithTiming (evt::Event &event) |
virtual | ~EventGenerator () |
Static Public Member Functions | |
static std::string | GetResultFlagByName (const ResultFlag flag) |
Protected Types | |
enum | InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 } |
Protected Attributes | |
int | fInfoLevel = 0 |
Private Types | |
typedef std::list < boost::tuple< double, double, double, int, char > > | CoreList |
enum | EMode { eUndefined, eSD, eFD, eHy, eMD, eXD, eXH } |
Private Member Functions | |
int | FindClosestStationFromPoint (const utl::Point &pt, const rdet::RDetector &rDet, const double maxDistanceFactor) |
void | FlagHoleStations (evt::Event &event) const |
boost::tuple< double, double, double > | GenerateArrayCentricListedCore () |
boost::tuple< double, double > | GenerateArrayCentricRandomizedCore () |
boost::tuple< double, double > | GenerateArrayCentricRandomizedCoreAroundRandomStation () |
boost::tuple< double, double > | GenerateCoreAroundStation () |
boost::tuple< double, double > | GenerateEyeCentricCore (const double energy) |
boost::tuple< double, double, double > | GenerateSphereCentricCore (evt::ShowerSimData &shower) |
utl::Vector | GetCoreShiftForRadioSimulation (evt::RadioSimulation &radioSim) |
Calculates average offset between the locations of sim. radio pulses and the position of the RDetector stations. More... | |
sdet::Station::StationIdCollection | GetInfillCrown (const sdet::Station ¢ralStation) |
double | MaximumRp (const double lgE) |
double | Rcutoff (const double lgE) |
energy dependent trigger surface More... | |
double | RcutoffCherenkovHECO (const double lgE) |
REGISTER_MODULE ("EventGeneratorOG", EventGenerator) | |
Private Attributes | |
double | fAltitude = 0 |
char | fBand = '\0' |
CoreList | fCorePositions |
CoreList::iterator | fCorePositionsIt |
double | fDeltaEasting = 0 |
double | fDeltaNorthing = 0 |
double | fDeltaPhi = 0 |
double | fEasting = 0 |
utl::TimeStamp | fEndDate |
unsigned int | fEventNumber = 0 |
bool | fEyeCentric = false |
int | fEyeid = 0 |
std::string | fFormat |
bool | fGeometryCheckCherenkovHECO = false |
bool | fInSphere = false |
bool | fInvalidateComponents = false |
bool | fInvalidateData = false |
std::string | fLibraryIdentifier |
bool | fLimitRp = false |
double | fMaxDist = 0 |
int | fMaximumDistance = 10 |
TH2D * | fMaxVA = nullptr |
double | fMinDist = 0 |
EMode | fMode = eUndefined |
int | fNEvents = 0 |
double | fNorthing = 0 |
utl::RandomEngine * | fRandomEngine = nullptr |
bool | fRMaxEnergyDependent = false |
bool | fRpTooLarge = false |
bool | fSampleTimes = false |
std::vector< unsigned int > | fSdIdFormat |
int | fSimCoreCount = 0 |
bool | fSkipUpgoing = false |
boost::tuple< double, double, double, int, char > | fSphereCenter |
double | fSphereRadius = 0 |
utl::TimeStamp | fStartDate |
int | fStationId = 0 |
double | fTelid = 0 |
std::list< double > | fTimeList |
bool | fTimeOrdered = false |
bool | fTimeRandomized = false |
bool | fUpgoingShower = false |
bool | fUseRadioCorePosition = false |
bool | fUseRadioEventTime = false |
bool | fUseRandomInfillStation = false |
bool | fUseRandomStation = false |
bool | fUseSimCores = false |
int | fZone = -1 |
Set the core position, time and event ID for Monte Carlo events.
This module performs the following functions:
The configuration of this module is specified in an XML file. Here is a description of the various things you can control via the configuration file, some complete examples, and some description of the error messages you may see if you make a mistake in the configuration file.
The event identifier is a string used to unique label Monte Carlo events. It is composed of 4 parts:
User control over the event identifier is afforded via an <eventIdentifier>
element. This element has two sub-elements, the <libraryIdentifier>
described above, and a <format>
directive. The <format>
directive used to determine how the 4 components described above are arranged and decorated to generate the event ID. You can use the usual printf directives in this <format>
element. Here is an example:
<eventIdentifier> <libraryIdentifier> Test </libraryIdentifier> <format> Library_%1%:Run_%2%:Shower_%3%:Use_%4% </format> </eventIdentifier>
This will generate event identifiers of the form:
Library_Test:Run_9034:Shower_9034:Use_1 Library_Test:Run_9034:Shower_9034:Use_2 Library_Test:Run_9034:Shower_9034:Use_3 etc.
You attach a time stamp to the event using the <eventTime>
element. Here is an example.
<eventTime> 2004-01-01T04:33:12.000005000 </eventTime>
Note that in this example, the <eventTime>
element is written in the standard W3C XML date and time <xs:dateTime> format, with year, month, day, the letter T, the hour, minute, and fractional second (a time zone identifier is optional). For more details on this format, click here.
It is also possible to define a time interval from <startTime> to <endTime>. This is useful if you want to do simulations taking into account time dependent details of the detector. To do this just replace the <eventTime> tag by the <timeInterval> section:
<timeInterval> <timeOrdered> <nEvents> 100 </nEvents> </timeOrdered> <startTime> 2004-01-01T04:33:12.000001500 </startTime> <endTime> 2005-01-01T04:33:12.000001500 </endTime> <timeInterval>
ATTENTION: If you use <timeInterval> in <timeOrdered> mode, you have to specify how many events the EventGenerator has to produce in total. Make absolutely sure that your ModuleSequence does not limit the number of events below this number, and the input file you use in EventFileReader does contain at least this number of events. Otherwise not the entire specified time period will be spanned by the simulated events! This happens, because the EventGenerator generates the random times in a ascending time-order, in order to prevent unnecessary SQL queries and Detector::Updates for high statistics mass simulations. If you want to use <timeInterval> you have to remove any bounds from your simulation <loop>. The EventGenerator itself will break the loop, when it is finished.
It is possible to switch off the randomization of the event times. The time interval is divided by the number of events and this difference is added to the previous event time. The following example can be used to simulate CLF laser shots. It generates 200 events, one every 2 seconds, 250 ms after the full second:
<timeInterval> <timeOrdered> <nEvents> 200 </nEvents> <timeRandomized> 0 </timeRandomized> </timeOrdered> <startTime> 2008-06-07T03:00:00.250000000 </startTime> <endTime> 2008-06-07T03:06:40.250000000 </endTime> <timeInterval>
Use the <mode>
element to indicate whether you are simulating SD, FD or Hybrid events. For example:
<mode> Hy </mode> <!-- we are simulating hybrids -->
This element is used to set up the appropriate event data structures.
The <coreRandomization>
element specifies the spot or region to place the shower core. There are two distinct ways to specify where the shower core is placed, one array centric, which tends to be better suited to SD simulations, and one eye centric, which is better suited to FD simulations.
In this case the <coreRandomization>
element contains sub-elements specifying the either a region from which to extract a random core position, or alternatively a list of specific core positions.
Random core positions can be drawn from a region which you specify by defining the center and size of a "tile" in which the shower core should be placed. The shower core position is then drawn from a uniform random distribution inside the tile.
You can specify the center of the tile by either giving the UTM coordinates, like this:
<coreRandomization> <centerOfTile> <northing unit="meter"> 6081531 </northing> <easting unit="meter"> 461796 </easting> <altitude unit="m"> 1416 </altitude> <zone> 19 </zone> <band> H </band> </centerOfTile> <!-- size of tile specified here --> </coreRandomization>
or by giving a station id, like this:
<coreRandomization> <centerOfTile> <stationAtCenter> 624 </stationAtCenter> </centerOfTile> <!-- size of tile specified here --> </coreRandomization>
Currently tiles are rectangles, with the dimensions specified by northing and easting:
<coreRandomization> <!-- center of tile specified here --> <sizeOfTile> <deltaNorthing unit="meter"> 5000. </deltaNorthing> <deltaEasting unit="meter"> 5000. </deltaEasting> </sizeOfTile> </coreRandomization>
You can instruct the EventGenerator to generate core positions randomly inside hexagons which are centered at stations chosen randomly from the list of stations commissioned at the current detector time. To do this, you just put the <useRandomStation>
switch inside the <coreRandomization>
element:
<coreRandomization> <useRandomStation> 1 </useRandomStation> </coreRandomization>
Rather than having the EventGenerator choose core positions by throwing random numbers, you can specify a list of core positions you would like to use. This is done by placing a <listOfCorePositions>
element within the <coreRandomization>
element, and defining core positions therein:
<coreRandomization> <listOfCorePositions> <core> <northing unit="m"> 6080154 </northing> <easting unit="m"> 479810 </easting> <altitude unit="m"> 1400 </altitude> <zone> 19 </zone> <band> H </band> </core> <core> <northing unit="m"> 6080154 </northing> <easting unit="m"> 479820 </easting> <altitude unit="m"> 1400 </altitude> <zone> 19 </zone> <band> H </band> </core> <core> <northing unit="m"> 6080154 </northing> <easting unit="m"> 479830 </easting> <altitude unit="m"> 1400 </altitude> <zone> 19 </zone> <band> H </band> </core> </listOfCorePositions> </coreRandomization>
On each pass through the EventGenerator, the next core position from the list is chosen. When the list is exhausted, the EventGenerator sends the fwk::VModule::eBreakLoop condition to the RunController, thereby terminating the run. This means that if you want all core positions in the list to be used, then whatever loop contains your EventGenerator must specify a number greater than or equal to the number of cores in the list. One can also simply set <loop numTimes="unbounded">
.
Note that rather than re-typing the <zone>
and <band>
elements, you can define an entity reference (or alias), as follows:
<!DOCTYPE EventGenerator [ <!ENTITY UTMData "<zone> 19 </zone> <band> H </band>"> ]>
and then replace each instance of
<zone> 19 </zone> <band> H </band>
with &UTMData;
. See the full example for more details.
To specify the core position in the eye centric manner, the <coreRandomization>
element must contain subelements indicating the eye and telescope of interest, the maximum distance a shower can land from the telescope , a switch indicating whether this distance should be energy dependent, and the azimuthal width of the region in which the shower may be thrown. For example:
<coreRandomization> <eye> 1 </eye> <telescope> 4 </telescope> <!-- This also supports 'fractions' of telescopes --> <maxdist unit ="meter"> 7500.0 </maxdist> <rMaxEnergyDependent> no </rMaxEnergyDependent> <deltaphi unit="deg"> 5 </deltaphi> <altitude unit="meter"> 1419 </altitude> </coreRandomization>
In CORSIKA there are options to sample pre-defined lists of core positions for individual showers. This is used, e.g. to save only the (tiny) fraction of ground particles and Cherenkov photons actually in the vicinity of Auger detectors. The amount of storage space saved in this approach can be tremendous, corresponding to the fill factors of about 4e-6.
In CORSIKA you may use the COREPOS or AUGERHIT options to predefine a set of core positions. Use core positions in UTM format, thus northing, easting and an observation altitude corresponding to the Auger site. In CORSIKA you should also rotate the particle output from the default CORSIKA definition into the one used by Auger using the ARRANG -92.08 option.
The EventGenerator will then issue all the cores saved in an input data file until all core positions have been used. In the end a eBreakLoop is issued. In order to work best in this mode, use an unbounded outer loop that contains the EventGenerator.
In order to configure EventGenerator for this mode use:
<coreRandomization> <useUTMCoresFromAirShowerMC/> </coreRandomization>
<EventGenerator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation='/some_path/EventGenerator.xsd'> <eventIdentifier> <libraryIdentifier> Test </libraryIdentifier> <format> Library_%1%:Run_%2%:Shower_%3%:Use_%4% </format> </eventIdentifier> <eventTime> 2004-01-01T04:33:12.000001500 </eventTime> <mode> SD </mode> <coreRandomization> <centerOfTile> <stationAtCenter> 624 </stationAtCenter> </centerOfTile> <sizeOfTile> <deltaNorthing unit="meter"> 5000. </deltaNorthing> <deltaEasting unit="meter"> 5000. </deltaEasting> </sizeOfTile> </coreRandomization> </EventGenerator>
<!DOCTYPE EventGenerator [ <!ENTITY UTMData "<zone> 19 </zone> <band> H </band>"> ]> <EventGenerator> <!-- Specify what you are planning to simulate: SD, FD, Hy --> <mode> SD </mode> <!-- set the event identifier --> <eventIdentifier> <libraryIdentifier> Test </libraryIdentifier> <format> Library_%1%:Run_%2%:Shower_%3%:Use_%4% </format> </eventIdentifier> <!-- Specify a list of core positions --> <coreRandomization> <listOfCorePositions> <!-- UTMData is an entity ref, defined at top of the file --> <core> <northing unit="m"> 6080154 </northing> <easting unit="m"> 479810 </easting> <altitude unit="m"> 1400 </altitude> &UTMData; </core> <core> <northing unit="m"> 6080154 </northing> <easting unit="m"> 479820 </easting> <altitude unit="m"> 1400 </altitude> &UTMData; </core> <core> <northing unit="m"> 6080154 </northing> <easting unit="m"> 479830 </easting> &UTMData; </core> <core> <northing unit="m"> 6080154 </northing> <easting unit="m"> 479840 </easting> &UTMData; </core> </listOfCorePositions> </coreRandomization> <!-- Time stamp of the core impact on ground --> <eventTime> 2004-01-01T04:33:12.5 </eventTime> </EventGenerator>
<EventGenerator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation='/some_path/EventGenerator.xsd'> <eventIdentifier> <libraryIdentifier> Test </libraryIdentifier> <format> Library_%1%:Run_%2%:Shower_%3%:Use_%4% </format> </eventIdentifier> <eventTime> 2004-01-01T04:33:12.000001500 </eventTime> <mode> FD </mode> <coreRandomization> <eye> 1 </eye> <telescope> 4 </telescope> <maxdist unit ="meter"> 7500.0 </maxdist> <rMaxEnergyDependent> no </rMaxEnergyDependent> <deltaphi unit="deg"> 5 </deltaphi> <altitude unit="meter"> 1419 </altitude> </coreRandomization> </EventGenerator>
The EventGenerator configuration file is policed by an XML Schema file, which will generate an error message and throw an exception if you make a mistake. Some people find these errors a bit cryptic, so below are some example error messages together with the offending configuration data.
This configuration fragment:
<centerOfTile> <northing unit="meter"> 6081531 </northing> <easting unit="meter"> 461796 </easting> <altitude unit="meter"> 1416 </altitude> <zone> 19 </zone> <band> H </band> <stationAtCenter> 624 </stationAtCenter> </centerOfTile>
will generate an error like this:
Reader/ReaderErrorReporter.cc:95: error: Error at file "/home/tpaul/offlineApps/testEventGen/sd/EventGenerator.xml", line 79, column 18 Message: Element 'stationAtCenter' is not valid for content model: '(((northing,easting,altitude,zone),band)|stationAtCenter)'
This is because you have to specify the tile center by UTM or by station id, not both.
This configuration fragment:
<coreRandomization> <centerOfTile> <stationAtCenter> 624 </stationAtCenter> </centerOfTile> <sizeOfTile> <deltaNorthing unit="meter"> 5000. </deltaNorthing> <deltaEasting unit="meter"> 5000. </deltaEasting> </sizeOfTile> <eye> 1 </eye> <telescope> 4 </telescope> <maxdist unit ="meter"> 7500.0 </maxdist> <rMaxEnergyDependent> no </rMaxEnergyDependent> <deltaphi unit="deg"> 5 </deltaphi> <altitude unit="meter"> 1419 </altitude> </coreRandomization>
will generate an error like:
Reader/ReaderErrorReporter.cc:95: error: Error at file "/home/tpaul/offlineApps/testEventGen/sd/EventGenerator.xml", line 93, column 21 Message: Element 'eye' is not valid for content model: '((centerOfTile,sizeOfTile)|((eye,telescope,maxdist,rMaxEnergyDependent),deltaphi))'
You cannot specify core position in both eye-centric and array-centric form. Pick one.
Definition at line 28 of file EventGenerator.h.
|
private |
Definition at line 82 of file EventGenerator.h.
|
private |
Enumerator | |
---|---|
eUndefined | |
eSD | |
eFD | |
eHy | |
eMD | |
eXD | |
eXH |
Definition at line 30 of file EventGenerator.h.
|
protectedinherited |
|
inherited |
Flag returned by module methods to the RunController.
Enumerator | |
---|---|
eSuccess |
Report success to RunController. |
eFailure |
Report failure to RunController, causing RunController to terminate execution. |
eBreakLoop |
Break current loop. It works for nested loops too! |
eContinueLoop |
Skip remaining modules in the current loop and continue with next iteration of the loop. |
|
inherited |
|
inline |
Definition at line 41 of file EventGenerator.h.
|
inlinevirtual |
Definition at line 42 of file EventGenerator.h.
|
private |
Definition at line 1327 of file EventGenerator.cc.
References rdet::RDetector::StationsBegin(), and rdet::RDetector::StationsEnd().
|
virtual |
Finish: invoked at end of the run (NOT end of the event)
This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 760 of file EventGenerator.cc.
References ERROR, io::eSuccess, and utl::String::Plural().
|
private |
Definition at line 1221 of file EventGenerator.cc.
References evt::ShowerSimData::GetDirection(), evt::ShowerSimData::GetLocalCoordinateSystem(), evt::ShowerSimData::GetMinRadiusCut(), sevt::Station::GetSimData(), sevt::SEvent::GetStation(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), sevt::Station::HasSimData(), sevt::SEvent::HasStation(), sevt::Station::MakeSimData(), sevt::SEvent::MakeStation(), galactic::meter, evt::ShowerSimData::SetMinRadiusCut(), sevt::StationSimData::SetSimulatorSignature(), and utl::Sqr().
|
private |
Definition at line 989 of file EventGenerator.cc.
|
private |
Definition at line 803 of file EventGenerator.cc.
|
private |
Definition at line 873 of file EventGenerator.cc.
References utl::Cross(), utl::BasicVector< HepVector >::GetCoordinateSystem(), sdet::Station::GetCrown(), RdREASSimPreparatorNG::GetInfillCrown(), utl::UTMPoint::GetPoint(), sdet::Station::GetPosition(), sdet::SDetector::GetStation(), utl::kPi, galactic::meter, utl::Vector::Normalize(), and utl::Normalized().
|
private |
|
private |
Definition at line 1004 of file EventGenerator.cc.
References utl::deg, galactic::eV, utl::UTMPoint::GetBand(), utl::UTMPoint::GetEasting(), fdet::FDetector::GetEye(), fdet::Eye::GetEyeCoordinateSystem(), utl::UTMPoint::GetNorthing(), utl::UTMPoint::GetZone(), and sqrt().
|
private |
Definition at line 1048 of file EventGenerator.cc.
References utl::Cross(), utl::deg, galactic::eV, fdet::FDetector::EyesBegin(), fdet::FDetector::EyesEnd(), fwk::CoordinateSystemRegistry::Get(), utl::UTMPoint::GetBand(), utl::UTMPoint::GetEasting(), utl::ReferenceEllipsoid::GetECEF(), evt::ShowerSimData::GetEnergy(), evt::ShowerSimData::GetGroundParticleCoordinateSystemAzimuth(), evt::ShowerSimData::GetGroundParticleCoordinateSystemZenith(), utl::UTMPoint::GetHeight(), utl::Vector::GetMag(), utl::UTMPoint::GetNorthing(), utl::BasicVector< HepVector >::GetPhi(), utl::UTMPoint::GetPoint(), utl::BasicVector< HepVector >::GetTheta(), utl::UTMPoint::GetZone(), utl::Intersection(), utl::Normalized(), evt::ShowerSimData::SetGroundParticleCoordinateSystemAzimuth(), evt::ShowerSimData::SetGroundParticleCoordinateSystemZenith(), and sqrt().
|
private |
Calculates average offset between the locations of sim. radio pulses and the position of the RDetector stations.
Definition at line 1270 of file EventGenerator.cc.
References evt::RadioSimulation::GetLocalCoordinateSystem(), evt::SimRadioPulse::GetLocation(), evt::RadioSimulation::GetNextSimRadioPulse(), rdet::Station::GetPosition(), rdet::RDetector::GetStation(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), INFO, ok(), and WARNING.
|
private |
Definition at line 814 of file EventGenerator.cc.
References sdet::SDetectorConstants::eInfill750, sdet::Station::GetId(), sdet::Station::GetPosition(), and utl::s.
|
staticinherited |
Definition at line 8 of file VModule.cc.
References fwk::VModule::eBreakLoop, fwk::VModule::eContinueLoop, fwk::VModule::eFailure, and fwk::VModule::eSuccess.
Referenced by fwk::RunController::DoNextInSequence(), fwk::RunController::FinishBranch(), and fwk::RunController::InitBranch().
|
inlineinherited |
Definition at line 106 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inlineinherited |
Definition at line 107 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inherited |
Retrieve different sorts of module version info.
Definition at line 26 of file VModule.cc.
Referenced by fwk::CentralConfig::GetConfig(), ThresholdCalculatorKG::ThresholdCalculator::Init(), fdDoubleBumpFinder::FdDoubleBumpFinder::Init(), LaserGeneratorNA::LaserGenerator::Init(), LaserLightSimulatorNA::LaserLightSimulator::Init(), FdElectronicsSimulatorOG::FdElectronicsSimulator::Init(), TelescopeSimulatorKG::TelescopeSimulator::Init(), TelescopeSimulatorKG2::TelescopeSimulator::Init(), SdSimpleSimKG::SdSimpleSim::Init(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::Init(), and testRunController::testModuleVersionInfo().
|
virtual |
Initialize: invoked at beginning of run (NOT beginning of event)
This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 106 of file EventGenerator.cc.
References utl::deg, UnivFitterKG::eFD, UnivFitterKG::eSD, io::eSuccess, file, utl::Branch::Get(), utl::UTMPoint::GetBand(), utl::Branch::GetChild(), utl::Branch::GetData(), utl::UTMPoint::GetEasting(), utl::Branch::GetFirstChild(), utl::UTMPoint::GetHeight(), utl::Branch::GetNextSibling(), utl::UTMPoint::GetNorthing(), sdet::Station::GetPosition(), utl::Branch::GetTopBranch(), utl::UTMPoint::GetZone(), INFO, km, utl::m, and WARNING.
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
private |
Definition at line 1202 of file EventGenerator.cc.
References utl::kilometer, max, and G4StationSimulatorOG::p.
|
private |
energy dependent trigger surface
returns radius Rcut in meters above which the fraction of triggered events amounts to less than 1% of the total number, i.e.
trigger efficiency is taken from GAP-2004-015.
lgE | log_10(E/eV) |
Definition at line 1160 of file EventGenerator.cc.
References max, and galactic::meter.
|
private |
Definition at line 1173 of file EventGenerator.cc.
References INFO, and galactic::meter.
|
private |
|
virtual |
Run: invoked once per event.
This method is for things that should be done once per event {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 428 of file EventGenerator.cc.
References RdGeoCeLDFFitter::c, UnivFitterKG::eFD, sdet::SDetectorConstants::eInfill750, ERROR, UnivFitterKG::eSD, io::eSuccess, utl::UTMPoint::GetEasting(), utl::ReferenceEllipsoid::GetECEF(), evt::ShowerSimData::GetEnergy(), evt::RadioSimulation::GetEventTime(), RdREASSimPreparatorNG::GetInfillCrown(), evt::RadioSimulation::GetLocalCoordinateSystem(), utl::UTMPoint::GetNorthing(), evt::ShowerSimData::GetNSimCores(), utl::UTMPoint::GetPoint(), evt::ShowerSimData::GetPosition(), sdet::Station::GetPosition(), evt::ShowerSimData::GetRadioSimulation(), evt::ShowerSimData::GetShowerNumber(), evt::ShowerSimData::GetShowerRunId(), evt::ShowerSimData::GetSimCore(), sdet::SDetector::GetStation(), utl::BasicVector< HepVector >::GetX(), evt::Event::HasFEvent(), evt::Event::HasMEvent(), evt::ShowerSimData::HasRadioSimulation(), evt::Event::HasSEvent(), evt::Event::HasSimShower(), evt::ShowerSimData::HasTimeStamp(), INFO, utl::m, evt::ShowerSimData::MakeGeometry(), evt::Event::MakeSimShower(), evt::ShowerSimData::MakeTimeStamp(), EventGeneratorOG::MyPow10(), utl::s, evt::RadioSimulation::SetCorePosition(), sevt::Header::SetId(), fevt::Header::SetId(), mevt::Header::SetId(), evt::Header::SetId(), sevt::Header::SetTime(), mevt::Header::SetTime(), fevt::Header::SetTime(), and evt::Header::SetTime().
|
inlineinherited |
Definition at line 98 of file VModule.h.
References fwk::VModule::fStopwatch, fwk::VModule::Run(), utl::Stopwatch::Start(), and utl::Stopwatch::Stop().
Referenced by fwk::RunController::DoNextInSequence().
|
private |
Definition at line 78 of file EventGenerator.h.
|
private |
Definition at line 80 of file EventGenerator.h.
|
private |
Definition at line 83 of file EventGenerator.h.
|
private |
Definition at line 84 of file EventGenerator.h.
|
private |
Definition at line 75 of file EventGenerator.h.
|
private |
Definition at line 74 of file EventGenerator.h.
|
private |
Definition at line 116 of file EventGenerator.h.
|
private |
Definition at line 77 of file EventGenerator.h.
|
private |
Definition at line 91 of file EventGenerator.h.
|
private |
Definition at line 98 of file EventGenerator.h.
|
private |
Definition at line 103 of file EventGenerator.h.
|
private |
Definition at line 111 of file EventGenerator.h.
|
private |
Definition at line 96 of file EventGenerator.h.
|
private |
Definition at line 117 of file EventGenerator.h.
|
protectedinherited |
Definition at line 123 of file VModule.h.
Referenced by RdChannelASCIINoiseImporterRD::RdChannelASCIINoiseImporterRD::Init(), Rd2dLDFFitter::Rd2dLDFFitter::Init(), RdChannelNoiseImporter_AERA::RdChannelNoiseImporter_AERA::Init(), and Rd2dLDFFitter::Rd2dLDFFitter::Run().
|
private |
Definition at line 104 of file EventGenerator.h.
|
private |
Definition at line 122 of file EventGenerator.h.
|
private |
Definition at line 121 of file EventGenerator.h.
|
private |
Definition at line 95 of file EventGenerator.h.
|
private |
Definition at line 107 of file EventGenerator.h.
|
private |
Definition at line 114 of file EventGenerator.h.
|
private |
Definition at line 126 of file EventGenerator.h.
|
private |
Definition at line 118 of file EventGenerator.h.
|
private |
Definition at line 113 of file EventGenerator.h.
|
private |
Definition at line 69 of file EventGenerator.h.
|
private |
Definition at line 87 of file EventGenerator.h.
|
private |
Definition at line 76 of file EventGenerator.h.
|
private |
Definition at line 128 of file EventGenerator.h.
|
private |
Definition at line 115 of file EventGenerator.h.
|
private |
Definition at line 109 of file EventGenerator.h.
|
private |
Definition at line 92 of file EventGenerator.h.
|
private |
Definition at line 97 of file EventGenerator.h.
|
private |
Definition at line 102 of file EventGenerator.h.
|
private |
Definition at line 106 of file EventGenerator.h.
|
private |
Definition at line 110 of file EventGenerator.h.
|
private |
Definition at line 105 of file EventGenerator.h.
|
private |
Definition at line 90 of file EventGenerator.h.
|
private |
Definition at line 73 of file EventGenerator.h.
|
private |
Definition at line 112 of file EventGenerator.h.
|
private |
Definition at line 93 of file EventGenerator.h.
|
private |
Definition at line 88 of file EventGenerator.h.
|
private |
Definition at line 89 of file EventGenerator.h.
|
private |
Definition at line 108 of file EventGenerator.h.
|
private |
Definition at line 124 of file EventGenerator.h.
|
private |
Definition at line 125 of file EventGenerator.h.
|
private |
Definition at line 72 of file EventGenerator.h.
|
private |
Definition at line 71 of file EventGenerator.h.
|
private |
Definition at line 101 of file EventGenerator.h.
|
private |
Definition at line 79 of file EventGenerator.h.