StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Public Attributes | List of all members
Altro Class Reference
Inheritance diagram for Altro:

Public Types

enum  {
  DIN_FPD, DIN_FT, DIN_FDIN, DIN_FDIN_VPD,
  DIN_VPD_FPD, DIN_VPD_FT, DIN_VPD_FDIN, DIN_VPD_FDIN_VPD,
  FDIN_FPD, FDIN_VPD_FPD, FT_FPD, FT_FT,
  FDIN_FDIN, FDIN_VPD_FDIN_VPD, DIN_FPD1, DIN_FPD2
}
 

Public Member Functions

 Altro (int timebins, short *Channel)
 Consturctor of Altro Class. More...
 
 ~Altro ()
 Destructor of Altro Class. More...
 
void ConfigAltro (int ONBaselineCorrection1, int ONTailcancellation, int ONBaselineCorrection2, int ONClipping, int ONZerosuppression)
 Configures which modules of the Altro should be on. More...
 
void ConfigBaselineCorrection_1 (int mode, int ValuePeDestal, int *PedestalMem, int polarity)
 Configures the Base Line Correction 1 (BSL1) Module. More...
 
void ConfigTailCancellationFilter (int K1, int K2, int K3, int L1, int L2, int L3)
 Configures the Tail Cancellation Filter (TCF) Module. More...
 
void ConfigBaselineCorrection_2 (int HighThreshold, int LowThreshold, int Offset, int Presamples, int Postsamples)
 Configures the Moving Average Filter (BSL2) Module. More...
 
void ConfigZerosuppression (int Threshold, int MinSamplesaboveThreshold, int Presamples, int Postsamples)
 Configures the Zero Suppression Module (ZSU) More...
 
void PrintParameters ()
 Prints the set Parameters, if module is configured. More...
 
void RunEmulation ()
 Runs the emulation of all configured Modules. More...
 
float calculatecompression ()
 calculates the compression out of the bitmask More...
 

Public Attributes

short * ADCkeep
 

Detailed Description

Definition at line 22 of file Altro.h.

Member Enumeration Documentation

anonymous enum
Enumerator
DIN_FPD 

din - fpd

DIN_FT 

din - f(t)

DIN_FDIN 

din - f(din)

DIN_FDIN_VPD 

din - f(din-vpd)

DIN_VPD_FPD 

din - vpd - fpd

DIN_VPD_FT 

din - vpd - f(t)

DIN_VPD_FDIN 

din - vpd - f(din)

DIN_VPD_FDIN_VPD 

din - vpd - f(din - vpd)

FDIN_FPD 

f(din) - fpd

FDIN_VPD_FPD 

f(din - vpd) - fpd

FT_FPD 

f(t) - fpd

FT_FT 

f(t) - f(t)

FDIN_FDIN 

f(din) - f(din)

FDIN_VPD_FDIN_VPD 

f(din - vpd) - f(din - vpd)

DIN_FPD1 

din - fpd

DIN_FPD2 

din - fpd

Definition at line 36 of file Altro.h.

Constructor & Destructor Documentation

Altro::Altro ( int  timebins,
short *  Channel 
)

Consturctor of Altro Class.

Consturctor of Altro Class, some variables are set.
The input Data is altered, so after running the complete emulation you have the Altro Processed Data in the Channel Pointer.

Parameters
timebinsan int sets the length of the input Data (Channel)
Channelan short* Pointer to a 1d short Array with the input Data

Definition at line 31 of file Altro.cxx.

Altro::~Altro ( )

Destructor of Altro Class.

Destructor of Altro Class

Definition at line 54 of file Altro.cxx.

Member Function Documentation

float Altro::calculatecompression ( )

calculates the compression out of the bitmask

calculates the compression out of the bitmask with the set adc values

Returns
float consisting of the compression factor

Definition at line 662 of file Altro.cxx.

void Altro::ConfigAltro ( int  ONBaselineCorrection1,
int  ONTailcancellation,
int  ONBaselineCorrection2,
int  ONClipping,
int  ONZerosuppression 
)

Configures which modules of the Altro should be on.

Configures which modules of the Altro should be on. Each of the modules which are configured to be on, have to be configured later before running the emulation!

Parameters
ONBaselineCorrection1an int Switch (0,1) to turn on the Base Line Correction 1 (BSL1) Module
ONTailcancellationan int Switch (0,1) to turn on the Tail Cancellation Filter (TCF) Module
ONBaselineCorrection2an int Switch (0,1) to turn on the Moving Average Filter (BSL2) Module
ONClippingan int Switch (0,1) to turn on the Clipping Module. This is not possible in the real Altro, there it is always on.
ONZerosuppressionan int Switch (0,1) to turn on the Zero Suppression (ZSU) Module

Definition at line 72 of file Altro.cxx.

void Altro::ConfigBaselineCorrection_1 ( int  mode,
int  ValuePeDestal,
int *  PedestalMem,
int  polarity 
)

Configures the Base Line Correction 1 (BSL1) Module.

Configures the Base Line Correction 1 (BSL1) Module. You dont have to build a proper pedestalMemory array, a pointer of the correct type is enough, of course you are not allowed to use Basline Correction Modes which need then the array ...
All configurable values are "Range checked" and if out of the Range set to the nearest extreme. So the Emulation will work, but the result is maybe not the expected one.

Parameters
modean int sets the mode of the Baseline Correction. See the Altro manual for a description
ValuePeDestalan int this is the baseline of the Channel.
PedestalMeman *int Pointer to a 1d short Array with the pedestal memory Data
polarityan int Switch (0,1) for the polarity

Definition at line 94 of file Altro.cxx.

void Altro::ConfigBaselineCorrection_2 ( int  HighThreshold,
int  LowThreshold,
int  Offset,
int  Presamples,
int  Postsamples 
)

Configures the Moving Average Filter (BSL2) Module.

Configures the Moving Average Filter (BSL2) Module. All configurable values are "Range checked" and if out of the Range set to the nearest extreme. So the Emulation will work, but the result is maybe not the expected one.

Parameters
HighThresholdan int sets the high Threshold
LowThresholdan int sets the low Theshold
Offsetan int sets the the offset which is added to the Signal
Presamplesan int sets the number of pre samples excluded from the moving average caclulation
Postsamplesan int sets the number of post samples excluded from the moving average caclulation

Definition at line 145 of file Altro.cxx.

void Altro::ConfigTailCancellationFilter ( int  K1,
int  K2,
int  K3,
int  L1,
int  L2,
int  L3 
)

Configures the Tail Cancellation Filter (TCF) Module.

Configures the Tail Cancellation Filter (TCF) Module. You have to set the coefficients in the Integer version.
To convert from int to float use (int)*(pow(2,-16)-1) To convert from float to int usw (float)*(pow(2,16)-1) All configurable values are "Range checked" and if out of the Range set to the nearest extreme. So the Emulation will work, but the result is maybe not the expected one.

Parameters
K1an int sets the K1 coeeficient of the TCF
K2an int sets the K2 coeeficient of the TCF
K3an int sets the K3 coeeficient of the TCF
L1an int sets the L1 coeeficient of the TCF
L2an int sets the L2 coeeficient of the TCF
L3an int sets the L3 coeeficient of the TCF

Definition at line 118 of file Altro.cxx.

void Altro::ConfigZerosuppression ( int  Threshold,
int  MinSamplesaboveThreshold,
int  Presamples,
int  Postsamples 
)

Configures the Zero Suppression Module (ZSU)

Configures the Zero Suppression Module (ZSU). All configurable values are "Range checked" and if out of the Range set to the nearest extreme. So the Emulation will work, but the result is maybe not the expected one.

Parameters
Thresholdan int sets the Threshold
MinSamplesaboveThresholdan int sets the minimum number of samples which have to be greater than the threshold
Presamplesan int sets the number of pre samples which are kept
Postsamplesan int sets the number of post samples which are kept

Definition at line 165 of file Altro.cxx.

void Altro::PrintParameters ( )

Prints the set Parameters, if module is configured.

Prints the set Parameters, if module is configured.

Definition at line 182 of file Altro.cxx.

void Altro::RunEmulation ( )

Runs the emulation of all configured Modules.

Runs the emulation of all configured Modules. This changes then the content of the input Array

Definition at line 238 of file Altro.cxx.


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