SimRadioPulse.h
Go to the documentation of this file.
1 #ifndef _evt_SimRadioPulse_h_
2 #define _evt_SimRadioPulse_h_
3 
4 #include <vector>
5 #include <string>
6 #include <utl/CoordinateSystem.h>
7 #include <utl/Point.h>
8 #include <utl/Trace.h>
9 #include <utl/ShadowPtr.h>
10 
11 namespace io {
12  class SimRadioPulse_ROOT;
13 }
14 
15 namespace evt {
16 
29  class SimRadioPulse {
30 
31  public:
32  SimRadioPulse();
33 
34  double GetBinning() const { return fEfieldTimeSeries->GetBinning(); }
35 
36  void SetBinning(const double samplingtime)
37  { fEfieldTimeSeries->SetBinning(samplingtime); }
38 
39  double GetStartTime() const { return fStartTime; }
40 
41  void SetStartTime(const double starttime)
42  { fStartTime = starttime; }
43 
46 
47  /*
48  The coordinates of sim. pulses in an CoREAS simulation are per se relative (to a core position). Thus their absolut position
49  depends on a core resp local coordinate system.
50  */
52  {
54  }
55 
56  void SetRelativeCoordinates(double northing, double easting, double height)
57  {
58  fRelativeNorthing = northing;
59  fRelativeEasting = easting;
60  fRelativeHeight = height;
61  }
62 
64  void SetAntennaName(const std::string antname)
65  { fSimulatedAntennaName = antname; }
66 
68  std::string GetAntennaName() const { return fSimulatedAntennaName; }
69 
71 
72  private:
73 
74  double fStartTime = 0;
76  double fRelativeNorthing = 0;
77  double fRelativeEasting = 0;
78  double fRelativeHeight = 0;
80 
81  std::string fSimulatedAntennaName;
82 
83  friend class RadioSimulation;
84  friend class io::SimRadioPulse_ROOT;
85 
86 
87  };
88 
89 }
90 
91 #endif
double GetBinning() const
Get the sampling time scale.
Definition: SimRadioPulse.h:34
Point object.
Definition: Point.h:32
void SetStartTime(const double starttime)
Definition: SimRadioPulse.h:41
double fStartTime
absolute time of the first sample of the time-series
Definition: SimRadioPulse.h:74
double fRelativeNorthing
the location at which the pulse was simulated
Definition: SimRadioPulse.h:76
std::string fSimulatedAntennaName
Definition: SimRadioPulse.h:81
std::string GetAntennaName() const
Get the name of simulated antenna related to pulse.
Definition: SimRadioPulse.h:68
Data structure for simulated Radio pulses.
Definition: SimRadioPulse.h:29
Data structure for a radio simulation (including several SimRadioPulses)
void SetBinning(const double samplingtime)
Definition: SimRadioPulse.h:36
utl::TraceV3D & GetEfieldTimeSeries()
Get the Trace of the simulated electric field.
Definition: SimRadioPulse.h:45
utl::Point GetLocation() const
Definition: SimRadioPulse.h:51
void SetLocalCoordinateSystem(utl::CoordinateSystemPtr localCS) const
Definition: SimRadioPulse.h:70
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
utl::CoordinateSystemPtr fLocalCoordinateSystem
Definition: SimRadioPulse.h:79
utl::InitializedShadowPtr< utl::TraceV3D > fEfieldTimeSeries
the Trace holding the electric field time series
Definition: SimRadioPulse.h:75
Template class for a FADC data or calibrated data container. Use the typedefs (TraceD, TraceI, etc.) defined in Trace-fwd.h.
Definition: Trace-fwd.h:19
ROOT wise implementation of streaming for class SimRadioPulse.
void SetRelativeCoordinates(double northing, double easting, double height)
Definition: SimRadioPulse.h:56
const utl::TraceV3D & GetEfieldTimeSeries() const
Get the Trace of the simulated electric field.
Definition: SimRadioPulse.h:44
double GetStartTime() const
Get the timestamp of the first sample.
Definition: SimRadioPulse.h:39
void SetAntennaName(const std::string antname)
Set the name of simulated antenna.
Definition: SimRadioPulse.h:64

, generated on Tue Sep 26 2023.