ant
A2 ant: class-based analysis framework
ant::expconfig::detector::PID Struct Reference

#include <PID.h>

+ Inheritance diagram for ant::expconfig::detector::PID:
+ Collaboration diagram for ant::expconfig::detector::PID:

Classes

struct  Element_t
 

Public Member Functions

virtual vec3 GetPosition (unsigned channel) const override
 
virtual unsigned GetNChannels () const override
 
virtual void SetElementFlags (unsigned channel, const ElementFlags_t &flags) override
 
virtual const ElementFlags_tGetElementFlags (unsigned channel) const override
 
virtual double dPhi (unsigned) const
 Get the phi angle covered by one PID element. More...
 
virtual void SetPhiOffset (double offset_degrees)
 Set an absolute phi rotation angle. More...
 
virtual double GetPhiOffset () const
 Get the current phi rotation angle. More...
 
virtual void RotateRelative (const double offset)
 Apply a rotation in addition to the already existing phi offset. More...
 
virtual void BuildMappings (std::vector< hit_mapping_t > &, std::vector< scaler_mapping_t > &) const override
 
- Public Member Functions inherited from ant::Detector_t
virtual void SetElementFlag (ElementFlag_t flag, const std::vector< unsigned > &channels)
 
virtual bool HasElementFlags (unsigned channel, const ElementFlags_t &flags) const
 
virtual bool IsIgnored (unsigned channel) const
 
virtual ~Detector_t ()=default
 

Protected Member Functions

 PID (const std::vector< Element_t > &elements_init)
 Constructor. More...
 
- Protected Member Functions inherited from ant::Detector_t
 Detector_t (const Type_t &type)
 
 Detector_t (const Detector_t &)=delete
 
- Protected Member Functions inherited from ant::UnpackerAcquConfig
 ~UnpackerAcquConfig ()=default
 

Additional Inherited Members

- Public Types inherited from ant::Detector_t
enum  Type_t : std::uint8_t {
  Type_t::Trigger, Type_t::Tagger, Type_t::TaggerMicro, Type_t::EPT,
  Type_t::Moeller, Type_t::PairSpec, Type_t::CB, Type_t::PID,
  Type_t::MWPC0, Type_t::MWPC1, Type_t::TAPS, Type_t::TAPSVeto,
  Type_t::Cherenkov, Type_t::Raw
}
 
enum  ElementFlag_t {
  ElementFlag_t::Missing, ElementFlag_t::Broken, ElementFlag_t::BadTDC, ElementFlag_t::NoCalibFill,
  ElementFlag_t::NoCalibUseDefault
}
 
using ElementFlags_t = bitflag< ElementFlag_t, 16 >
 
- Static Public Member Functions inherited from ant::Detector_t
static const char * ToString (const Type_t &type)
 
static Type_t FromString (const std::string &str)
 
- Public Attributes inherited from ant::Detector_t
const Type_t Type
 

Constructor & Destructor Documentation

◆ PID()

ant::expconfig::detector::PID::PID ( const std::vector< Element_t > &  elements_init)
inlineprotected

Constructor.

Parameters
elements_initThe default PID offset angle is conposed of 15.476 degrees from Acqu, and 7.5 degrees empirical from MC studies.

Member Function Documentation

◆ BuildMappings()

void PID::BuildMappings ( std::vector< hit_mapping_t > &  hit_mappings,
std::vector< scaler_mapping_t > &   
) const
overridevirtual

◆ dPhi()

double PID::dPhi ( unsigned  ) const
virtual

Get the phi angle covered by one PID element.

Returns
angle in radian

◆ GetElementFlags()

virtual const ElementFlags_t& ant::expconfig::detector::PID::GetElementFlags ( unsigned  channel) const
inlineoverridevirtual

Implements ant::Detector_t.

◆ GetNChannels()

virtual unsigned ant::expconfig::detector::PID::GetNChannels ( ) const
inlineoverridevirtual

Implements ant::Detector_t.

◆ GetPhiOffset()

double PID::GetPhiOffset ( ) const
virtual

Get the current phi rotation angle.

Returns
angle in degrees
Todo:
Change to return values in radian

◆ GetPosition()

virtual vec3 ant::expconfig::detector::PID::GetPosition ( unsigned  channel) const
inlineoverridevirtual

Implements ant::Detector_t.

◆ RotateRelative()

void PID::RotateRelative ( const double  offset)
virtual

Apply a rotation in addition to the already existing phi offset.

Parameters
offsetThe angle in degrees
Todo:
Change offset to be in radian

◆ SetElementFlags()

virtual void ant::expconfig::detector::PID::SetElementFlags ( unsigned  channel,
const ElementFlags_t flags 
)
inlineoverridevirtual

Implements ant::Detector_t.

◆ SetPhiOffset()

void PID::SetPhiOffset ( double  offset_degrees)
virtual

Set an absolute phi rotation angle.

Parameters
offset_degreesangle in degrees
Todo:
Change to use radian

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