CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
AntennaCollection.hpp
1 /*
2  * (c) Copyright 2022 CORSIKA Project, corsika-project@lists.kit.edu
3  *
4  * This software is distributed under the terms of the GNU General Public
5  * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
6  * the license.
7  */
8 #pragma once
9 
10 namespace corsika {
11 
17  template <typename TAntennaImpl>
19 
23  std::vector<TAntennaImpl> antennas_;
24 
25  public:
31  void addAntenna(TAntennaImpl const& antenna);
32 
38  TAntennaImpl& at(std::size_t const i);
39 
40  TAntennaImpl const& at(std::size_t const i) const;
41 
45  int size() const;
46 
52  std::vector<TAntennaImpl>& getAntennas();
53 
59  std::vector<TAntennaImpl> const& getAntennas() const;
60 
64  void reset();
65  }; // END: class RadioDetector
66 
67 } // namespace corsika
68 
69 #include <corsika/detail/modules/radio/detectors/AntennaCollection.inl>
The base interface for radio detectors.
TAntennaImpl & at(std::size_t const i)
Get the specific antenna at that place in the collection.
`, since they are used everywhere as integral part of the framework.
std::vector< TAntennaImpl > & getAntennas()
Get a non-const reference to the collection of antennas.
int size() const
Get the number of antennas in the collection.
void reset()
Reset all the antenna waveforms.
void addAntenna(TAntennaImpl const &antenna)
Add an antenna to this radio process.