EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DSTCompressor Class Reference

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4eval/DSTCompressor.h>

+ Collaboration diagram for DSTCompressor:

Public Types

using bit5 = std::bitset< 5 >
 
using bit8 = std::bitset< 8 >
 
using bit10 = std::bitset< 10 >
 
using bstream = std::vector< u_char >
 
using Dict = std::vector< float >
 
using Pars = std::array< double, 4 >
 

Public Member Functions

 DSTCompressor (float phiMean=-3e-5, float phiSigma=0.015, float zMean=-0.00063, float zSigma=0.07036, int nBitPhi=8, int nBitZ=8)
 
Dict compress_gaussian_dist (double mean, double stddev, int numPoints, int numBits)
 
unsigned short compressPhi (float inPhi)
 
unsigned short compressZ (float inZ)
 
float decompressPhi (unsigned short key)
 
float decompressZ (unsigned short key)
 

Public Attributes

const bool debug = false
 
const int earlybreak = 1000 * 1000 * 1000
 
const float dist_phi = 0.05
 
const float dist_z = 3
 
int phiBits
 
int zBits
 
const int wordwidth = 8
 
Dict phiDict
 
Dict zDict
 

Detailed Description

Definition at line 8 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 8 of file DSTCompressor.h

Member Typedef Documentation

using DSTCompressor::bit10 = std::bitset<10>

Definition at line 24 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 24 of file DSTCompressor.h

using DSTCompressor::bit5 = std::bitset<5>

Definition at line 22 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 22 of file DSTCompressor.h

using DSTCompressor::bit8 = std::bitset<8>

Definition at line 23 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 23 of file DSTCompressor.h

Definition at line 25 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 25 of file DSTCompressor.h

Definition at line 26 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 26 of file DSTCompressor.h

using DSTCompressor::Pars = std::array<double, 4>

Definition at line 30 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 30 of file DSTCompressor.h

Constructor & Destructor Documentation

DSTCompressor::DSTCompressor ( float  phiMean = -3e-5,
float  phiSigma = 0.015,
float  zMean = -0.00063,
float  zSigma = 0.07036,
int  nBitPhi = 8,
int  nBitZ = 8 
)
inline

Definition at line 35 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 35 of file DSTCompressor.h

References compress_gaussian_dist(), phiBits, phiDict, zBits, and zDict.

+ Here is the call graph for this function:

Member Function Documentation

Dict DSTCompressor::compress_gaussian_dist ( double  mean,
double  stddev,
int  numPoints,
int  numBits 
)
inline

Generate the lookup table with a Gaussian model

Definition at line 51 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 51 of file DSTCompressor.h

References approx(), and Acts::Test::generator().

Referenced by DSTCompressor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

unsigned short DSTCompressor::compressPhi ( float  inPhi)
inline

Definition at line 66 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 66 of file DSTCompressor.h

References phiDict, and residesIn().

Referenced by DSTEmulator::compress_dx().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

unsigned short DSTCompressor::compressZ ( float  inZ)
inline

Definition at line 70 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 70 of file DSTCompressor.h

References residesIn(), and zDict.

Referenced by DSTEmulator::compress_dy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float DSTCompressor::decompressPhi ( unsigned short  key)
inline

Definition at line 74 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 74 of file DSTCompressor.h

References phiDict.

Referenced by DSTEmulator::compress_dx().

+ Here is the caller graph for this function:

float DSTCompressor::decompressZ ( unsigned short  key)
inline

Definition at line 78 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 78 of file DSTCompressor.h

References zDict.

Referenced by DSTEmulator::compress_dy().

+ Here is the caller graph for this function:

Member Data Documentation

const bool DSTCompressor::debug = false

Definition at line 11 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 11 of file DSTCompressor.h

const float DSTCompressor::dist_phi = 0.05

Definition at line 15 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 15 of file DSTCompressor.h

const float DSTCompressor::dist_z = 3

Definition at line 16 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 16 of file DSTCompressor.h

const int DSTCompressor::earlybreak = 1000 * 1000 * 1000

Definition at line 13 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 13 of file DSTCompressor.h

int DSTCompressor::phiBits

Definition at line 17 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 17 of file DSTCompressor.h

Referenced by DSTCompressor().

Dict DSTCompressor::phiDict

Definition at line 32 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 32 of file DSTCompressor.h

Referenced by compressPhi(), decompressPhi(), and DSTCompressor().

const int DSTCompressor::wordwidth = 8

Definition at line 28 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 28 of file DSTCompressor.h

int DSTCompressor::zBits

Definition at line 18 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 18 of file DSTCompressor.h

Referenced by DSTCompressor().

Dict DSTCompressor::zDict

Definition at line 33 of file DSTCompressor.h.

View newest version in sPHENIX GitHub at line 33 of file DSTCompressor.h

Referenced by compressZ(), decompressZ(), and DSTCompressor().


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