Changeset 1920 in Sophya for trunk/SophyaPI/PIext/pawexecut.cc


Ignore:
Timestamp:
Mar 6, 2002, 5:50:30 PM (24 years ago)
Author:
perderos
Message:

1) ajout de commande pour trace de champ de vecteur
2) modif pour compil sous peida (pawexecut.cc) OP 06/03/2002

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/pawexecut.cc

    r1913 r1920  
    8282piac->RegisterCommand(kw,usage,this,hgrp);
    8383
     84//#ifndef SANS_EVOLPLANCK
    8485kw = "v/integ";
    85 usage = "Integrate a TVector";
     86usage = "Integrate a TVector / vector";
    8687usage += "\n v/integ namevec [norm]";
    8788usage += "\n norm<=0 means no normalisation (def norm=0)";
    8889usage += "\n  Related commands: h/integ h/deriv v/deriv";
    8990piac->RegisterCommand(kw,usage,this,hgrp);
     91//#endif
    9092
    9193kw = "h/deriv";
     
    9597piac->RegisterCommand(kw,usage,this,hgrp);
    9698
     99//#ifndef SANS_EVOLPLANCK
    97100kw = "v/deriv";
    98 usage = "Derivate a TVector";
     101usage = "Derivate a TVector / vector";
    99102usage += "\n v/deriv namevec [deriv_option]";
    100103usage += "\n deriv_option -1 replace v[i] with v[i]-v[i-1]";
     
    103106usage += "\n  Related commands: h/integ h/deriv v/integ";
    104107piac->RegisterCommand(kw,usage,this,hgrp);
     108//#endif
    105109
    106110kw = "h/rebin";
     
    231235} else if(kw == "h/integ") {
    232236  h_integ(tokens); return(0);
     237  //#ifndef SANS_EVOLPLANCK
    233238} else if(kw == "v/integ") {
    234239  v_integ(tokens); return(0);
     240  //#endif
    235241} else if(kw == "h/deriv") {
    236242  h_deriv(tokens); return(0);
     243  //#ifndef SANS_EVOLPLANCK
    237244} else if(kw == "v/deriv") {
    238245  v_deriv(tokens); return(0);
     246  //#endif
    239247} else if(kw == "h/rebin") {
    240248  h_rebin(tokens); return(0);
     
    586594r_8 norm=-1.;
    587595if(tokens.size()>=2) norm = atof(tokens[1].c_str());
     596#ifdef SANS_EVOLPLANCK
     597Vector* v = dynamic_cast<Vector*>(mobj);
     598#else
    588599TVector<r_8>* v = dynamic_cast<TVector<r_8>*>(mobj);
     600#endif
     601
    589602if(!v)
    590   {cout<<"PAWExecutor::v_integ Error: "<<tokens[0]<<" not a TVector"<<endl;
    591   return;}
     603  {cout<<"PAWExecutor::v_integ Error: "<<tokens[0]<<" not a TVector/Vector"<<endl;
     604  return;}
     605
     606#ifdef SANS_EVOLPLANCK
     607uint_4 n = v->NElts();
     608#else
    592609uint_4 n = v->Size();
     610#endif
     611
    593612if(n==0)
    594613  {cout<<"PAWExecutor::v_integ Error: "<<tokens[0]<<" is an empty vector"<<endl;
     
    636655int_4 deriv_option = 0;
    637656if(tokens.size()>=2) deriv_option = atoi(tokens[1].c_str());
     657
     658#ifdef SANS_EVOLPLANCK
     659Vector* v = dynamic_cast<Vector*>(mobj);
     660#else
    638661TVector<r_8>* v = dynamic_cast<TVector<r_8>*>(mobj);
     662#endif
     663
    639664if(!v)
    640   {cout<<"PAWExecutor::v_deriv Error: "<<tokens[0]<<" not a TVector"<<endl;
    641   return;}
     665  {cout<<"PAWExecutor::v_deriv Error: "<<tokens[0]<<" not a TVector/Vector"<<endl;
     666  return;}
     667
     668
     669#ifdef SANS_EVOLPLANCK
     670uint_4 n = v->NElts();
     671#else
    642672uint_4 n = v->Size();
     673#endif
     674
    643675if(n==0)
    644676  {cout<<"PAWExecutor::v_deriv Error: "<<tokens[0]<<" is an empty vector"<<endl;
    645677  return;}
    646678if(n<=1) return;
     679
     680#ifdef SANS_EVOLPLANCK
     681Vector vsave(*v);
     682#else
    647683TVector<r_8> vsave(*v,false);
     684#endif
     685
    648686if(deriv_option<0) {
    649687  for(uint_4 i=1;i<n;i++) (*v)(i) = vsave(i)-vsave(i-1);
     
    658696}
    659697}
     698
    660699
    661700/* methode */
Note: See TracChangeset for help on using the changeset viewer.