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

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

(1) Modify the bug to connect to the Fortran files. (2) Fix the bug of the definition type of the random functions used in Fortran file crystal_dan_FINAL....f.

File size: 3.2 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 axes      ????
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;     //channeling length [m]
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   
57    double DLAI[4];    // elastic length [m] of different matrials (1-4: Si, W,C, Ge)
58    double SAI[4];     //elastic scat. r.m.s [mr] of different matrials (1-4: Si, W,C, Ge)
59    double DLRI[4];    //radiation  length [m] of different matrials (1-4: Si, W,C, Ge)
60    double DLYI[4];    //nuclear length [m] of different matrials (1-4: Si, W,C, Ge)
61    double AI[4];      // Si(110) 1/2 distance between planes(mm)
62    double DES[4];     //energy deposition in subst(GeV/m), due to the ionization?
63    double eUm[4];     //only for Si(110) potent. [eV]     !maximum potential,
64
65
66/*
67    double DLAI[4]={1.6,0.57,2.2,1.0};                // elastic length [m]
68    double SAI[4]={42.0,140.0,42.0,50.0};             //elastic scat. r.m.s [mr]
69    double DLRI[4]={0.09336,.0035,0.188,.023};        //radiation  length [m]
70    double DLYI[4]={0.455, 0.096, 0.400, 0.162};      //nuclear length [m]
71    double AI[4]={0.96e-7, 0.56e-7, 0.63e-7, 1.0e-7}; // Si(110) 1/2 distance between planes(mm)
72    double DES[4]={0.56,  3.0,  0.6, 1.0};            //energy deposition in subst(GeV/m)
73    double eUm[4]={21.34,  21.0,   21.0,   21.0};     //only for Si(110) potent. [eV]     !maximum potential
74  */ 
75
76    /*
77    void afficheCrystal();
78    */
79};
Note: See TracBrowser for help on using the repository browser.