REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
Public Member Functions | Private Member Functions | Private Attributes
TRestStrippedMask Class Reference

Detailed Description

A class used to define a stripped mask pattern.

This class defines a stripped pattern. It defines a periodicity and a thickness for the strips. The method TRestStrippedMask::GetRegion will return a unique id for each region in between strips.

The stripped structure is centered in (0,0) and it can be shifted using the offset defined inside TRestPatternMask. The pattern will be only delimited by the limits imposed inside TRestPatternMask.

Specific stripped metadata parameters

Common pattern metadata parameters

On top of the metadata class parameters, we may define common pattern parameters to induce an offset and rotation to the pattern.

Examples

Mask pattern RML definitions can be found inside the file REST_PATH/examples/masks.rml.

The following definition ilustrates a complete RML implementation of a TRestStrippedMask.

<TRestStrippedMask name="strongback" verboseLevel="warning">
<parameter name="maskRadius" value="10" />
<parameter name="offset" value="(1,2)cm" />
<parameter name="rotationAngle" value="0.2" />
<parameter name="stripsGap" value="4mm" />
<parameter name="stripsThickness" value="0.5mm" />
A class used to define a stripped mask pattern.

The basic use of this class is provided by the TRestStrippedMask::GetRegion method. For example:

TRestStrippedMask mask("masks.rml", "stripped");
Int_t id = mask.GetRegion( 12.5, 4.3 );
std::cout << "Region id is : " << id << endl;

The following figure may be generated using the TRestPatternMask::DrawMonteCarlo method.

TRestStrippedMask mask("masks.rml", "stripped");
TCanvas *c = mask.DrawMonteCarlo(30000);
c->Draw();
c->Print("strippedmask.png");


REST-for-Physics - Software for Rare Event Searches Toolkit

History of developments:

2022-05: First implementation of TRestStrippedMask Javier Galan

Author
: Javier Galan - javie.nosp@m.r.ga.nosp@m.lan@u.nosp@m.niza.nosp@m.r.es

Definition at line 29 of file TRestStrippedMask.h.

#include <TRestStrippedMask.h>

Inheritance diagram for TRestStrippedMask:
TRestPatternMask TRestMetadata

Public Member Functions

 ClassDefOverride (TRestStrippedMask, 1)
 
Int_t GetModulus ()
 It returns the modulus used to define a finite set of ids. More...
 
virtual Int_t GetRegion (Double_t &x, Double_t &y) override
 It returns a number identifying the region where the particle with coordinates (x,y) felt in. The method returns 0 if the particle hits the pattern. More...
 
Double_t GetStripsGap ()
 It returns the gap/periodicity of the strips in mm. More...
 
Double_t GetStripsThickness ()
 It returns the thickness of the strips in mm. More...
 
void PrintMask () override
 Prints on screen the information about the metadata members of TRestRingsMask, including common pattern headers, but without common metadata headers. More...
 
void PrintMaskMembers () override
 Prints on screen the information about the metadata members of TRestRingsMask, excluding common metadata headers. More...
 
void PrintMetadata () override
 Prints on screen the complete information about the metadata members from this class. More...
 
 TRestStrippedMask ()
 Default constructor. More...
 
 TRestStrippedMask (const char *cfgFileName, std::string name="")
 Constructor loading data from a config file. More...
 
 ~TRestStrippedMask ()
 Default destructor. More...
 
- Public Member Functions inherited from TRestPatternMask
 ClassDefOverride (TRestPatternMask, 1)
 
TCanvas * DrawMonteCarlo (Int_t nSamples=10000)
 It generates a Monte Carlo with positions and paints them the returned canvas. Each unique region is associated with different colors. If there are too many colors, they might be repited for different region ids. More...
 
Double_t GetMaskRadius ()
 It returns the mask radius. More...
 
Int_t GetMaxRegions ()
 
TVector2 GetOffset ()
 It returns the rotation angle. More...
 
virtual Int_t GetRegion (Double_t &x, Double_t &y)
 To be implemented at the inherited class with the pattern and region identification logic. More...
 
Double_t GetRotationAngle ()
 It returns the rotation angle. More...
 
std::string GetType ()
 It returns the mask pattern type. More...
 
Bool_t HitsPattern (Double_t x, Double_t y)
 Returns true if the pattern was hit. If (x,y) it is inside a region then, the pattern was not hit by (x,y). More...
 
void PrintCommonPatternMembers ()
 Prints on screen the information about the metadata members without header. More...
 
virtual void PrintMask ()
 
virtual void PrintMaskMembers ()
 
void PrintMetadata () override
 Prints on screen the information about the metadata members of TRestPatternMask. More...
 
void SetMaskRadius (const Double_t &radius)
 It defines the mask radius. More...
 
void SetMaxRegions (Int_t regions)
 
void SetOffset (const TVector2 &offset)
 It defines the pattern offset. More...
 
void SetRotationAngle (const Double_t &angle)
 It defines the rotation angle. More...
 
 TRestPatternMask ()
 Default constructor. More...
 
 TRestPatternMask (const char *cfgFileName, std::string name="")
 Constructor loading data from a config file. More...
 
 ~TRestPatternMask ()
 Default destructor. More...
 

Private Member Functions

void Initialize () override
 Function to initialize input/output event members and define the section name. More...
 

Private Attributes

Int_t fModulus = 10
 It defines the maximum number of cells/regions in each axis. More...
 
Double_t fStripsGap = 1
 The periodity of the stripped structure in mm. More...
 
Double_t fStripsThickness = 0.5
 The width of the stripped structure in mm. More...
 

Additional Inherited Members

- Protected Member Functions inherited from TRestPatternMask
Int_t ApplyCommonMaskTransformation (Double_t &x, Double_t &y)
 It produces an effective mask rotation and translation for the point x,y. More...
 
void SetType (const std::string &type)
 It defines the mask type. To be called by the inherited class constructor. More...
 
- Protected Attributes inherited from TRestPatternMask
Double_t fMaskRadius = 0
 The maximum mask radius in mm (if 0 it will be infinite) More...
 
Int_t fMaxRegions = 100
 The maximum number of regions allowed in each mask. More...
 

Constructor & Destructor Documentation

◆ TRestStrippedMask() [1/2]

TRestStrippedMask::TRestStrippedMask ( )

Default constructor.

Definition at line 116 of file TRestStrippedMask.cxx.

◆ TRestStrippedMask() [2/2]

TRestStrippedMask::TRestStrippedMask ( const char *  cfgFileName,
std::string  name = "" 
)

Constructor loading data from a config file.

If no configuration path is defined using TRestMetadata::SetConfigFilePath the path to the config file must be specified using full path, absolute or relative.

The default behaviour is that the config file must be specified with full path, absolute or relative.

Parameters
cfgFileNameA const char* giving the path to an RML file.
nameThe name of the specific metadata. It will be used to find the corresponding TRestStrippedMask section inside the RML.

Definition at line 132 of file TRestStrippedMask.cxx.

◆ ~TRestStrippedMask()

TRestStrippedMask::~TRestStrippedMask ( )

Default destructor.

Definition at line 144 of file TRestStrippedMask.cxx.

Member Function Documentation

◆ GetModulus()

Int_t TRestStrippedMask::GetModulus ( )
inline

It returns the modulus used to define a finite set of ids.

Definition at line 52 of file TRestStrippedMask.h.

◆ GetRegion()

Int_t TRestStrippedMask::GetRegion ( Double_t &  x,
Double_t &  y 
)
overridevirtual

It returns a number identifying the region where the particle with coordinates (x,y) felt in. The method returns 0 if the particle hits the pattern.

The particle will be counter-rotated to emulate the mask rotation using the method TRestPatternMask::ApplyCommonMaskTransformation

Reimplemented from TRestPatternMask.

Definition at line 163 of file TRestStrippedMask.cxx.

◆ GetStripsGap()

Double_t TRestStrippedMask::GetStripsGap ( )
inline

It returns the gap/periodicity of the strips in mm.

Definition at line 46 of file TRestStrippedMask.h.

◆ GetStripsThickness()

Double_t TRestStrippedMask::GetStripsThickness ( )
inline

It returns the thickness of the strips in mm.

Definition at line 49 of file TRestStrippedMask.h.

◆ Initialize()

void TRestStrippedMask::Initialize ( )
overrideprivatevirtual

Function to initialize input/output event members and define the section name.

Reimplemented from TRestMetadata.

Definition at line 150 of file TRestStrippedMask.cxx.

◆ PrintMask()

void TRestStrippedMask::PrintMask ( )
overridevirtual

Prints on screen the information about the metadata members of TRestRingsMask, including common pattern headers, but without common metadata headers.

Reimplemented from TRestPatternMask.

Definition at line 203 of file TRestStrippedMask.cxx.

◆ PrintMaskMembers()

void TRestStrippedMask::PrintMaskMembers ( )
overridevirtual

Prints on screen the information about the metadata members of TRestRingsMask, excluding common metadata headers.

Reimplemented from TRestPatternMask.

Definition at line 213 of file TRestStrippedMask.cxx.

◆ PrintMetadata()

void TRestStrippedMask::PrintMetadata ( )
overridevirtual

Prints on screen the complete information about the metadata members from this class.

Reimplemented from TRestPatternMask.

Definition at line 192 of file TRestStrippedMask.cxx.

Field Documentation

◆ fModulus

Int_t TRestStrippedMask::fModulus = 10
private

It defines the maximum number of cells/regions in each axis.

Definition at line 40 of file TRestStrippedMask.h.

◆ fStripsGap

Double_t TRestStrippedMask::fStripsGap = 1
private

The periodity of the stripped structure in mm.

Definition at line 34 of file TRestStrippedMask.h.

◆ fStripsThickness

Double_t TRestStrippedMask::fStripsThickness = 0.5
private

The width of the stripped structure in mm.

Definition at line 37 of file TRestStrippedMask.h.


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