#include <CalStripAtten.h>
Inheritance diagram for CalStripAtten:

Public Member Functions | |
| CalStripAtten () | |
| CalStripAtten (const PlexStripEndId &seid, Float_t lambda1, Float_t lambda2, Float_t frac1, Float_t lambda1err, Float_t lambda2err, Float_t frac1err) | |
| CalStripAtten (Int_t seid_enc, Float_t lambda1, Float_t lambda2, Float_t frac1, Float_t lambda1err, Float_t lambda2err, Float_t frac1err) | |
| virtual | ~CalStripAtten () |
| Bool_t | CanL2Cache () const |
| UInt_t | GetIndex (UInt_t) const |
| PlexStripEndId | GetStripEndId () const |
| UInt_t | GetSEIDkey () const |
| Float_t | GetLambda1 () const |
| Float_t | GetLambda2 () const |
| Float_t | GetFrac1 () const |
| Float_t | GetFrac2 () const |
| Float_t | GetLambda1Err () const |
| Float_t | GetLambda2Err () const |
| Float_t | GetFrac1Err () const |
| virtual DbiTableRow * | CreateTableRow () const |
| virtual void | Fill (DbiResultSet &rs, const DbiValidityRec *vrec) |
| virtual void | Store (DbiOutRowStream &ors, const DbiValidityRec *vrec) const |
| Float_t | GetAttenuation (const Float_t wlsLen) const |
| Float_t | GetAttenuation (const Float_t wlsLen, const Float_t *sigma_err) const |
Private Member Functions | |
| CalStripAtten (const CalStripAtten &from) | |
Private Attributes | |
| Int_t | fSEIdEncoded |
| Float_t | fLambda1 |
| Float_t | fLambda2 |
| Float_t | fFrac1 |
| Float_t | fLambda1Err |
| Float_t | fLambda2Err |
| Float_t | fFrac1Err |
| UInt_t | fSEIdKey |
|
|
Definition at line 27 of file CalStripAtten.h. 00027 { LEA_CTOR; }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 29 of file CalStripAtten.h. References fFrac1, fFrac1Err, fLambda1, fLambda1Err, fLambda2, fLambda2Err, fSEIdEncoded, and fSEIdKey. 00032 : fSEIdEncoded(seid.GetEncoded()), 00033 fLambda1(lambda1), fLambda2(lambda2), fFrac1(frac1), 00034 fLambda1Err(lambda1err), fLambda2Err(lambda2err), fFrac1Err(frac1err), 00035 fSEIdKey(seid.BuildPlnStripEndKey()) 00036 { LEA_CTOR; }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 38 of file CalStripAtten.h. References fFrac1, fFrac1Err, fLambda1, fLambda1Err, fLambda2, fLambda2Err, fSEIdEncoded, and fSEIdKey. 00041 : fSEIdEncoded(seid_enc), 00042 fLambda1(lambda1), fLambda2(lambda2), fFrac1(frac1), 00043 fLambda1Err(lambda1err), fLambda2Err(lambda2err), fFrac1Err(frac1err), 00044 fSEIdKey(PlexStripEndId(seid_enc).BuildPlnStripEndKey()) 00045 { LEA_CTOR; }
|
|
|
Definition at line 47 of file CalStripAtten.h. 00047 { LEA_DTOR; };
|
|
|
Definition at line 76 of file CalStripAtten.h. 00077 : DbiTableRow(from) { LEA_CTOR; *this = from; }
|
|
|
Reimplemented from DbiTableRow. Definition at line 50 of file CalStripAtten.h. 00050 { return kTRUE; }
|
|
|
Implements DbiTableRow. Definition at line 62 of file CalStripAtten.h. 00062 { return new CalStripAtten; }
|
|
||||||||||||
|
Implements DbiTableRow. Definition at line 41 of file CalStripAtten.cxx. References MSG. 00042 {
00043
00044 //
00045 //
00046 // Purpose: Fill object from Result Set
00047 //
00048 // Arguments:
00049 // rs in Result Set used to fill object
00050 // vrec in Associated validity record (or 0 if filling
00051 // DbiValidityRec)
00052 //
00053 // o Fill object from current row of Result Set.
00054
00055 // Program Notes:-
00056 // =============
00057
00058 // This method demonstrates both the "dumb" fill method (just
00059 // load the data as it comes) and the smart method (check column
00060 // name and load according to column order).
00061
00062 if ( rs.TableName() == "CALSTRIPATTEN" ) {
00063 // Dumb method.
00064 rs >> fSEIdEncoded >> fLambda1 >> fLambda2 >> fFrac1 >> fLambda1Err >> fLambda2Err >> fFrac1Err;
00065 fSEIdKey = PlexStripEndId(fSEIdEncoded).BuildPlnStripEndKey();
00066 }
00067
00068 else {
00069
00070 // Smart method
00071 Int_t numCol = rs.NumCols();
00072 // The first column (SeqNo) has already been processed.
00073 for (Int_t curCol = rs.HasRowCounter() ? 3 : 2; curCol <= numCol; ++curCol) {
00074 string colName = rs.CurColName();
00075 if ( colName == "SEIDENCODED" ) {
00076 rs >> fSEIdEncoded;
00077 fSEIdKey = PlexStripEndId(fSEIdEncoded).BuildPlnStripEndKey();
00078 }
00079 else if( colName == "LAMBDA1" ) rs >> fLambda1;
00080 else if( colName == "LAMBDA2" ) rs >> fLambda2;
00081 else if( colName == "FRAC1" ) rs >> fFrac1;
00082 else if( colName == "LAMBDA1ERR" ) rs >> fLambda1Err;
00083 else if( colName == "LAMBDA2ERR" ) rs >> fLambda2Err;
00084 else if( colName == "FRAC1ERR" ) rs >> fFrac1Err;
00085
00086 else {
00087 MSG("Dbi",Msg::kDebug) << "Ignoring column " << curCol
00088 << "(" << colName << ")"
00089 << "; not part of CalStripAtten"
00090 << endl;
00091 rs.IncrementCurCol();
00092 }
00093 }
00094 }
00095
00096
00097 }
|
|
||||||||||||
|
To be used by the Monte Carlo. This routine de-calibrates a strip by going from Energy in SigMap to quantity of light in SigCorr This variant also applies a user-supplied offset to vary the response by sigma_err standard deviations on each of three parameters. Definition at line 133 of file CalStripAtten.cxx. References fFrac1, fFrac1Err, fLambda1, fLambda1Err, fLambda2, and fLambda2Err. 00135 {
00141
00142 if(wlsLen<0) return 1;
00143
00144 Float_t frac = fFrac1 + fFrac1Err*sigma_err[0];
00145 Float_t l1 = fLambda1 + fLambda1Err*sigma_err[1];
00146 Float_t l2 = fLambda2 + fLambda2Err*sigma_err[2];
00147
00148 Float_t atten = frac * exp(-wlsLen/l1) // Short atten length
00149 + (1.0-frac) * exp(-wlsLen/l2); // Long atten length
00150
00151 return atten;
00152
00153
00154 }
|
|
|
This routine returns the fraction of light left after going wlsLen distance through the strip's green fibre. Definition at line 119 of file CalStripAtten.cxx. References fFrac1, fLambda1, and fLambda2. Referenced by StripAttenCalScheme::DecalAttenCorrected(), and StripAttenCalScheme::GetAttenCorrected(). 00120 {
00123
00124 if(wlsLen<0) return 1; // Disallow nonphysical queries.
00125
00126 Float_t atten = fFrac1 * exp(-wlsLen/fLambda1) // Short atten length
00127 + (1.0-fFrac1) * exp(-wlsLen/fLambda2); // Long atten length
00128
00129 return atten;
00130 }
|
|
|
Definition at line 56 of file CalStripAtten.h. Referenced by LIPlexMaps::DumpCalStripAtten(), StripAttenCalScheme::PrintConfig(), and LIPlexMaps::ReadDbCalStripAtten(). 00056 { return fFrac1; };
|
|
|
Definition at line 60 of file CalStripAtten.h. Referenced by LIPlexMaps::DumpCalStripAtten(). 00060 { return fFrac1Err; };
|
|
|
Definition at line 57 of file CalStripAtten.h. 00057 { return 1.0-fFrac1; };
|
|
|
Reimplemented from DbiTableRow. Definition at line 51 of file CalStripAtten.h. 00051 { return fSEIdKey; }
|
|
|
Definition at line 54 of file CalStripAtten.h. Referenced by LIPlexMaps::DumpCalStripAtten(), StripAttenCalScheme::PrintConfig(), and LIPlexMaps::ReadDbCalStripAtten(). 00054 { return fLambda1; };
|
|
|
Definition at line 58 of file CalStripAtten.h. Referenced by LIPlexMaps::DumpCalStripAtten(). 00058 { return fLambda1Err; };
|
|
|
Definition at line 55 of file CalStripAtten.h. Referenced by LIPlexMaps::DumpCalStripAtten(), StripAttenCalScheme::PrintConfig(), and LIPlexMaps::ReadDbCalStripAtten(). 00055 { return fLambda2; };
|
|
|
Definition at line 59 of file CalStripAtten.h. Referenced by LIPlexMaps::DumpCalStripAtten(). 00059 { return fLambda2Err; };
|
|
|
Definition at line 53 of file CalStripAtten.h. Referenced by LIPlexMaps::DumpCalStripAtten(). 00053 { return fSEIdKey; }
|
|
|
Definition at line 52 of file CalStripAtten.h. References fSEIdEncoded. Referenced by LIPlexMaps::DumpCalStripAtten(), and LIPlexMaps::ReadDbCalStripAtten(). 00052 { return PlexStripEndId(fSEIdEncoded); }
|
|
||||||||||||
|
Reimplemented from DbiTableRow. Definition at line 101 of file CalStripAtten.cxx. References fFrac1, fLambda1, fLambda1Err, fLambda2, fLambda2Err, and fSEIdEncoded. 00102 {
00103 //
00104 //
00105 // Purpose: Stream object to output row stream
00106 //
00107 // Arguments:
00108 // ors in Output row stream.
00109 // vrec in Associated validity record (or 0 if filling
00110
00111 ors << fSEIdEncoded << fLambda1 << fLambda2 << fFrac1
00112 << fLambda1Err << fLambda2Err << fFrac1Err;
00113 }
|
|
|
Definition at line 83 of file CalStripAtten.h. Referenced by CalStripAtten(), GetAttenuation(), and Store(). |
|
|
Definition at line 86 of file CalStripAtten.h. Referenced by CalStripAtten(), and GetAttenuation(). |
|
|
Definition at line 81 of file CalStripAtten.h. Referenced by CalStripAtten(), GetAttenuation(), and Store(). |
|
|
Definition at line 84 of file CalStripAtten.h. Referenced by CalStripAtten(), GetAttenuation(), and Store(). |
|
|
Definition at line 82 of file CalStripAtten.h. Referenced by CalStripAtten(), GetAttenuation(), and Store(). |
|
|
Definition at line 85 of file CalStripAtten.h. Referenced by CalStripAtten(), GetAttenuation(), and Store(). |
|
|
Definition at line 80 of file CalStripAtten.h. Referenced by CalStripAtten(), GetStripEndId(), and Store(). |
|
|
Definition at line 89 of file CalStripAtten.h. Referenced by CalStripAtten(). |
1.3.9.1