CAVEAT: Basically, I'm just using these pages as a notepad. The idea is to make the doxygen generated commets reflect the stuff here eventually
Geometrical Functions
These functions are defined in AcdRecon/AcdReconFuncs.h and implemented in src/AcdReconFuncs.cxx
pointPocapointPoca(const Track& track, const Point& point, arcLength, doca, Point& poca)
...
Track Projection Functions
These functions are also defined int AcdRecon/AcdReconFuncs.h and implemented in src/AcdReconFuncs.cxx
errorAtXPlane(delta, const TkrTrackParams& track, HepMatrix& covAtPlane)
...
Outputs:
pocaError -> the projection of the covareince matrix along the pocaVector
Internal Data structures
These structures are defined in AcdRecon/AcdReconStruct.h
They are only for passing around information with the AcdRecon code. The structures that export code to the TDS and ROOT are defined in Event/Recon/AcdRecon
PocaData
this stores eveything we might want to know about where a track goes relative to a tile or ribbon
// stuff about the Tile or Ribbon
idents::AcdId m_id; // The AcdId of the hit element
// stuff about the DOCA to the center of the tile or ribbon
double m_arcLengthCenter; // Length along the track to the POCA to the center of the tile
double m_docaCenter; // The distance of closest aproach to the center of the tile
Point m_pocaCenter; // The POCA to the center of the tile
// stuff about the point the track projection crosses the tile or ribbon plane
double m_arcLengthPlane; // Length along the track to the plane of the detector
double m_activeX; // 2D active distance in local X and Y ( For the sides X is horizontal, Y is vertical (aka Z) )
double m_activeY
double m_active2D; // The distance of closest aproach to the relevent edge in 2D
Point m_inPlane; // 3D point that track crosses detector plane
double m_localX; // The local coordinates. For the sides X is horizontal, Y is vertical (aka Z)
double m_localY;
double m_localCovXX; // The local covarience terms. For the sides X is horizontal, Y is vertical (aka Z)
double m_localCovXY;
double m_localCovYY;
double m_cosTheta; // angle between track and plane normal
double m_path; // pathlength of track in the active material
// stuff about the POCA between the track projection and the closest edge or corner of the tile or ribbon
double m_arcLength; // Length along the track to the poca
double m_active3D; // The distance of closest aproach to the relevent edge in 3D
double m_active3DErr; // The error on distance of closest aproach to the relevent edge in 3D
Point m_poca; // Point of closest approach
Vector m_pocaVector; // Vector from Track to POCA
// stuff about where the POCA occurs relative to the tile or ribbon
int m_region; // One of the enums in "??"
TrackData
HepPoint3D m_point; // the start (or end) point of the track
HepVector3D m_dir; // the direction of the track
double m_energy; // the energy of the track at the start point
int m_index; // the index number of this track
bool m_upward; // which side of track