ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
Go to the documentation of this file.
13 #include <Math/Point2D.h>
14 #include <Math/Point2Dfwd.h>
21 #include <type_traits>
25 class TMemberInspector;
41 using trace = std::array<Double_t, 512>;
56 AtPad(Int_t PadNum = -1);
63 virtual std::unique_ptr<AtPadBase>
Clone()
const override;
64 virtual std::unique_ptr<AtPad>
ClonePad()
const;
70 template <typename T, typename std::enable_if_t<std::is_base_of<AtPadBase, T>::value> * =
nullptr>
75 template <typename T, typename std::enable_if_t<std::is_base_of<AtPadBase, T>::value> * =
nullptr>
78 return dynamic_cast<const T *
>(
GetAugment(name));
92 void SetADC(Int_t idx, Double_t val) {
fAdc[idx] = val; }
101 Double_t
GetADC(Int_t idx)
const;
Bool_t fIsPedestalSubtracted
void SetADC(Int_t idx, Double_t val)
void SetPadNum(Int_t padNum)
void SetValidPad(Bool_t val=kTRUE)
std::map< std::string, std::unique_ptr< AtPadBase > > fPadAugments
Bool_t GetValidPad() const
void SetPadCoord(const XYPoint &point)
Base class for AtPad composition pattern.
T * GetAugment(std::string name)
void SetRawADC(const rawTrace &val)
Int_t GetRawADC(Int_t idx) const
const std::map< std::string, std::unique_ptr< AtPadBase > > & GetAugments() const
ROOT::Math::XYPoint XYPoint
void SetPedestalSubtracted(Bool_t val=kTRUE)
virtual std::unique_ptr< AtPad > ClonePad() const
Clone this pad (including augments).
std::array< Double_t, 512 > trace
virtual std::unique_ptr< AtPadBase > Clone() const override
void SetADC(const trace &val)
ClassDefOverride(AtPad, 3)
const T * GetAugment(std::string name) const
XYPoint GetPadCoord() const
AtPadBase * ReplaceAugment(std::string name, std::unique_ptr< AtPadBase > augment)
AtPadBase * GetAugment(std::string name)
const trace & GetADC() const
std::array< Int_t, 512 > rawTrace
Bool_t IsPedestalSubtracted() const
AtPad & operator=(AtPad obj)
std::array< Double_t, 512 > trace
Container class for AtPadBase objects.
void SetSizeID(Int_t sizeID)
const rawTrace & GetRawADC() const
ROOT::Math::XYPoint XYPoint
std::unique_ptr< TH1D > GetADCHistrogram() const
AtPadBase * AddAugment(std::string name, std::unique_ptr< AtPadBase > augment)
friend void swap(AtPad &a, AtPad &b) noexcept
void SetRawADC(Int_t idx, Int_t val)