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

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

Definition at line 44 of file BesTofDigitizerEcV4.hh.

Constructor & Destructor Documentation

◆ Param()

BesTofDigitizerEcV4::Param::Param ( )

Definition at line 708 of file BesTofDigitizerEcV4.cc.

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

Member Function Documentation

◆ getAlpha()

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

Definition at line 735 of file BesTofDigitizerEcV4.cc.

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

◆ getEta()

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

Definition at line 798 of file BesTofDigitizerEcV4.cc.

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

◆ getV()

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

Definition at line 861 of file BesTofDigitizerEcV4.cc.

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

◆ print()

void BesTofDigitizerEcV4::Param::print ( )

Definition at line 924 of file BesTofDigitizerEcV4.cc.

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

Referenced by BesTofDigitizerEcV4::initial().

◆ setPar()

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

Definition at line 696 of file BesTofDigitizerEcV4.cc.

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

Referenced by BesTofDigitizerEcV4::initial().

Member Data Documentation

◆ alpha

double BesTofDigitizerEcV4::Param::alpha

Definition at line 68 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4::Digitize().

◆ deadChannel

int BesTofDigitizerEcV4::Param::deadChannel[72][12]

Definition at line 60 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4::Digitize().

◆ E

double BesTofDigitizerEcV4::Param::E

Definition at line 67 of file BesTofDigitizerEcV4.hh.

◆ E_weight

double BesTofDigitizerEcV4::Param::E_weight

Definition at line 65 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4::StripStruct::avalanche().

◆ eCharge

double BesTofDigitizerEcV4::Param::eCharge

Definition at line 66 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4::StripStruct::avalanche().

◆ eta

double BesTofDigitizerEcV4::Param::eta

Definition at line 69 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4::Digitize().

◆ gapWidth

double BesTofDigitizerEcV4::Param::gapWidth

◆ ngap

double BesTofDigitizerEcV4::Param::ngap

Definition at line 61 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4::HitStruct::calAvaLength().

◆ nmodule

int BesTofDigitizerEcV4::Param::nmodule

Definition at line 56 of file BesTofDigitizerEcV4.hh.

◆ nstep

int BesTofDigitizerEcV4::Param::nstep

Definition at line 63 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4::StripStruct::avalanche().

◆ nstrip

◆ stepWidth

◆ strip_gap

double BesTofDigitizerEcV4::Param::strip_gap

◆ strip_x

double BesTofDigitizerEcV4::Param::strip_x[12]

◆ strip_z

double BesTofDigitizerEcV4::Param::strip_z

◆ tofPara

BesTofGeoParameter* BesTofDigitizerEcV4::Param::tofPara

Definition at line 54 of file BesTofDigitizerEcV4.hh.

◆ v_drift

double BesTofDigitizerEcV4::Param::v_drift

Definition at line 70 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4::Digitize().


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