ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
Go to the documentation of this file.
24 #include <type_traits>
25 #include <unordered_map>
32 class TMemberInspector;
36 using AtPadPtr = std::unique_ptr<AtPad>;
37 using FpnMap = std::unordered_map<AtPadReference, AtPad>;
38 using PadVector = std::vector<AtPadPtr>;
39 using AtGenTracePtr = std::unique_ptr<AtGenericTrace>;
40 using GenTraceVector = std::vector<AtGenTracePtr>;
44 GenTraceVector fGTraceList;
46 std::multimap<Int_t, std::size_t> fSimMCPointMap;
63 swap(first.fPadList, second.fPadList);
64 swap(first.fFpnMap, second.fFpnMap);
65 swap(first.fSimMCPointMap, second.fSimMCPointMap);
71 void Clear(Option_t *opt =
nullptr)
override;
81 template <
typename... Ts>
84 fPadList.push_back(std::make_unique<AtPad>(std::forward<Ts>(params)...));
85 return fPadList.back().get();
96 template <
typename T,
typename = std::enable_if_t<std::is_base_of<AtPad, std::decay_t<T>>::value>>
99 fPadList.push_back(std::move(ptr));
100 return fPadList.back().get();
106 void SetSimMCPointMap(std::multimap<Int_t, std::size_t> map) { fSimMCPointMap = std::move(map); }
108 template <
typename... Ts>
111 fGTraceList.push_back(std::make_unique<AtGenericTrace>(std::forward<Ts>(params)...));
112 return fGTraceList.back().get();
117 fGTraceList.push_back(std::move(ptr));
118 return fGTraceList.back().get();
131 const PadVector &
GetPads()
const {
return fPadList; }
void swap(AtPad &a, AtPad &b) noexcept
AtPad * GetPad(Int_t padNum)
void Clear(Option_t *opt=nullptr) override
Copy everything but the data (pads, aux pads, and MCPointMap) to this event.
AtRawEvent(AtRawEvent &&obj)=default
Int_t GetNumAuxPads() const
ClassDefOverride(AtRawEvent, 7)
void RemovePad(Int_t padNum)
void SetSimMCPointMap(std::multimap< Int_t, std::size_t > map)
AtGenericTrace * AddGenericTrace(std::unique_ptr< AtGenericTrace > ptr)
Trace recorded by other data acquisition systems.
AtPad * AddPad(std::unique_ptr< T > ptr)
Move a pad into the event.
const PadVector & GetPads() const
Base class for all event types in ATTPCROOT.
const GenTraceVector & GetGenTraces() const
AtPad * AddPad(Ts &&...params)
Create a new pad in this event.
friend void swap(AtRawEvent &first, AtRawEvent &second)
AtRawEvent(const AtBaseEvent &object)
const FpnMap & GetFpnPads() const
AtGenericTrace * AddGenericTrace(Ts &&...params)
AtPad * AddFPN(const AtPadReference &ref)
Create a new FPN channel.
AtRawEvent & operator=(AtRawEvent object)
Container class for AtPadBase objects.
virtual ~AtRawEvent()=default
std::multimap< Int_t, std::size_t > & GetSimMCPointMap()
AtPad * GetFpn(const AtPadReference &ref)