|
|
Digi codes are maintained in the XxxSim subsystem packages
See also 9/9/96 simu meeting minutes
Time quantity in digitizations
A uniform convention on the implementation of the time quantity in digis has been adopted: the time is to be ns (real) relative to the L1A time (ie. what can ultimately be expected from real data, thus isolating reco code from the evolution of
how this number is filled). See also 9/9/96 simu meeting minutes
Fast Control and Timing clocks
The FcsSim package provides Fast Control and Timing clocks for use in digitization codes. Both Fortran and C++ interfaces exist. A working (Fortran) example is in the SVT code. There are
examples of both Fortran and C++ use in the L1 trigger codes. See the L1 Simulation page for more information.
L1A Trigger Time Usage
The FcsSim package provides the L1A trigger accept time for use in digitization codes. Documentation on how to use it in the FcsSim README file. A working (Fortran) example is in the SVT
code. Starting in 1998, packages are required to use the L1FctData package for the L1A time. The clocks will still be obtained from the FcsSim
package.
Random Numbers
C++ Random number classes
- CLHEP/Random classes should be used. Refer to CLHEP documentation.
- Currently used in
- EmcSim
- IfrSim
- RecVtx (smearing routine in the test code)
Tools.h++
Tools.h++ usage guide postscript or text. For new code, use Tools.h++ rather than CLHEP eg. for lists. See the usage guide. Migration from existing CLHEP usages is a good idea but
needn't have high priority.
Digitization Survey
A. Detector Subsystems
| |
SVT |
DCH |
DRC |
EMC |
IFR |
| Digi code in XxxSim |
Yes |
No |
Yes |
Yes |
Yes |
| Reproducible |
Yes |
Yes |
No |
Yes |
Yes |
| HepRandom used? |
No |
No |
No |
Yes |
Yes |
| L1A time used |
FcsSimOut |
No |
No |
No |
No |
| Language |
F77, C++ |
C++ |
F77 |
C++ |
C++ |
| Digi Class |
SvtDigi |
DchDigi |
DrcGHit! |
EmcDigi |
IfrAbsDigi |
| Persistence |
xdr |
no |
xdr? |
Objy |
no |
| Hit Association |
(1) |
(2) |
(3) |
(4) |
(5) |
| MC Truth Association |
|
|
|
mcTrue() |
IfrAbsMC |
- (1)
- private: HepAList <XxxGHit< _hitlist;
public: SvtGHit* getGHit(int) const;
- (2)
- private: HepConstAList <DchGHit> _hitlist;
public: const DchGHit* getDchGHit(int i=0) const;
(also an accessor to return AList)
- (3)
- (4)
- private: EmcGHit* _mcTrue; // hit giving largest energy
private: HepAList<EmcGHit>* _hitlist;
public: inline const HepAList <EmcGHit>* getMemberList() const;
public: inline const EmcGHit* mcTrue() const;
public: void setMcTrue(EmcGHit*);
public: virtual void addHit(EmcGHit*);
public: virtual void addHitToListOnly(EmcGHit*);
- (5)
- IfrAbsDigi class inherits IfrAbsMCInfo class
B. Trigger
| |
L1Fct |
L1Glt |
L1Emt |
L1DTsf |
L1DBlt |
L1DPtd |
| Digi code in XxxSim |
Yes |
Yes |
Yes |
Yes |
Not yet |
Not yet |
| Reproducible |
Yes |
Yes |
Yes |
Yes |
- |
- |
| HepRandom used? |
Yes |
No |
No |
No |
No |
No |
| L1A time used |
N/A |
L1FctDigi |
L1FctDigi |
L1FctDigi |
- |
- |
| Language |
F77, C++ |
F77, C++ |
F77, C++ |
F77, C++ |
F77, C++ |
F77, C++ |
| Digi Class |
L1FctDigi |
L1GltDigi |
L1EmtDigi |
L1DTsfDigi |
L1DBltDigi |
L1DPtdDigi |
| Persistence |
Objy |
Objy |
Objy |
Objy |
no |
no |
| Hit Association |
None |
None |
None |
Segs to DchHits |
None |
None |
| MC Truth Association |
Not foreseen |
Not foreseen |
Not foreseen |
Not foreseen |
Not foreseen |
Not foreseen |
|
|