source: ZHANGProjects/ICOSIM/CPP/trunk/source/crystal.h @ 2

Last change on this file since 2 was 2, checked in by zhangj, 10 years ago

Initial import

File size: 2.9 KB
Line 
1#include <iostream>
2#include <cmath>
3
4using namespace std;
5/*This class describes the crystal in the experiment. It has as attribute the 6-dimensional coordinates and as methods some usefull tools related to the the geometric
6 */
7
8
9class Crystal
10{
11
12public:
13
14    //==================Constructeurs, destructeur=========================================
15
16    Crystal(int C_orient, int IS, double C_xmax, double C_ymax, double Cry_length, double Rcurv);
17
18
19    ~Crystal() {};
20
21
22
23    //private:
24
25    /* Other parameters that depend on the inital one and it will simplify or calculation*/
26
27    double cry_bend;   //total bending for this crystal
28    double s_length;   // length in longitudinal axe
29    double xmax;       // Parameter of the crystal [m]
30    double ymax;       // Parameter of the crystal [m]
31    double ymin;       // Parameter of the crystal [m]
32    double L_chan;
33    double tchan;      //Channeling angle
34    double miscut;     //miscut angle [rad]
35    double Rcurv;      //curvature radius [m]
36    double Cry_length; //crystal length [m]
37    double C_xmax;     // maximum in x direction (dim of crystal) [m]
38    double C_ymax;     //maximum in y direction (dim of crystal) [m]
39    double Alayer;     //amourphous layer dimension [m]
40    int IS;            // Interger that defined the substances !!!! Warning !!! 0 -> Si :::  1 -> W  :::  2 -> C  :::  3-> Ge
41    int C_orient;   // Crystal orientation !! = 1 for (110) ; = 2 for (111)
42    int ZN;            // MCS parameter, ZN=0 -> no culomb scattering
43    int NAM;           //  parameter of nuclei interaction
44
45
46
47    //Critical parameter...........
48
49    double xpcrit0; // !critical angle for straight crystal [mrad]
50    double Rcrit;   //!critical curvature radius [m]
51    double ratio;   //!x=Rcurv/Rcrit
52    double xpcrit;  //!critical angle for curved crystal [mrad]
53
54    // -----4 substances: Si(110),W(110),C,Ge------------- Here is some usfull parameter !!!!
55
56    double DLAI[4];    // elastic length [m]
57    double SAI[4];     //elastic scat. r.m.s [mr]
58    double DLRI[4];    //radiation  length [m]
59    double DLYI[4];    //nuclear length [m]
60    double AI[4];      // Si(110) 1/2 distance between planes(mm)
61    double DES[4];     //energy deposition in subst(GeV/m)
62    double eUm[4];     //only for Si(110) potent. [eV]     !maximum potential
63
64
65
66    /*double DLAI[4]={1.6,0.57,2.2,1.0};                // elastic length [m]
67    double SAI[4]={42.0,140.0,42.0,50.0};             //elastic scat. r.m.s [mr]
68    double DLRI[4]={0.09336,.0035,0.188,.023};        //radiation  length [m]
69    double DLYI[4]={0.455, 0.096, 0.400, 0.162};      //nuclear length [m]
70    double AI[4]={0.96e-7, 0.56e-7, 0.63e-7, 1.0e-7}; // Si(110) 1/2 distance between planes(mm)
71    double DES[4]={0.56,  3.0,  0.6, 1.0};            //energy deposition in subst(GeV/m)
72    double eUm[4]={21.34,  21.0,   21.0,   21.0};     //only for Si(110) potent. [eV]     !maximum potential
73    */
74
75    /*
76    void afficheCrystal();
77    */
78};
Note: See TracBrowser for help on using the repository browser.