ZOOM PhysicsVectors Package Names and Keywords ------------------ For the sake of user code readability, the PhysicsVectors package does not prepend a name guard to its names for key concepts. In consequence, users of the package will have certain names and symbols defined. These are listed here, to make it easy to avoid clashes. Some generalities: * All symbols starting with "ZMpv" are to be considered reserved for the ZOOM PhysicsVectors package. Users need not have knowledge of these, and should avoid using names with that start themselves. Symbols starting with "ZMpv" are not included in this list. * ZOOM Exception objects which may be thrown by routines in this package start with "ZMxpv". A list of potential exceptions that methods of each class can throw is provided in the header for each class. The user generally should not create objects with names tarting with the string "ZMx". These exception objects are not included in this list. * Names of functions defined at global scope do not actually pollute the user namespace, as long as one or more of their arguments involves a class defined in this package. That is, the user can have other functions sharing the same name without clashes. These are therefore listed separately here. * The package does provide several global-scope functions of containers of vectors. These are templates (so that he user can apply them to whatever sort of container is desired). These do not force the use of any package- specific classes in their signatures. Therefore, they can potentially clash with user-defined functions of the same name -- but only if that user function is a template taking precisely one argument. Otherwise, C++ permits the existences of both forms of global function, without clashing. * We list the standard library components used by classes in this package, in case the user has any reason to know. * Method names in class scope, and names accessible only in the scope of a class (such as Rotation::IDENTITY) cannot clash with user names, and are not listed here. - - - - - - - - - - - #defines These are #defined if the corresponding -------- .h file is included PHYSICSVECTORS_H if PhysicsVectors.h is included SPACEVECTOR_H UNITVECTOR_H LORENTZVECTOR_H ROTATION_H LORENTZBOOST_H LORENTZ_TRANSFORMATION_H EBVECTOR_H EULERANGLES_H The remainder of these are pulled in by AXISANGLE_H SpaceVector.h, and thus are #defined if PI_H any of the above classes are used. FIXEDTYPES_H ZMENVIRONMENT_H ZMEXCEPTION_H Class names ----------- SpaceVector UnitVector LorentzVector EBvector EulerAngles AxisAngle Rotation RotationX RotationY RotationZ LorentzBoost LorentzBoostX LorentzBoostY LorentzBoostZ LorentzTransformation Keywords and variables defined at global scope ---------------------------------------------- DEGREES Variables used as keywords in signatures RADIANS to indicate that the preceding argument is ETA to be treated as an angle, expressed in degrees, radians, or as a pseudorapidity. Tcomponent Data type used to distinguish the time component when constructing or setting a LorentzVector from four components. TimePositive An enum that allows the user to specify TimeNegative the sense of the metric in LorentzVector:: setMetric() Float8 64-bit floating point type, from FixedTypes.h Float4 And other typedefs from FixedTypes PI Float8 (double) constant with value pi X_HAT const UnitVectors along the X, Y, and Z axis Y_HAT Z_HAT X_HAT4 const LorentzVectors: (1,0,0,0) Y_HAT4 (0,1,0,0) Z_HAT4 (0,0,1,0) T_HAT4 (0,0,0,1) Functions at global scope: These have arguments involving classes of -------------------------- the PhysicsVectors package, and connot clash with user-defined fucntions which do not. rotationOf rotationXOf rotationYOf rotatoinZOf boostOf boostXOf boostYOf boostZOf Templated functions at global scope: ------------------------------------ invariantMass invariantMass2 findBoostToCM applyBoostTOCM Library components used: ------------------------ istream ostream cin cout endl