ARTEMIS-CRIB
 
Loading...
Searching...
No Matches
art::crib::TMUXPositionValidator Class Reference

Validates positions from the MUX module based on specified ranges. More...

#include <TMUXPositionValidator.h>

Inheritance diagram for art::crib::TMUXPositionValidator:
[legend]
Collaboration diagram for art::crib::TMUXPositionValidator:
[legend]

Public Member Functions

 TMUXPositionValidator ()
 Constructor.
 
 ~TMUXPositionValidator () override
 Destructor.
 
void Init (TEventCollection *col) override
 Initializes the validator by setting up input and output collections.
 
void Process () override
 Processes input data, validates positions, and stores the results.
 

Private Member Functions

 TMUXPositionValidator (const TMUXPositionValidator &rhs)=delete
 
 ClassDefOverride (TMUXPositionValidator, 2)
 ROOT class definition macro.
 
TMUXPositionValidatoroperator= (const TMUXPositionValidator &rhs)=delete
 

Private Attributes

TClonesArray ** fInData
 ! Pointer to the input data collection.
 
TString fInputColName
 Name of the input collection.
 
TClonesArray * fOutData
 ! Pointer to the output data collection.
 
TString fOutputColName
 Name of the output collection.
 
std::vector< Double_t > fValidPositionRange
 Range of valid positions for validation.
 

Detailed Description

Validates positions from the MUX module based on specified ranges.

This class is designed to work with the TMUX module in a daisy-chain configuration, separating data from different modules based on position information.

Example Steering File

Processor:
- name: MyTMUXPositionValidator
type: art::crib::TMUXPositionValidator
parameter:
InputCollection: input # [TString] Input collection of TMUXData objects
OutputCollection: validated # [TString] Validated output collection
OutputTransparency: 0 # [Bool_t] Output is persistent if false (default)
ValidPositionRange: [0, 0] # [vector<Double_t>] [min, max] -- Ignored if min == max
Verbose: 1 # [Int_t] verbose level (default 1 : non quiet)

Definition at line 40 of file TMUXPositionValidator.h.

Constructor & Destructor Documentation

◆ TMUXPositionValidator() [1/2]

art::crib::TMUXPositionValidator::TMUXPositionValidator ( )

Constructor.

The constructor initializes member variables and registers input/output collections as well as the ValidPositionRange parameter. The default position range is set to [0.0, 0.0], which effectively disables validation unless explicitly configured.

Definition at line 27 of file TMUXPositionValidator.cc.

◆ ~TMUXPositionValidator()

art::crib::TMUXPositionValidator::~TMUXPositionValidator ( )
override

Destructor.

The destructor releases any allocated resources, specifically deallocating the fOutData collection to prevent memory leaks.

Definition at line 45 of file TMUXPositionValidator.cc.

◆ TMUXPositionValidator() [2/2]

art::crib::TMUXPositionValidator::TMUXPositionValidator ( const TMUXPositionValidator & rhs)
privatedelete

Member Function Documentation

◆ ClassDefOverride()

art::crib::TMUXPositionValidator::ClassDefOverride ( TMUXPositionValidator ,
2  )
private

ROOT class definition macro.

◆ Init()

void art::crib::TMUXPositionValidator::Init ( TEventCollection * col)
override

Initializes the validator by setting up input and output collections.

Parameters
colA pointer to the TEventCollection used for data management.

This method initializes the processor by:

  • Retrieving the input data collection from the event collection (col).
  • Validating the configuration of the position range parameter (fValidPositionRange).
  • Creating the output collection for validated data.

If the position range parameter is invalid (e.g., incorrect size or min > max), the processor enters an error state and halts further processing.

Definition at line 60 of file TMUXPositionValidator.cc.

◆ operator=()

TMUXPositionValidator & art::crib::TMUXPositionValidator::operator= ( const TMUXPositionValidator & rhs)
privatedelete

◆ Process()

void art::crib::TMUXPositionValidator::Process ( )
override

Processes input data, validates positions, and stores the results.

The Process method validates each entry in the input collection against the configured position range. Entries with positions (P1) within the range are copied to the output collection, while others are ignored.

Processing steps:

  1. Clear the output collection to prepare for new entries.
  2. Iterate over all entries in the input collection.
  3. Validate the position (P1) of each entry against the range.
  4. Copy valid entries to the output collection.

Any invalid or missing data is skipped without affecting the remaining entries.

Definition at line 104 of file TMUXPositionValidator.cc.

Member Data Documentation

◆ fInData

TClonesArray** art::crib::TMUXPositionValidator::fInData
private

! Pointer to the input data collection.

Definition at line 66 of file TMUXPositionValidator.h.

◆ fInputColName

TString art::crib::TMUXPositionValidator::fInputColName
private

Name of the input collection.

Definition at line 64 of file TMUXPositionValidator.h.

◆ fOutData

TClonesArray* art::crib::TMUXPositionValidator::fOutData
private

! Pointer to the output data collection.

Definition at line 67 of file TMUXPositionValidator.h.

◆ fOutputColName

TString art::crib::TMUXPositionValidator::fOutputColName
private

Name of the output collection.

Definition at line 65 of file TMUXPositionValidator.h.

◆ fValidPositionRange

std::vector<Double_t> art::crib::TMUXPositionValidator::fValidPositionRange
private

Range of valid positions for validation.

Definition at line 69 of file TMUXPositionValidator.h.


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