/[PAMELA software]/calo/flight/CaloBragg/src/CaloBragg.cpp
ViewVC logotype

Diff of /calo/flight/CaloBragg/src/CaloBragg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by mocchiut, Wed Jun 15 10:04:59 2011 UTC revision 1.11 by mocchiut, Wed Jun 15 12:28:45 2011 UTC
# Line 46  void CaloBragg::Clear(){ Line 46  void CaloBragg::Clear(){
46    lpetot = 0.;    lpetot = 0.;
47    lppskip = 0.;    lppskip = 0.;
48    memset(calorimetro,0,44*2*sizeof(Float_t));    memset(calorimetro,0,44*2*sizeof(Float_t));
49    memset(spessore,0,3*sizeof(Float_t));    memset(spessore,0,4*sizeof(Float_t));
50    memset(estremi,0,2*2*sizeof(Float_t));    memset(estremi,0,2*2*sizeof(Float_t));
51    Integrale=0.;    Integrale=0.;
52    
# Line 552  void CaloBragg::conversione(){ Line 552  void CaloBragg::conversione(){
552    //gcm2W = WCross/10. * rhoW;    //gcm2W = WCross/10. * rhoW;
553    
554    //       (g/cm2W)/(g/cm2Si)    //       (g/cm2W)/(g/cm2Si)
555    if ( usenewBB ){    spessore[3] =  (WCross/10.) * rhoW;
556      spessore[1] =  (WCross/10.) * rhoW;    a=(WCross/SiCross)*(rhoW/rhoSi)*(1.145/1.664);  //(gcm2W)/(SiCross/10. * rhoSi)* (1.145/1.664);
557    } else {    spessore[1] =  a;
558      //riscala mip allo spessore attraversato
559      a=(WCross/SiCross)*(rhoW/rhoSi)*(1.145/1.664);  //(gcm2W)/(SiCross/10. * rhoSi)* (1.145/1.664);    spessore[2] = MIP*(SiCross/ySi);  
     spessore[1] =  a;  
     //riscala mip allo spessore attraversato  
     spessore[2] = MIP*(SiCross/ySi);    
   };  
560  };//end conversione  };//end conversione
561    
562    
# Line 585  void CaloBragg::BetheBloch(Float_t *x, F Line 581  void CaloBragg::BetheBloch(Float_t *x, F
581    Float_t lg =0.;    Float_t lg =0.;
582    Float_t Energia=0.;    Float_t Energia=0.;
583    Float_t C=0.;    Float_t C=0.;
584    Float_t INo = II;    Float_t INo = ISi;
585    
586    if ( !usenewBB ) INo = ISi;    if ( usenewBB ) INo = II;
587    
588    eta = (*gam)*(*Bet);    eta = (*gam)*(*Bet);
589    
# Line 693  void CaloBragg::Enetrack(Int_t* Z, Float Line 689  void CaloBragg::Enetrack(Int_t* Z, Float
689        Float_t sp = 0.;        Float_t sp = 0.;
690        Float_t II = ISi;        Float_t II = ISi;
691        if ( usenewBB ){        if ( usenewBB ){
692          sp = spessore[1];                  sp = spessore[3];        
693          II = IW;          II = IW;
694        } else {        } else {
695          sp = spessore[0]*spessore[1]; //((gcm2Si)*(WinSi))//spessore attraversato  in g/cm2          sp = spessore[0]*spessore[1]; //((gcm2Si)*(WinSi))//spessore attraversato  in g/cm2
696        }        }
697          //      printf(" sp %f II %f \n",sp,II);
698        ELOSS(&sp, Z, &Ezero, &dE,II);        ELOSS(&sp, Z, &Ezero, &dE,II);
699        if((Ezero-dE) <= Massa){//se l'energia depositata e' maggiore dell'energia della perticella stop        if((Ezero-dE) <= Massa){//se l'energia depositata e' maggiore dell'energia della perticella stop
700          return;          return;

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.23