StationSimData_ROOT.cc
Go to the documentation of this file.
1 #include <io/StationSimData_ROOT.h>
2 #include <det/Detector.h>
3 
4 using namespace io;
5 
6 
7 ClassImp(StationSimData_ROOT)
8 
9 
10 StationSimData_ROOT::StationSimData_ROOT(const sevt::StationSimData& s) :
11  fPlaneFrontTime(s.GetPlaneFrontTime()),
12  fHoleStation(s.IsInsideMinRadius()),
13  fSimulatorSignature(s.GetSimulatorSignature()),
14  fParticles(s.ParticlesBegin(), s.ParticlesEnd()),
15  fNumberOfMuons(s.GetNumberOfMuons()),
16  fNumberOfElectrons(s.GetNumberOfElectrons()),
17  fNumberOfPhotons(s.GetNumberOfPhotons()),
18  fTotalParticleCount(s.GetTotalParticleCount()),
19  fTotalSimParticleCount(s.GetTotalSimParticleCount()),
20  fTotalSimCandidateParticleCount(s.GetTotalSimCandidateParticleCount()),
21  fMaxNParticles(s.GetMaxNParticles()),
22  fThinning(s.GetThinning()),
23  fThinningFactor(s.GetThinningFactor()),
24  fUsedWeight(s.GetUsedWeight()),
25  fAbsoluteTimeOffset(s.GetAbsoluteTimeOffset())
26 {
27  for (auto it = s.TriggerTimesBegin(), end = s.TriggerTimesEnd(); it != end; ++it) {
28  fTrigger.push_back(*it);
29  fGPSData.push_back(s.GetGPSData(*it));
30  fTriggerData.push_back(s.GetTriggerData(*it));
31  }
32 }
33 
34 
35 void
37  const
38 {
40 
42 
44 
45  for (const auto& p : fParticles)
46  s.AddParticle(p.Convert());
47 
48  // this has to be after the addParticle
55 
56  for (unsigned int i = 0, n = fTrigger.size(); i < n; ++i) {
57  const utl::TimeStamp ts = fTrigger[i].Convert();
59  fGPSData[i] >> s.GetGPSData(ts);
60  fTriggerData[i] >> s.GetTriggerData(ts);
61  }
62 
68 }
Station Level Simulated Data
std::vector< Particle_ROOT > fParticles
void SetNumberOfPhotons(const unsigned int n)
void SetTotalParticleCount(const unsigned int n)
std::vector< StationGPSData_ROOT > fGPSData
sevt::StationGPSData & GetGPSData(const utl::TimeStamp &time)
Get simulated GPSData.
void SetThinning(const double th)
void SetUsedWeight(const double w)
void SetAbsoluteTimeOffset(const utl::TimeInterval &dt)
void SetSimulatorSignature(const std::string &name)
Set name of the tank simulator module used to simulate this station.
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
utl::TimeStamp Convert() const
sevt::StationTriggerData & GetTriggerData(const utl::TimeStamp &time)
Get simulated TriggerData.
Persistent StationSimData using ROOT.
constexpr double s
Definition: AugerUnits.h:163
void SetNumberOfElectrons(const unsigned int n)
void operator>>(sevt::StationSimData &s) const
void SetMaxNParticles(const unsigned int max)
void SetPlaneFrontTime(const utl::TimeStamp &time)
Set shower front plane arrival time.
std::vector< TimeStamp_ROOT > fTrigger
void MakeTriggerAndGPSData(const utl::TimeStamp &time)
Creates the trigger data at the given time and also the GPS data to guarantee they are both created...
void SetTotalSimParticleCount(const unsigned int n)
unsigned int fTotalSimCandidateParticleCount
void SetTotalSimCandidateParticleCount(const unsigned int n)
std::vector< StationTriggerData_ROOT > fTriggerData
void SetThinningFactor(const double f)
void AddParticle(const utl::Particle &particle)
void SetNumberOfMuons(const unsigned int n)
void SetIsInsideMinRadius(const bool isIn=true)
Set flag indicating whether station is in the shower hole.

, generated on Tue Sep 26 2023.