ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
AtMap Class Referenceabstract

#include <AtMap.h>

Inheritance diagram for AtMap:
Inheritance graph
[legend]
Collaboration diagram for AtMap:
Collaboration graph
[legend]

Public Types

enum  InhibitType {
  InhibitType::kNone = 0, InhibitType::kLowGain = 1, InhibitType::kXTalk = 2, InhibitType::kTotal = 3,
  InhibitType::kBadPad = 4
}
 

Public Member Functions

 AtMap ()
 
 ~AtMap ()=default
 
virtual void Dump ()=0
 
virtual void GeneratePadPlane ()=0
 
virtual ROOT::Math::XYPoint CalcPadCenter (Int_t PadRef)=0
 
TH2Poly * GetPadPlane ()
 
virtual Int_t BinToPad (Int_t binval)=0
 
UInt_t GetNumPads () const
 
Int_t GetPadNum (const AtPadReference &PadRef) const
 
Int_t GetPadNum (ROOT::Math::XYPoint point)
 
multiarray GetPadCoordArr ()
 
multiarrayGetPadCoord ()
 
Bool_t ParseXMLMap (Char_t const *xmlfile)
 
void ParseMapList (TXMLNode *node)
 
void ParseAtTPCMap (TXMLNode *node)
 
Bool_t DumpAtTPCMap ()
 
AtPadReference GetPadRef (int padNum) const
 
bool AddAuxPad (const AtPadReference &ref, std::string auxName)
 
bool IsAuxPad (const AtPadReference &ref) const
 
bool IsFPNchannel (const AtPadReference &ref) const
 
AtPadReference GetNearestFPN (int padNum) const
 
AtPadReference GetNearestFPN (const AtPadReference &ref) const
 
std::string GetAuxName (const AtPadReference &ref) const
 
void SetDebugMode (Bool_t flag=true)
 
Bool_t ParseInhibitMap (TString inimap, AtMap::InhibitType type)
 
void InhibitPad (Int_t padNum, AtMap::InhibitType type)
 
void InhibitPad (AtPadReference padRef, AtMap::InhibitType type)
 
AtMap::InhibitType IsInhibited (Int_t PadNum)
 
AtMap::InhibitType IsInhibited (AtPadReference padRef)
 
Int_t GetPadSize (int padNum)
 
 ClassDefOverride (AtMap, 5)
 

Protected Types

typedef boost::multi_array< double, 3 > multiarray
 
typedef multiarray::index index
 

Protected Member Functions

void drawPadPlane ()
 

Protected Attributes

multiarray AtPadCoord
 
multiarrayfAtPadCoordPtr {}
 
Bool_t kIsParsed = false
 
Bool_t kDebug = false
 
std::unordered_map< AtPadReference, AtMap::InhibitTypefIniPads
 
TCanvas * fPadPlaneCanvas {}
 
TH2Poly * fPadPlane
 
UInt_t fNumberPads {}
 
std::unordered_map< AtPadReference, int > fPadMap
 
std::map< int, AtPadReferencefPadMapInverse
 
std::unordered_map< AtPadReference, std::string > fAuxPadMap
 
std::map< int, int > fPadSizeMap
 

Detailed Description

Definition at line 33 of file AtMap.h.

Member Typedef Documentation

◆ index

typedef multiarray::index AtMap::index
protected

Definition at line 39 of file AtMap.h.

◆ multiarray

typedef boost::multi_array<double, 3> AtMap::multiarray
protected

Definition at line 38 of file AtMap.h.

Member Enumeration Documentation

◆ InhibitType

enum AtMap::InhibitType
strong
Enumerator
kNone 
kLowGain 
kXTalk 
kTotal 
kBadPad 

Definition at line 109 of file AtMap.h.

Constructor & Destructor Documentation

◆ AtMap()

AtMap::AtMap ( )

Definition at line 43 of file AtMap.cxx.

◆ ~AtMap()

AtMap::~AtMap ( )
default

Member Function Documentation

◆ AddAuxPad()

bool AtMap::AddAuxPad ( const AtPadReference ref,
std::string  auxName 
)

Definition at line 262 of file AtMap.cxx.

◆ BinToPad()

virtual Int_t AtMap::BinToPad ( Int_t  binval)
pure virtual

◆ CalcPadCenter()

virtual ROOT::Math::XYPoint AtMap::CalcPadCenter ( Int_t  PadRef)
pure virtual

◆ ClassDefOverride()

AtMap::ClassDefOverride ( AtMap  ,
 
)

◆ drawPadPlane()

void AtMap::drawPadPlane ( )
protected

Definition at line 288 of file AtMap.cxx.

◆ Dump()

virtual void AtMap::Dump ( )
pure virtual

◆ DumpAtTPCMap()

Bool_t AtMap::DumpAtTPCMap ( )

Definition at line 240 of file AtMap.cxx.

◆ GeneratePadPlane()

virtual void AtMap::GeneratePadPlane ( )
pure virtual

Virtual function that creates the TH2Poly that stores the pad plane geometry

Implemented in AtTpcProtoMap, AtGadgetIIMap, AtSpecMATMap, and AtTpcMap.

◆ GetAuxName()

std::string AtMap::GetAuxName ( const AtPadReference ref) const

Definition at line 274 of file AtMap.cxx.

◆ GetNearestFPN() [1/2]

AtPadReference AtMap::GetNearestFPN ( const AtPadReference ref) const

Definition at line 50 of file AtMap.cxx.

◆ GetNearestFPN() [2/2]

AtPadReference AtMap::GetNearestFPN ( int  padNum) const

Definition at line 45 of file AtMap.cxx.

◆ GetNumPads()

UInt_t AtMap::GetNumPads ( ) const
inline

Definition at line 73 of file AtMap.h.

◆ GetPadCoord()

multiarray* AtMap::GetPadCoord ( )
inline

Definition at line 79 of file AtMap.h.

◆ GetPadCoordArr()

multiarray AtMap::GetPadCoordArr ( )
inline

Definition at line 78 of file AtMap.h.

◆ GetPadNum() [1/2]

Int_t AtMap::GetPadNum ( const AtPadReference PadRef) const

Definition at line 89 of file AtMap.cxx.

◆ GetPadNum() [2/2]

Int_t AtMap::GetPadNum ( ROOT::Math::XYPoint  point)

Definition at line 78 of file AtMap.cxx.

◆ GetPadPlane()

TH2Poly * AtMap::GetPadPlane ( )

Assumes it will generate the pad plane if it hasn't been generated already returns a clone of the internal pad plane which is owned by ROOT

Definition at line 70 of file AtMap.cxx.

◆ GetPadRef()

AtPadReference AtMap::GetPadRef ( int  padNum) const

Definition at line 281 of file AtMap.cxx.

◆ GetPadSize()

int AtMap::GetPadSize ( int  padNum)

Definition at line 152 of file AtMap.cxx.

◆ InhibitPad() [1/2]

void AtMap::InhibitPad ( AtPadReference  padRef,
AtMap::InhibitType  type 
)

Definition at line 136 of file AtMap.cxx.

◆ InhibitPad() [2/2]

void AtMap::InhibitPad ( Int_t  padNum,
AtMap::InhibitType  type 
)
inline

Definition at line 96 of file AtMap.h.

◆ IsAuxPad()

bool AtMap::IsAuxPad ( const AtPadReference ref) const

Definition at line 270 of file AtMap.cxx.

◆ IsFPNchannel()

bool AtMap::IsFPNchannel ( const AtPadReference ref) const

Definition at line 65 of file AtMap.cxx.

◆ IsInhibited() [1/2]

AtMap::InhibitType AtMap::IsInhibited ( AtPadReference  padRef)

Definition at line 143 of file AtMap.cxx.

◆ IsInhibited() [2/2]

AtMap::InhibitType AtMap::IsInhibited ( Int_t  PadNum)
inline

Definition at line 98 of file AtMap.h.

◆ ParseAtTPCMap()

void AtMap::ParseAtTPCMap ( TXMLNode *  node)

Definition at line 158 of file AtMap.cxx.

◆ ParseInhibitMap()

Bool_t AtMap::ParseInhibitMap ( TString  inimap,
AtMap::InhibitType  type 
)

Definition at line 111 of file AtMap.cxx.

◆ ParseMapList()

void AtMap::ParseMapList ( TXMLNode *  node)

Definition at line 191 of file AtMap.cxx.

◆ ParseXMLMap()

Bool_t AtMap::ParseXMLMap ( Char_t const *  xmlfile)

Definition at line 219 of file AtMap.cxx.

◆ SetDebugMode()

void AtMap::SetDebugMode ( Bool_t  flag = true)
inline

Definition at line 94 of file AtMap.h.

Member Data Documentation

◆ AtPadCoord

multiarray AtMap::AtPadCoord
protected

Definition at line 41 of file AtMap.h.

◆ fAtPadCoordPtr

multiarray* AtMap::fAtPadCoordPtr {}
protected

Definition at line 42 of file AtMap.h.

◆ fAuxPadMap

std::unordered_map<AtPadReference, std::string> AtMap::fAuxPadMap
protected

Definition at line 52 of file AtMap.h.

◆ fIniPads

std::unordered_map<AtPadReference, AtMap::InhibitType> AtMap::fIniPads
protected

Definition at line 45 of file AtMap.h.

◆ fNumberPads

UInt_t AtMap::fNumberPads {}
protected

Definition at line 48 of file AtMap.h.

◆ fPadMap

std::unordered_map<AtPadReference, int> AtMap::fPadMap
protected

Definition at line 50 of file AtMap.h.

◆ fPadMapInverse

std::map<int, AtPadReference> AtMap::fPadMapInverse
protected

Definition at line 51 of file AtMap.h.

◆ fPadPlane

TH2Poly* AtMap::fPadPlane
protected

Definition at line 47 of file AtMap.h.

◆ fPadPlaneCanvas

TCanvas* AtMap::fPadPlaneCanvas {}
protected

Definition at line 46 of file AtMap.h.

◆ fPadSizeMap

std::map<int, int> AtMap::fPadSizeMap
protected

Definition at line 53 of file AtMap.h.

◆ kDebug

Bool_t AtMap::kDebug = false
protected

Definition at line 44 of file AtMap.h.

◆ kIsParsed

Bool_t AtMap::kIsParsed = false
protected

Definition at line 43 of file AtMap.h.


The documentation for this class was generated from the following files: