BOSS 7.0.5
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)
 

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/2]

BesTofDigitizerEcV4::Param::Param ( )

Definition at line 707 of file BesTofDigitizerEcV4.cc.

708{
709 //parameters fixed
711 nstrip = 12;
712 nmodule = 72;
713 std::stringstream ss;
714 for(int i=0; i<nstrip; i++)
715 {
716 ss.str("");
717 ss<<"strip_x["<<i<<"]";
718 strip_x[i] = tofPara->Get(ss.str().c_str()); //mm
719 }
720 strip_z = tofPara->Get("strip_z");
721 strip_gap = tofPara->Get("strip_gap");
722
723 ngap = 12;
724 gapWidth = 0.22; //mm
725 nstep = 200;
727 E_weight = 1./(6.*0.22+(5.*0.4+2*0.55)/3.7); //V/mm
728 eCharge = 1.60217733e-7; //pC
730
731 //print();
732}
double Get(std::string key)
void Get_deadChannel(int deadChannel[72][12])
static BesTofGeoParameter * GetInstance()

◆ Param() [2/2]

BesTofDigitizerEcV4::Param::Param ( )

Member Function Documentation

◆ getAlpha() [1/2]

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

Definition at line 734 of file BesTofDigitizerEcV4.cc.

735{
736 //electric field: kV/cm; alpha: mm-1
737 //kV/cm
738 double e[22] =
739 {
740 65,
741 70 ,
742 75 ,
743 80 ,
744 85 ,
745 90 ,
746 95 ,
747 100 ,
748 102 ,
749 104 ,
750 106 ,
751 108 ,
752 110 ,
753 112 ,
754 114 ,
755 116 ,
756 118 ,
757 120 ,
758 125 ,
759 130 ,
760 135 ,
761 140
762 };
763
764 //mm-1
765 double alpha[22]=
766 {
767 383.5/10 ,
768 471 /10 ,
769 564.5/10 ,
770 663.6/10 ,
771 777.1/10 ,
772 877 /10 ,
773 990.8/10 ,
774 1106 /10 ,
775 1154 /10 ,
776 1199 /10 ,
777 1253 /10 ,
778 1296 /10 ,
779 1344 /10 ,
780 1396 /10 ,
781 1448 /10 ,
782 1502 /10 ,
783 1545 /10 ,
784 1597 /10 ,
785 1726 /10 ,
786 1858 /10 ,
787 1992 /10 ,
788 2124 /10 ,
789 };
790
791 TSpline3* sp_alpha = new TSpline3("sp_alpha", e, alpha, 22);
792 double alphaVal = sp_alpha->Eval(E);
793 delete sp_alpha;
794 return alphaVal;
795}

◆ getAlpha() [2/2]

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

◆ getEta() [1/2]

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

Definition at line 797 of file BesTofDigitizerEcV4.cc.

798{
799 //electric field: kV/cm; eta: mm-1
800 //kV/cm
801 double e[22] =
802 {
803 65,
804 70 ,
805 75 ,
806 80 ,
807 85 ,
808 90 ,
809 95 ,
810 100 ,
811 102 ,
812 104 ,
813 106 ,
814 108 ,
815 110 ,
816 112 ,
817 114 ,
818 116 ,
819 118 ,
820 120 ,
821 125 ,
822 130 ,
823 135 ,
824 140
825 };
826
827 //mm-1
828 double eta[22]=
829 {
830 132.6/10 ,
831 117.2/10 ,
832 102.6/10 ,
833 88.26/10 ,
834 79.81/10 ,
835 74.0 /10 ,
836 66.7 /10 ,
837 62.7 /10 ,
838 61.4 /10 ,
839 57.4 /10 ,
840 55.45/10 ,
841 54.35/10 ,
842 52.48/10 ,
843 51.3 /10 ,
844 50.1 /10 ,
845 48.3 /10 ,
846 48.28/10 ,
847 46.00/10 ,
848 44.08/10 ,
849 41.67/10 ,
850 39.97/10 ,
851 38.04/10
852 };
853
854 TSpline3* sp_eta = new TSpline3("sp_eta", e, eta, 22);
855 double etaVal = sp_eta->Eval(E);
856 delete sp_eta;
857 return etaVal;
858}

◆ getEta() [2/2]

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

◆ getV() [1/2]

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

Definition at line 860 of file BesTofDigitizerEcV4.cc.

861{
862 //electric field: kV/cm; velocity: mm/ns
863 //kV/cm
864 double e[22] =
865 {
866 65,
867 70 ,
868 75 ,
869 80 ,
870 85 ,
871 90 ,
872 95 ,
873 100 ,
874 102 ,
875 104 ,
876 106 ,
877 108 ,
878 110 ,
879 112 ,
880 114 ,
881 116 ,
882 118 ,
883 120 ,
884 125 ,
885 130 ,
886 135 ,
887 140
888 };
889
890 //mm/ns
891 double v[22]=
892 {
893 130.2/1000 ,
894 138.5/1000 ,
895 146.7/1000 ,
896 155.0/1000 ,
897 163.3/1000 ,
898 171.4/1000 ,
899 179.7/1000 ,
900 187.7/1000 ,
901 191.2/1000 ,
902 194.5/1000 ,
903 197.9/1000 ,
904 201.2/1000 ,
905 204.5/1000 ,
906 207.6/1000 ,
907 210.9/1000 ,
908 214.4/1000 ,
909 217.5/1000 ,
910 220.9/1000 ,
911 228.8/1000 ,
912 237.0/1000 ,
913 244.7/1000 ,
914 252.9/1000
915 };
916
917 TSpline3* sp_v = new TSpline3("sp_v", e, v, 22);
918 double vVal = sp_v->Eval(E);
919 delete sp_v;
920 return vVal;
921}
**********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

◆ getV() [2/2]

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

◆ print() [1/2]

void BesTofDigitizerEcV4::Param::print ( )

Definition at line 923 of file BesTofDigitizerEcV4.cc.

924{
925 cout<<"Fixed parameters: "<<endl;
926 for(int i=0; i<nstrip; i++)
927 {
928 cout<<" strip_x["<<i<<"]= "<<strip_x[i];
929 }
930 for(int i=0; i<nmodule; i++)
931 {
932 for(int j=0; j<nstrip; j++)
933 {
934 if(deadChannel[i][j]!=-999)
935 {
936 cout<<" deadChannel["<<i<<"]["<<j<<"]= "<<deadChannel[i][j];
937 }
938 }
939 }
940
941 cout<<" strip_z= "<<strip_z
942 <<" strip_gap= "<<strip_gap
943 <<" ngap= "<<ngap
944 <<" gapWidth= "<<gapWidth
945 <<" nstep= "<<nstep
946 <<" stepWidth= "<<stepWidth
947 <<" E_weight= "<<E_weight
948 <<" eCharge= "<<eCharge
949 <<" E= "<<E
950 <<" alpha= "<<alpha
951 <<" eta= "<<eta
952 <<" v_drift= "<<v_drift
953 <<endl;
954}

Referenced by BesTofDigitizerEcV4::initial().

◆ print() [2/2]

void BesTofDigitizerEcV4::Param::print ( )

◆ setPar() [1/2]

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

Definition at line 695 of file BesTofDigitizerEcV4.cc.

696{
697 if(nstep_n>0) nstep = nstep_n;
698 if(E_weight_n>0) E_weight = E_weight_n;
699
700 E = E_n;
701 double E_eff = E/1000*2/6/(gapWidth/10); //kV/cm
702 alpha = getAlpha(E_eff); //mm^-1
703 eta = getEta(E_eff); //mm^-1
704 v_drift = getV(E_eff); //mm/ns
705}

Referenced by BesTofDigitizerEcV4::initial().

◆ setPar() [2/2]

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

◆ ngap

double BesTofDigitizerEcV4::Param::ngap

◆ nmodule

int BesTofDigitizerEcV4::Param::nmodule

◆ nstep

int BesTofDigitizerEcV4::Param::nstep

◆ nstrip

◆ 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: