ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtAuxPad.h
Go to the documentation of this file.
1 /*********************************************************************
2  * AtTPC Pad Class AtPad *
3  * Author: Y. Ayyad *
4  * Log: 05-03-2015 19:24 JST *
5  * Adapted from SPiRITROOT STPad by G. Jhang *
6  * *
7  *********************************************************************/
8 
9 #ifndef AtAUXPAD_H
10 #define AtAUXPAD_H
11 
12 #include "AtPad.h"
13 
14 #include <Rtypes.h>
15 
16 #include <memory>
17 #include <string>
18 #include <utility>
19 
20 class TBuffer;
21 class TClass;
22 class TMemberInspector;
23 class AtPadBase;
24 
25 class AtAuxPad : public AtPad {
26 protected:
27  std::string fAuxName;
28 
29 public:
30  AtAuxPad(std::string fAuxName = "noname");
31  AtAuxPad(const AtAuxPad &obj) = default;
32  virtual ~AtAuxPad() = default;
33 
34  virtual std::unique_ptr<AtPad> ClonePad() const override;
35  virtual std::unique_ptr<AtPadBase> Clone() const override;
36 
37  void SetAuxName(std::string val) { fAuxName = std::move(val); }
38  std::string GetAuxName() const { return fAuxName; }
39  Bool_t IsAux() const { return true; }
40 
41  // Delete functions that have no meaning for aux pads
42  // Note, the AtPad:: version of these classes will be called if using
43  // a pointer or referece to AtPad because they are not virtual.
44  Int_t GetPadNum() const = delete;
45  Int_t GetSizeID() const = delete;
46  XYPoint GetPadCoord() const = delete;
47 
49 };
50 
51 #endif
AtPad.h
AtAuxPad::GetAuxName
std::string GetAuxName() const
Definition: AtAuxPad.h:38
AtAuxPad::AtAuxPad
AtAuxPad(std::string fAuxName="noname")
Definition: AtAuxPad.cxx:7
AtAuxPad::ClassDefOverride
ClassDefOverride(AtAuxPad, 1)
AtPadBase
Base class for AtPad composition pattern.
Definition: AtPadBase.h:37
AtAuxPad::Clone
virtual std::unique_ptr< AtPadBase > Clone() const override
Definition: AtAuxPad.cxx:13
AtAuxPad::~AtAuxPad
virtual ~AtAuxPad()=default
AtAuxPad::GetSizeID
Int_t GetSizeID() const =delete
AtAuxPad::GetPadCoord
XYPoint GetPadCoord() const =delete
AtAuxPad::SetAuxName
void SetAuxName(std::string val)
Definition: AtAuxPad.h:37
AtAuxPad::fAuxName
std::string fAuxName
Definition: AtAuxPad.h:27
AtAuxPad::GetPadNum
Int_t GetPadNum() const =delete
AtAuxPad::AtAuxPad
AtAuxPad(const AtAuxPad &obj)=default
AtAuxPad::ClonePad
virtual std::unique_ptr< AtPad > ClonePad() const override
Clone this pad (including augments).
Definition: AtAuxPad.cxx:9
AtAuxPad::IsAux
Bool_t IsAux() const
Definition: AtAuxPad.h:39
AtPad
Container class for AtPadBase objects.
Definition: AtPad.h:38
AtPad::XYPoint
ROOT::Math::XYPoint XYPoint
Definition: AtPad.h:42
AtAuxPad
Definition: AtAuxPad.h:25