Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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