--- PamCut/CommonDefs.h 2009/06/10 12:45:46 1.3 +++ PamCut/CommonDefs.h 2010/07/08 14:00:24 1.10 @@ -14,6 +14,9 @@ /*! @brief The implementations of PamCut::Check() must return this value if the event satisfy the cut*/ const int CUTOK = -1; +const float POSITIVE = 1.0; ///< Positive sign alias +const float NEGATIVE = -1.0; ///< Negative sign alias + /*! @enum DETECTORCODE * The values for each detector correspond to a binary code associated to that detector. * These can be arithmetically added to create a binary code for a set of detectors. @@ -22,19 +25,69 @@ TRK = 1, ///< Code for Tracker CALO = 2, ///< Code for Calorimeter level2 TOF = 4, ///< Code for ToF - AC = 8, ///< Code for AntiCoincidence - TRIG = 16, ///< Code for Trigger + ANT = 8, ///< Code for AntiCoincidence + TRG = 16, ///< Code for Trigger ORB = 32, ///< Code for Orbital Info - ALL = 63, ///< Sum of all the above codes - CALO_L1 = 64 + DEFAULT = 63, ///< TRK, CALO, TOF, ANT, TRG, ORB + ND = 64, ///< Code for Neutron Detector + CALO_L1 = 128 ///< Code for Calorimeter level1 }; +/*! @enum TOFLAYERS Flags to identify TOF layers. */ +enum TOFLAYERS { + S11 = 1, ///< S11. + S12 = 2, ///< S12. + S21 = 4, ///< S21. + S22 = 8, ///< S22. + S31 = 16, ///< S31. + S32 = 32 +///< S32. +}; + +/*! @enum TRKLAYERS Flags to identify Tracker layers. */ +enum TRKLAYERS { + T1X = 1, ///< T1X. + T2X = 2, ///< T2X. + T3X = 4, ///< T3X. + T4X = 8, ///< T4X. + T5X = 16, ///< T5X. + T6X = 32, ///< T6X. + TX = 63, ///< All the X layers + T1Y = 64, ///< T1Y. + T2Y = 128, ///< T2Y. + T3Y = 256, ///< T3Y. + T4Y = 512, ///< T4Y. + T5Y = 1024, ///< T5Y. + T6Y = 2048, ///< T6Y. + TY = 4032 +///< All the Y layers +}; /*! @var TOFNPADLAYER * The number of pads in each ToF layer. S11 corresponds to element 0, S12 to element 1 and so on. */ const int TOFNPADLAYER[6] = { 8, 6, 2, 2, 3, 3 }; +/*! @var H_MASS + * Proton mass + */ +const float H_MASS = 0.93827203; // GeV (pdg.web.cern.ch) + +/*! @var HE4_MASS + * Helium 4 mass + */ +const float HE4_MASS = 3.7274; // GeV (http://hyperphysics.phy-astr.gsu.edu/Hbase/pertab/He.html) + +/*! @var HE3_MASS + * Helium 3 mass + */ +const float HE3_MASS = 2.8084; // GeV (http://hyperphysics.phy-astr.gsu.edu/Hbase/pertab/He.html) + +/*! @var E_MASS + * Electron mass + */ +const float E_MASS = 0.000510998; // GeV (from PDG) + /*! @brief A simple matrix class. * * This class defines a matrix built by STL vectors. It is basically a variable-dimension @@ -55,7 +108,7 @@ * @param nCols The number of columns * @param elements The initialization value for the matrix elements. */ - SimpleMatrix(unsigned int nRows, unsigned int nCols, T elements = T()) : + SimpleMatrix(unsigned int nRows = 0, unsigned int nCols = 0, T elements = T()) : _matrix(nRows, std::vector(nCols, elements)) { }