Index: trunk/src/SmearUtil.cc
===================================================================
--- trunk/src/SmearUtil.cc	(revision 252)
+++ trunk/src/SmearUtil.cc	(revision 254)
@@ -161,4 +161,8 @@
   RP_offsetEl_s     = 120;
   RP_offsetEl_x     = 0.097;
+  RP_cross_x        = -500;
+  RP_cross_y        = 0.0;
+  RP_cross_ang      = 142.5;
+
 
   
@@ -248,4 +252,8 @@
   RP_offsetEl_s     = DET.RP_offsetEl_s;
   RP_offsetEl_x     = DET.RP_offsetEl_x;
+  RP_cross_x        = DET.RP_cross_x;
+  RP_cross_y        = DET.RP_cross_y;
+  RP_cross_ang      = DET.RP_cross_ang;
+
 
   // In case FROG event display allowed
@@ -357,4 +365,8 @@
   RP_beam1Card      = DET.RP_beam1Card;
   RP_beam2Card      = DET.RP_beam2Card;
+  RP_cross_x        = DET.RP_cross_x;
+  RP_cross_y        = DET.RP_cross_y;
+  RP_cross_ang      = DET.RP_cross_ang;
+
 
 
@@ -421,6 +433,6 @@
     else if(strstr(temp_string.c_str(),"RP_420_s"))         {curstring >> varname >> value; RP_420_s          = value;}
     else if(strstr(temp_string.c_str(),"RP_420_x"))         {curstring >> varname >> value; RP_420_x          = value;}
-    //else if(strstr(temp_string.c_str(),"Beam1Card"))        {curstring >> varname >> svalue;Beam1Card         = svalue;}
-    //else if(strstr(temp_string.c_str(),"Beam2Card"))        {curstring >> varname >> svalue;Beam2Card         = svalue;}
+    else if(strstr(temp_string.c_str(),"Beam1Card"))        {curstring >> varname >> svalue;RP_beam1Card         = svalue;}
+    else if(strstr(temp_string.c_str(),"Beam2Card"))        {curstring >> varname >> svalue;RP_beam2Card         = svalue;}
     
     else if(strstr(temp_string.c_str(),"ELG_Scen"))         {curstring >> varname >> value; ELG_Scen          = value;}
@@ -567,10 +579,14 @@
     f_out << left << setw(35) <<"* Datacard for beam 2: "<<""
           << left << setw(25) <<RP_beam2Card            <<""<< right << setw(10)<<"*"<<"\n";
-    f_out << left << setw(40) <<"* Beam separation, in meters:     "<<""
-          << left << setw(10) << RP_offsetEl_x          <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
+    f_out << left << setw(44) <<"* Beam separation, in meters:     "<<""
+          << left << setw(6) << RP_offsetEl_x          <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
     f_out << left << setw(44) <<"* Distance from IP for Beam separation (m):"<<""
           << left << setw(6) <<RP_offsetEl_s           <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
-
-
+    f_out << left << setw(44) <<"* X offset of beam crossing in micrometers:"<<""
+          << left << setw(6) <<RP_cross_x           <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
+    f_out << left << setw(44) <<"* Y offset of beam crossing in micrometers:"<<""
+          << left << setw(6) <<RP_cross_y           <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
+    f_out << left << setw(44) <<"* Angle of  beam crossing:"<<""
+          << left << setw(6) <<RP_cross_ang           <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
 
     f_out<<"*                                                                    *"<<"\n";
Index: trunk/src/VeryForward.cc
===================================================================
--- trunk/src/VeryForward.cc	(revision 252)
+++ trunk/src/VeryForward.cc	(revision 254)
@@ -77,6 +77,6 @@
   beamline1->fill(DET->RP_beam1Card,1,"IP5");                                
   beamline1->offsetElements(DET->RP_offsetEl_s,-DET->RP_offsetEl_x);
-  H_RomanPot * rp220_1 = new H_RomanPot("rp220_1",DET->RP_220_s,DET->RP_220_x*1E6); // RP 220m, 2mm, beam 1  
-  H_RomanPot * rp420_1 = new H_RomanPot("rp420_1",DET->RP_420_s,DET->RP_420_x*1E6); // RP 420m, 4mm, beam 1  
+  H_RomanPot * rp220_1 = new H_RomanPot("rp220_1",DET->RP_220_s,DET->RP_220_x*(1E6)); // RP 220m, 2mm, beam 1  
+  H_RomanPot * rp420_1 = new H_RomanPot("rp420_1",DET->RP_420_s,DET->RP_420_x*(1E6)); // RP 420m, 4mm, beam 1  
   beamline1->add(rp220_1); 
   beamline1->add(rp420_1);
@@ -84,6 +84,6 @@
   beamline2->fill(DET->RP_beam2Card,-1,"IP5");                              
   beamline2->offsetElements(DET->RP_offsetEl_s,+DET->RP_offsetEl_x);
-  H_RomanPot * rp220_2 = new H_RomanPot("rp220_2",DET->RP_220_s,DET->RP_220_x*1E6);// RP 220m, 2mm, beam 2     
-  H_RomanPot * rp420_2 = new H_RomanPot("rp420_2",DET->RP_420_s,DET->RP_420_x*1E6);// RP 420m, 4mm, beam 2     
+  H_RomanPot * rp220_2 = new H_RomanPot("rp220_2",DET->RP_220_s,DET->RP_220_x*(1E6));// RP 220m, 2mm, beam 2     
+  H_RomanPot * rp420_2 = new H_RomanPot("rp420_2",DET->RP_420_s,DET->RP_420_x*(1E6));// RP 420m, 4mm, beam 2     
   beamline2->add(rp220_2);
   beamline2->add(rp420_2); 
@@ -141,5 +141,5 @@
       p1.smearAng();
       p1.smearPos();
-      p1.setPosition(p1.getX()-500.,p1.getY(),p1.getTX()-1*kickers_on*CRANG,p1.getTY(),0);
+      p1.setPosition(p1.getX()+DET->RP_cross_x,p1.getY()+DET->RP_cross_y,p1.getTX()-1*kickers_on*DET->RP_cross_ang,p1.getTY(),0);
       p1.set4Momentum(particle->Px,particle->Py,particle->Pz,particle->E);
       
