CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/SimCalorimetry/EcalSimAlgos/src/APDShape.cc

Go to the documentation of this file.
00001 #include <cmath>
00002 
00003 #include "SimCalorimetry/EcalSimAlgos/interface/APDShape.h"
00004 
00005 #include<assert.h>
00006 
00007 APDShape::~APDShape()
00008 {
00009 }
00010 
00011 APDShape::APDShape( double tStart,
00012                     double tau     ) :
00013    EcalShapeBase( true ) ,
00014    m_tStart ( tStart ) ,
00015    m_tau    ( tau    )
00016 {
00017    assert( m_tau    > 1.e-5 ) ;
00018    assert( m_tStart > 0     ) ;
00019    buildMe() ;
00020 }
00021 
00022 double
00023 APDShape::threshold() const
00024 {
00025    return 0.0 ; 
00026 }
00027 
00028 void
00029 APDShape::fillShape( EcalShapeBase::DVec& aVec ) const
00030 {
00031    for( unsigned int i ( 0 ) ; i != k1NSecBinsTotal ; ++i )
00032    {
00033       const double ctime ( ( 1.*i + 0.5 - m_tStart )/m_tau ) ;
00034       aVec[i] = ( 0 > ctime ? 0 : ctime * exp( 1. - ctime ) ) ;
00035    }
00036 }