BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
BesTofDigitizerEcV4::Param Struct Reference

#include <BesTofDigitizerEcV4.hh>

Public Member Functions

 Param ()
void print ()
void setPar (int nstep, double E_weight, double E)
double getAlpha (double E)
double getEta (double E)
double getV (double E)
 Param ()
void print ()
void setPar (int nstep, double E_weight, double E)
double getAlpha (double E)
double getEta (double E)
double getV (double E)
 Param ()
void print ()
void setPar (int nstep, double E_weight, double E)
double getAlpha (double E)
double getEta (double E)
double getV (double E)

Public Attributes

BesTofGeoParametertofPara
int nstrip
int nmodule
double strip_x [12]
double strip_z
double strip_gap
int deadChannel [72][12]
double ngap
double gapWidth
int nstep
double stepWidth
double E_weight
double eCharge
double E
double alpha
double eta
double v_drift

Detailed Description

Constructor & Destructor Documentation

◆ Param() [1/3]

BesTofDigitizerEcV4::Param::Param ( )

Definition at line 645 of file BesTofDigitizerEcV4.cc.

645 {
646 // parameters fixed
648 nstrip = 12;
649 nmodule = 72;
650 std::stringstream ss;
651 for ( int i = 0; i < nstrip; i++ )
652 {
653 ss.str( "" );
654 ss << "strip_x[" << i << "]";
655 strip_x[i] = tofPara->Get( ss.str().c_str() ); // mm
656 }
657 strip_z = tofPara->Get( "strip_z" );
658 strip_gap = tofPara->Get( "strip_gap" );
659
660 ngap = 12;
661 gapWidth = 0.22; // mm
662 nstep = 200;
664 E_weight = 1. / ( 6. * 0.22 + ( 5. * 0.4 + 2 * 0.55 ) / 3.7 ); // V/mm
665 eCharge = 1.60217733e-7; // pC
666 tofPara->Get_deadChannel( deadChannel );
667
668 // print();
669}
static BesTofGeoParameter * GetInstance()

◆ Param() [2/3]

BesTofDigitizerEcV4::Param::Param ( )

◆ Param() [3/3]

BesTofDigitizerEcV4::Param::Param ( )

Member Function Documentation

◆ getAlpha() [1/3]

double BesTofDigitizerEcV4::Param::getAlpha ( double E)

Definition at line 671 of file BesTofDigitizerEcV4.cc.

671 {
672 // electric field: kV/cm; alpha: mm-1
673 // kV/cm
674 double e[22] = { 65, 70, 75, 80, 85, 90, 95, 100, 102, 104, 106,
675 108, 110, 112, 114, 116, 118, 120, 125, 130, 135, 140 };
676
677 // mm-1
678 double alpha[22] = {
679 383.5 / 10, 471 / 10, 564.5 / 10, 663.6 / 10, 777.1 / 10, 877 / 10,
680 990.8 / 10, 1106 / 10, 1154 / 10, 1199 / 10, 1253 / 10, 1296 / 10,
681 1344 / 10, 1396 / 10, 1448 / 10, 1502 / 10, 1545 / 10, 1597 / 10,
682 1726 / 10, 1858 / 10, 1992 / 10, 2124 / 10,
683 };
684
685 TSpline3* sp_alpha = new TSpline3( "sp_alpha", e, alpha, 22 );
686 double alphaVal = sp_alpha->Eval( E );
687 delete sp_alpha;
688 return alphaVal;
689}

Referenced by setPar().

◆ getAlpha() [2/3]

double BesTofDigitizerEcV4::Param::getAlpha ( double E)

◆ getAlpha() [3/3]

double BesTofDigitizerEcV4::Param::getAlpha ( double E)

◆ getEta() [1/3]

double BesTofDigitizerEcV4::Param::getEta ( double E)

Definition at line 691 of file BesTofDigitizerEcV4.cc.

691 {
692 // electric field: kV/cm; eta: mm-1
693 // kV/cm
694 double e[22] = { 65, 70, 75, 80, 85, 90, 95, 100, 102, 104, 106,
695 108, 110, 112, 114, 116, 118, 120, 125, 130, 135, 140 };
696
697 // mm-1
698 double eta[22] = { 132.6 / 10, 117.2 / 10, 102.6 / 10, 88.26 / 10, 79.81 / 10, 74.0 / 10,
699 66.7 / 10, 62.7 / 10, 61.4 / 10, 57.4 / 10, 55.45 / 10, 54.35 / 10,
700 52.48 / 10, 51.3 / 10, 50.1 / 10, 48.3 / 10, 48.28 / 10, 46.00 / 10,
701 44.08 / 10, 41.67 / 10, 39.97 / 10, 38.04 / 10 };
702
703 TSpline3* sp_eta = new TSpline3( "sp_eta", e, eta, 22 );
704 double etaVal = sp_eta->Eval( E );
705 delete sp_eta;
706 return etaVal;
707}

Referenced by setPar().

◆ getEta() [2/3]

double BesTofDigitizerEcV4::Param::getEta ( double E)

◆ getEta() [3/3]

double BesTofDigitizerEcV4::Param::getEta ( double E)

◆ getV() [1/3]

double BesTofDigitizerEcV4::Param::getV ( double E)

Definition at line 709 of file BesTofDigitizerEcV4.cc.

709 {
710 // electric field: kV/cm; velocity: mm/ns
711 // kV/cm
712 double e[22] = { 65, 70, 75, 80, 85, 90, 95, 100, 102, 104, 106,
713 108, 110, 112, 114, 116, 118, 120, 125, 130, 135, 140 };
714
715 // mm/ns
716 double v[22] = { 130.2 / 1000, 138.5 / 1000, 146.7 / 1000, 155.0 / 1000, 163.3 / 1000,
717 171.4 / 1000, 179.7 / 1000, 187.7 / 1000, 191.2 / 1000, 194.5 / 1000,
718 197.9 / 1000, 201.2 / 1000, 204.5 / 1000, 207.6 / 1000, 210.9 / 1000,
719 214.4 / 1000, 217.5 / 1000, 220.9 / 1000, 228.8 / 1000, 237.0 / 1000,
720 244.7 / 1000, 252.9 / 1000 };
721
722 TSpline3* sp_v = new TSpline3( "sp_v", e, v, 22 );
723 double vVal = sp_v->Eval( E );
724 delete sp_v;
725 return vVal;
726}
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition KarLud.h:35

Referenced by setPar().

◆ getV() [2/3]

double BesTofDigitizerEcV4::Param::getV ( double E)

◆ getV() [3/3]

double BesTofDigitizerEcV4::Param::getV ( double E)

◆ print() [1/3]

void BesTofDigitizerEcV4::Param::print ( )

Definition at line 728 of file BesTofDigitizerEcV4.cc.

728 {
729 cout << "Fixed parameters: " << endl;
730 for ( int i = 0; i < nstrip; i++ ) { cout << " strip_x[" << i << "]= " << strip_x[i]; }
731 for ( int i = 0; i < nmodule; i++ )
732 {
733 for ( int j = 0; j < nstrip; j++ )
734 {
735 if ( deadChannel[i][j] != -999 )
736 { cout << " deadChannel[" << i << "][" << j << "]= " << deadChannel[i][j]; }
737 }
738 }
739
740 cout << " strip_z= " << strip_z << " strip_gap= " << strip_gap << " ngap= " << ngap
741 << " gapWidth= " << gapWidth << " nstep= " << nstep << " stepWidth= " << stepWidth
742 << " E_weight= " << E_weight << " eCharge= " << eCharge << " E= " << E
743 << " alpha= " << alpha << " eta= " << eta << " v_drift= " << v_drift << endl;
744}

◆ print() [2/3]

void BesTofDigitizerEcV4::Param::print ( )

◆ print() [3/3]

void BesTofDigitizerEcV4::Param::print ( )

◆ setPar() [1/3]

void BesTofDigitizerEcV4::Param::setPar ( int nstep,
double E_weight,
double E )

Definition at line 634 of file BesTofDigitizerEcV4.cc.

634 {
635 if ( nstep_n > 0 ) nstep = nstep_n;
636 if ( E_weight_n > 0 ) E_weight = E_weight_n;
637
638 E = E_n;
639 double E_eff = E / 1000 * 2 / 6 / ( gapWidth / 10 ); // kV/cm
640 alpha = getAlpha( E_eff ); // mm^-1
641 eta = getEta( E_eff ); // mm^-1
642 v_drift = getV( E_eff ); // mm/ns
643}

◆ setPar() [2/3]

void BesTofDigitizerEcV4::Param::setPar ( int nstep,
double E_weight,
double E )

◆ setPar() [3/3]

void BesTofDigitizerEcV4::Param::setPar ( int nstep,
double E_weight,
double E )

Member Data Documentation

◆ alpha

double BesTofDigitizerEcV4::Param::alpha

◆ deadChannel

int BesTofDigitizerEcV4::Param::deadChannel

◆ E

double BesTofDigitizerEcV4::Param::E

◆ E_weight

double BesTofDigitizerEcV4::Param::E_weight

◆ eCharge

double BesTofDigitizerEcV4::Param::eCharge

◆ eta

double BesTofDigitizerEcV4::Param::eta

◆ gapWidth

double BesTofDigitizerEcV4::Param::gapWidth

◆ ngap

double BesTofDigitizerEcV4::Param::ngap

◆ nmodule

int BesTofDigitizerEcV4::Param::nmodule

◆ nstep

int BesTofDigitizerEcV4::Param::nstep

◆ nstrip

int BesTofDigitizerEcV4::Param::nstrip

◆ stepWidth

double BesTofDigitizerEcV4::Param::stepWidth

◆ strip_gap

double BesTofDigitizerEcV4::Param::strip_gap

◆ strip_x

double BesTofDigitizerEcV4::Param::strip_x

◆ strip_z

double BesTofDigitizerEcV4::Param::strip_z

◆ tofPara

BesTofGeoParameter * BesTofDigitizerEcV4::Param::tofPara

◆ v_drift

double BesTofDigitizerEcV4::Param::v_drift

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