13 #include "cetlib_except/exception.h" 
   73     auto const* larprop = lar::providerFrom<detinfo::LArPropertiesService>();
 
   79       throw cet::exception(
"InteractPlane") << 
"InteractPlane called for non-planar surface.\n";
 
   95     if (pinv == 0. || s == 0.) 
return true;
 
  101     double e2 = p2 + mass * 
mass;
 
  102     double e = std::sqrt(e2);
 
  105     double range = t / dedx;
 
  106     if (range > 100.) range = 100.;
 
  116     double betainv = std::sqrt(1. + pinv * pinv * mass * mass);
 
  117     double theta_fact = (0.0136 * pinv * betainv) * (1. + 0.038 * std::log(range / x0));
 
  118     double theta02 = theta_fact * theta_fact * 
std::abs(s / x0);
 
  122     double ufact2 = 1. + dudw * dudw;
 
  123     double vfact2 = 1. + dvdw * dvdw;
 
  124     double uvfact2 = 1. + dudw * dudw + dvdw * dvdw;
 
  125     double uvfact = std::sqrt(uvfact2);
 
  126     double uv = dudw * dvdw;
 
  127     double dist2_3 = s * s / 3.;
 
  134     double pinvvar = evar * e2 / (p2 * p2 * p2);                    
 
  140     noise_matrix(0, 0) = dist2_3 * theta02 * ufact2; 
 
  141     noise_matrix(1, 0) = dist2_3 * theta02 * uv;     
 
  142     noise_matrix(1, 1) = dist2_3 * theta02 * vfact2; 
 
  146     noise_matrix(2, 2) = theta02 * uvfact2 * ufact2; 
 
  147     noise_matrix(3, 2) = theta02 * uvfact2 * uv;     
 
  148     noise_matrix(3, 3) = theta02 * uvfact2 * vfact2; 
 
  152     noise_matrix(2, 0) = dist_2 * theta02 * uvfact * ufact2; 
 
  153     noise_matrix(3, 1) = dist_2 * theta02 * uvfact * vfact2; 
 
  157     noise_matrix(2, 1) = dist_2 * theta02 * uvfact * uv; 
 
  158     noise_matrix(3, 0) = dist_2 * theta02 * uvfact * uv; 
 
  162     noise_matrix(4, 0) = 0.; 
 
  163     noise_matrix(4, 1) = 0.; 
 
  164     noise_matrix(4, 2) = 0.; 
 
  165     noise_matrix(4, 3) = 0.; 
 
  169     noise_matrix(4, 4) = pinvvar; 
 
detinfo::DetectorPropertiesData const & fDetProp
double ElossVar(double mom, double mass) const 
Energy loss fluctuation ( ) 
Utilities related to art service access. 
InteractPlane(detinfo::DetectorPropertiesData const &detProp, double tcut)
double Mass() const 
Based on pdg code. 
const std::shared_ptr< const Surface > & getSurface() const 
Surface. 
KSymMatrix< 5 >::type TrackError
Track error matrix, dimension 5x5. 
double Density(double temperature=0.) const 
Returns argon density at a given temperature. 
KVector< 5 >::type TrackVector
Track state vector, dimension 5. 
double Eloss(double mom, double mass, double tcut) const 
Restricted mean energy loss (dE/dx) 
const TrackVector & getVector() const 
Track state vector. 
bool noise(const KTrack &trk, double s, TrackError &noise_matrix) const override
Calculate noise matrix. 
Base class for Kalman filter planar surfaces. 
Interactor for planar surfaces. 
then echo File list $list not found else cat $list while read file do echo $file sed s
Surface::TrackDirection getDirection() const 
Track direction.