CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

DDEcalEndcapAlgo Class Reference

#include <DDEcalEndcapAlgo.h>

List of all members.

Public Types

typedef HepGeom::Point3D< double > Pt3D
typedef HepGeom::ReflectZ3D RfZ3D
typedef HepGeom::Rotate3D Ro3D
typedef CLHEP::HepRotation Rota
typedef HepGeom::RotateX3D RoX3D
typedef HepGeom::RotateY3D RoY3D
typedef HepGeom::RotateZ3D RoZ3D
typedef HepGeom::Transform3D Tf3D
typedef HepGeom::Translate3D Tl3D
typedef EcalTrapezoidParameters Trap
typedef CLHEP::Hep3Vector Vec3

Public Member Functions

DDName addTmp (DDName aName) const
DDName alvName (unsigned int i) const
const DDTranslationcryFCtr (unsigned int iRow, unsigned int iCol) const
DDName cryName () const
const DDTranslationcryRCtr (unsigned int iRow, unsigned int iCol) const
DDName cutBoxName () const
 DDEcalEndcapAlgo ()
DDMaterial ddmat (const std::string &s) const
DDName ddname (const std::string &s) const
void EECreateCR ()
void EECreateSC (const unsigned int iSCType, DDCompactView &cpv)
double eeCrysFront () const
double eeCrysLength () const
DDMaterial eeCrysMat () const
double eeCrysRear () const
std::vector< double > EEGetSCCtrs (const int iCol, const int iRow)
DDName EEGetSCName (const int iCol, const int iRow)
unsigned int EEGetSCType (const unsigned int iCol, const unsigned int iRow)
DDMaterial eeMat () const
double eenColumns () const
double eenCRSC () const
double eenSCCutaway () const
double eenSCquad () const
double eenSCTypes () const
double eePF45 () const
double eePFFifth () const
double eePFHalf () const
void EEPositionCRs (const DDName pName, const DDTranslation offset, const int iSCType, DDCompactView &cpv)
void EEPosSC (const int iCol, const int iRow, DDName EEDeeName)
DDMaterial eeQuaMat () const
DDName eeQuaName () const
double eeSCAFront () const
double eeSCALength () const
double eeSCARear () const
double eeSCAWall () const
double eeSCEFront () const
double eeSCELength () const
double eeSCERear () const
double eeSCHLength () const
double eeSCHSide () const
const std::vector< double > & eevecEECRCtrs () const
const std::vector< double > & eevecEESCCtrs () const
const std::vector< double > & eevecEESCCutaway () const
const std::vector< double > & eevecEESCProf () const
const std::vector< double > & eevecEEShape () const
DDMaterial eeWallMat () const
double eezOff () const
DDName envName (unsigned int i) const
void execute (DDCompactView &cpv)
const std::string & idNameSpace () const
double iLength () const
void initialize (const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
DDName intName (unsigned int i) const
double iXYOff () const
DDRotation myrot (const std::string &s, const DDRotationMatrix &r) const
const DDTranslationscrFCtr (unsigned int iRow, unsigned int iCol) const
const DDTranslationscrRCtr (unsigned int iRow, unsigned int iCol) const
const std::vector< double > & vecEESCLims () const
virtual ~DDEcalEndcapAlgo ()

Private Attributes

std::string m_alvName
DDTranslation m_cryFCtr [5][5]
std::string m_cryName
DDTranslation m_cryRCtr [5][5]
double m_cryZOff
std::string m_cutBoxName
const std::vector< double > * m_cutParms
double m_EECrysFront
double m_EECrysLength
std::string m_EECrysMat
double m_EECrysRear
std::string m_EEMat
double m_EEnColumns
double m_EEnCRSC
double m_EEnSCCutaway
double m_EEnSCquad
double m_EEnSCTypes
std::string m_EEQuaMat
std::string m_EEQuaName
double m_EESCAFront
double m_EESCALength
double m_EESCARear
double m_EESCAWall
double m_EESCEFront
double m_EESCELength
double m_EESCERear
double m_EESCHLength
double m_EESCHSide
std::string m_EEWallMat
double m_EEzOff
std::string m_envName
std::string m_idNameSpace
double m_iLength
std::string m_intName
double m_iXYOff
double m_PF45
double m_PFfifth
double m_PFhalf
DDTranslation m_scrFCtr [10][10]
DDTranslation m_scrRCtr [10][10]
std::vector< double > m_vecEECRCtrs
std::vector< double > m_vecEESCCtrs
std::vector< double > m_vecEESCCutaway
std::vector< double > m_vecEESCLims
std::vector< double > m_vecEESCProf
std::vector< double > m_vecEEShape
double m_zFront

Detailed Description

Definition at line 18 of file DDEcalEndcapAlgo.h.


Member Typedef Documentation

Definition at line 22 of file DDEcalEndcapAlgo.h.

typedef HepGeom::ReflectZ3D DDEcalEndcapAlgo::RfZ3D

Definition at line 24 of file DDEcalEndcapAlgo.h.

typedef HepGeom::Rotate3D DDEcalEndcapAlgo::Ro3D

Definition at line 26 of file DDEcalEndcapAlgo.h.

typedef CLHEP::HepRotation DDEcalEndcapAlgo::Rota

Definition at line 32 of file DDEcalEndcapAlgo.h.

typedef HepGeom::RotateX3D DDEcalEndcapAlgo::RoX3D

Definition at line 29 of file DDEcalEndcapAlgo.h.

typedef HepGeom::RotateY3D DDEcalEndcapAlgo::RoY3D

Definition at line 28 of file DDEcalEndcapAlgo.h.

typedef HepGeom::RotateZ3D DDEcalEndcapAlgo::RoZ3D

Definition at line 27 of file DDEcalEndcapAlgo.h.

typedef HepGeom::Transform3D DDEcalEndcapAlgo::Tf3D

Definition at line 23 of file DDEcalEndcapAlgo.h.

typedef HepGeom::Translate3D DDEcalEndcapAlgo::Tl3D

Definition at line 25 of file DDEcalEndcapAlgo.h.

Definition at line 21 of file DDEcalEndcapAlgo.h.

typedef CLHEP::Hep3Vector DDEcalEndcapAlgo::Vec3

Definition at line 31 of file DDEcalEndcapAlgo.h.


Constructor & Destructor Documentation

DDEcalEndcapAlgo::DDEcalEndcapAlgo ( )

Definition at line 25 of file DDEcalEndcapAlgo.cc.

                                   :
   m_idNameSpace   ( "" ),
   m_EEMat         ( "" ),
   m_EEzOff        ( 0 ),
   m_EEQuaName     ( "" ),
   m_EEQuaMat      ( "" ),
   m_EECrysMat     ( "" ),
   m_EEWallMat     ( "" ),
   m_EECrysLength  ( 0 ) ,
   m_EECrysRear    ( 0 ) ,
   m_EECrysFront   ( 0 ) ,
   m_EESCELength   ( 0 ) ,
   m_EESCERear     ( 0 ) ,
   m_EESCEFront    ( 0 ) ,
   m_EESCALength   ( 0 ) ,
   m_EESCARear     ( 0 ) ,
   m_EESCAFront    ( 0 ) ,
   m_EESCAWall     ( 0 ) ,
   m_EESCHLength   ( 0 ) ,
   m_EESCHSide     ( 0 ) ,
   m_EEnSCTypes    ( 0 ) ,
   m_vecEESCProf   (),
   m_EEnColumns    ( 0 ),
   m_vecEEShape    (),
   m_EEnSCCutaway  ( 0 ) ,
   m_vecEESCCutaway (),
   m_EEnSCquad     ( 0 ) ,
   m_vecEESCCtrs(),
   m_EEnCRSC       ( 0 ) ,
   m_vecEECRCtrs(),
   m_cutParms      ( 0 ),
   m_cutBoxName    ( "" ),
   m_envName    ( "" ),
   m_alvName    ( "" ),
   m_intName    ( "" ),
   m_cryName    ( "" ),
   m_PFhalf     ( 0 ) ,
   m_PFfifth    ( 0 ) ,
   m_PF45       ( 0 ) ,
   m_vecEESCLims (),
   m_iLength    ( 0 ) ,
   m_iXYOff     ( 0 ) ,
   m_cryZOff    ( 0 ) ,
   m_zFront     ( 0 )
{
   edm::LogInfo("EcalGeom") << "DDEcalEndcapAlgo info: Creating an instance" ;
}
DDEcalEndcapAlgo::~DDEcalEndcapAlgo ( ) [virtual]

Definition at line 73 of file DDEcalEndcapAlgo.cc.

{}

Member Function Documentation

DDName DDEcalEndcapAlgo::addTmp ( DDName  aName) const [inline]

Definition at line 119 of file DDEcalEndcapAlgo.h.

References ddname(), and DDName::name().

Referenced by EECreateSC().

{ return ddname( aName.name() + "Tmp" ) ; }
DDName DDEcalEndcapAlgo::alvName ( unsigned int  i) const [inline]

Definition at line 115 of file DDEcalEndcapAlgo.h.

References ddname(), int_to_string(), and m_alvName.

Referenced by EECreateSC().

{ return ddname( m_alvName + int_to_string(i)  ) ; }
const DDTranslation& DDEcalEndcapAlgo::cryFCtr ( unsigned int  iRow,
unsigned int  iCol 
) const [inline]

Definition at line 121 of file DDEcalEndcapAlgo.h.

References m_cryFCtr.

Referenced by EEPositionCRs().

                                                               { return m_cryFCtr[iRow-1][iCol-1] ; }
DDName DDEcalEndcapAlgo::cryName ( ) const [inline]

Definition at line 117 of file DDEcalEndcapAlgo.h.

References ddname(), and m_cryName.

Referenced by EECreateCR(), and EEPositionCRs().

{ return ddname( m_cryName ) ; }
const DDTranslation& DDEcalEndcapAlgo::cryRCtr ( unsigned int  iRow,
unsigned int  iCol 
) const [inline]

Definition at line 124 of file DDEcalEndcapAlgo.h.

References m_cryRCtr.

Referenced by EEPositionCRs().

                                                               { return m_cryRCtr[iRow-1][iCol-1] ; }
DDName DDEcalEndcapAlgo::cutBoxName ( ) const [inline]

Definition at line 109 of file DDEcalEndcapAlgo.h.

References ddname(), and m_cutBoxName.

Referenced by EECreateSC(), and execute().

{ return ddname( m_cutBoxName ) ; }
DDMaterial DDEcalEndcapAlgo::ddmat ( const std::string &  s) const

Definition at line 163 of file DDEcalEndcapAlgo.cc.

References ddname().

Referenced by eeCrysMat(), eeMat(), eeQuaMat(), and eeWallMat().

{
   return DDMaterial( ddname( s ) ) ; 
}
DDName DDEcalEndcapAlgo::ddname ( const std::string &  s) const

Definition at line 169 of file DDEcalEndcapAlgo.cc.

References DDSplit(), m_idNameSpace, and groupFilesInBlocks::temp.

Referenced by addTmp(), alvName(), cryName(), cutBoxName(), ddmat(), eeQuaName(), envName(), intName(), and myrot().

{ 
   const pair<std::string,std::string> temp ( DDSplit(s) ) ;
   if ( temp.second == "" ) {
     return DDName( temp.first,
                    m_idNameSpace ) ;
   } else {
     return DDName( temp.first, temp.second );
   } 
}
void DDEcalEndcapAlgo::EECreateCR ( )

Definition at line 452 of file DDEcalEndcapAlgo.cc.

References cryName(), eeCrysFront(), eeCrysLength(), eeCrysMat(), eeCrysRear(), mathSSE::sqrt(), and DDSolidFactory::trap().

Referenced by execute().

{
   //  EECreateCR   Create endcap crystal logical volume

//   edm::LogInfo("EcalGeom") << "EECreateCR:  = " << std::endl;

   DDSolid EECRSolid (DDSolidFactory::trap(
                         cryName(),
                         0.5*eeCrysLength(),
                         atan((eeCrysRear()-eeCrysFront())/(sqrt(2.)*eeCrysLength())),
                         45.*deg,
                         0.5*eeCrysFront(),0.5*eeCrysFront(),0.5*eeCrysFront(),0.*deg,
                         0.5*eeCrysRear(), 0.5*eeCrysRear(), 0.5*eeCrysRear(),0.*deg     ) );

   DDLogicalPart part ( cryName(), eeCrysMat(), EECRSolid ) ;
}
void DDEcalEndcapAlgo::EECreateSC ( const unsigned int  iSCType,
DDCompactView cpv 
)

Definition at line 294 of file DDEcalEndcapAlgo.cc.

References addTmp(), alvName(), cutBoxName(), eeCrysRear(), eeMat(), eePF45(), eePFFifth(), eePFHalf(), EEPositionCRs(), eeSCAFront(), eeSCALength(), eeSCARear(), eeSCAWall(), eeSCEFront(), eeSCELength(), eeSCERear(), eeWallMat(), envName(), iLength(), int_to_string(), intName(), iXYOff(), m_cutParms, myrot(), DDCompactView::position(), mathSSE::sqrt(), DDSolidFactory::subtraction(), and DDSolidFactory::trap().

Referenced by execute().

{ //  EECreateSCType   Create SC logical volume of the given type

   DDRotation noRot ;

   DDLogicalPart eeSCELog;
   DDLogicalPart eeSCALog;
   DDLogicalPart eeSCILog;
   
//   edm::LogInfo("EcalGeom") << "EECreateSC: Creating SC envelope" << std::endl;

   const string anum ( int_to_string(iSCType) ) ;

   const double eFront ( 0.5*eeSCEFront() ) ;
   const double eRear  ( 0.5*eeSCERear()  ) ;
   const double eAng   ( atan((eeSCERear()-eeSCEFront())/(sqrt(2.)*eeSCELength())) ) ;
   const double ffived ( 45*deg ) ;
   const double zerod  (  0*deg ) ;
   DDSolid eeSCEnv   ( DDSolidFactory::trap(
                          ( 1 == iSCType ? envName( iSCType ) : addTmp( envName( iSCType ) ) ),
                          0.5*eeSCELength(),
                          eAng,
                          ffived,
                          eFront,
                          eFront,
                          eFront,
                          zerod,
                          eRear, 
                          eRear, 
                          eRear, 
                          zerod                 ) );

   const double aFront ( 0.5*eeSCAFront() ) ;
   const double aRear  ( 0.5*eeSCARear()  ) ;
   const double aAng   ( atan((eeSCARear()-eeSCAFront())/(sqrt(2.)*eeSCALength())) ) ;
   const DDSolid eeSCAlv ( DDSolidFactory::trap(
                              ( 1== iSCType ? alvName( iSCType ) : addTmp( alvName( iSCType ) ) ),
                              0.5*eeSCALength(),
                              aAng,
                              ffived,
                              aFront,
                              aFront,
                              aFront,
                              zerod,
                              aRear,
                              aRear,
                              aRear,
                              zerod                     ) );

   const double dwall   ( eeSCAWall()    ) ;
   const double iFront  ( aFront - dwall ) ;
   const double iRear   ( iFront ) ; //aRear  - dwall ) ;
   const double iLen    ( iLength() ) ; //0.075*eeSCALength() ) ;
   const DDSolid eeSCInt ( DDSolidFactory::trap(
                              ( 1==iSCType ? intName( iSCType ) : addTmp( intName( iSCType ) ) ),
                              iLen/2.,
                              atan((eeSCARear()-eeSCAFront())/(sqrt(2.)*eeSCALength())),
                              ffived,
                              iFront,
                              iFront,
                              iFront,
                              zerod,
                              iRear,
                              iRear,
                              iRear,
                              zerod                     ) );

   const double dz  ( -0.5*( eeSCELength() - eeSCALength() ) ) ;
   const double dxy (  0.5* dz * (eeSCERear() - eeSCEFront())/eeSCELength() ) ;
   const double zIOff (  -( eeSCALength() - iLen )/2. ) ;
   const double xyIOff ( iXYOff() ) ;

   if( 1 == iSCType ) // standard SC in this block
   {
      eeSCELog = DDLogicalPart( envName( iSCType ), eeMat(),     eeSCEnv   );
      eeSCALog = DDLogicalPart( alvName( iSCType ), eeWallMat(), eeSCAlv   );
      eeSCILog = DDLogicalPart( intName( iSCType ), eeMat(),     eeSCInt   );
   }
   else // partial SCs this block: create subtraction volumes as appropriate
   {
      const double half  ( (*m_cutParms)[0] - eePFHalf() *eeCrysRear() ) ;
      const double fifth ( (*m_cutParms)[0] + eePFFifth()*eeCrysRear() ) ;
      const double fac   ( eePF45() ) ;

      const double zmm ( 0*mm ) ;
      
      DDTranslation cutTra ( 2 == iSCType ?       DDTranslation(        zmm,       half, zmm ) :
                             ( 3 == iSCType ?     DDTranslation(       half,        zmm, zmm ) :
                               ( 4 == iSCType ?   DDTranslation(        zmm,     -fifth, zmm ) :
                                 ( 5 == iSCType ? DDTranslation(  -half*fac,  -half*fac, zmm ) :
                                   DDTranslation(                    -fifth,        zmm,  zmm ) ) ) ) ) ;

      const CLHEP::HepRotationZ cutm ( ffived ) ;

      DDRotation cutRot ( 5 != iSCType ? noRot : myrot( "EECry5Rot", 
                                                        DDRotationMatrix( cutm.xx(), cutm.xy(), cutm.xz(),
                                                                          cutm.yx(), cutm.yy(), cutm.yz(),
                                                                          cutm.zx(), cutm.zy(), cutm.zz() ) ) ) ;

      DDSolid eeCutEnv   ( DDSolidFactory::subtraction( envName( iSCType ),
                                                        addTmp( envName( iSCType ) ),
                                                        cutBoxName(), 
                                                        cutTra,
                                                        cutRot ) ) ;

      const DDTranslation extra ( dxy, dxy, dz ) ;

      DDSolid eeCutAlv   ( DDSolidFactory::subtraction( alvName( iSCType ),
                                                        addTmp( alvName( iSCType ) ),
                                                        cutBoxName(), 
                                                        cutTra - extra,
                                                        cutRot ) ) ;

      const double mySign ( iSCType < 4 ? +1. : -1. ) ;
      
      const DDTranslation extraI ( xyIOff + mySign*2*mm, 
                                   xyIOff + mySign*2*mm, zIOff ) ;

      DDSolid eeCutInt   ( DDSolidFactory::subtraction( intName( iSCType ),
                                                        addTmp( intName( iSCType ) ),
                                                        cutBoxName(), 
                                                        cutTra - extraI,
                                                        cutRot ) ) ;
      
      eeSCELog = DDLogicalPart( envName( iSCType ), eeMat()    , eeCutEnv ) ;
      eeSCALog = DDLogicalPart( alvName( iSCType ), eeWallMat(), eeCutAlv   ) ;
      eeSCILog = DDLogicalPart( intName( iSCType ), eeMat()    , eeCutInt   ) ;
   }


   cpv.position( eeSCALog, envName( iSCType ), iSCType*100 + 1, DDTranslation( dxy,    dxy,    dz   ), noRot );
   cpv.position( eeSCILog, alvName( iSCType ), iSCType*100 + 1, DDTranslation( xyIOff, xyIOff, zIOff), noRot );

   DDTranslation croffset( 0., 0., 0.) ;
   EEPositionCRs( alvName( iSCType ), croffset, iSCType, cpv ) ;

}
double DDEcalEndcapAlgo::eeCrysFront ( ) const [inline]

Definition at line 87 of file DDEcalEndcapAlgo.h.

References m_EECrysFront.

Referenced by EECreateCR(), and EEPositionCRs().

{ return m_EECrysFront ; }
double DDEcalEndcapAlgo::eeCrysLength ( ) const [inline]

Definition at line 85 of file DDEcalEndcapAlgo.h.

References m_EECrysLength.

Referenced by EECreateCR(), and EEPositionCRs().

{ return m_EECrysLength ; }
DDMaterial DDEcalEndcapAlgo::eeCrysMat ( ) const [inline]

Definition at line 82 of file DDEcalEndcapAlgo.h.

References ddmat(), and m_EECrysMat.

Referenced by EECreateCR().

{ return ddmat( m_EECrysMat ) ; }
double DDEcalEndcapAlgo::eeCrysRear ( ) const [inline]

Definition at line 86 of file DDEcalEndcapAlgo.h.

References m_EECrysRear.

Referenced by EECreateCR(), EECreateSC(), and EEPositionCRs().

{ return m_EECrysRear ; }
std::vector<double> DDEcalEndcapAlgo::EEGetSCCtrs ( const int  iCol,
const int  iRow 
)
DDName DDEcalEndcapAlgo::EEGetSCName ( const int  iCol,
const int  iRow 
)
unsigned int DDEcalEndcapAlgo::EEGetSCType ( const unsigned int  iCol,
const unsigned int  iRow 
)

Definition at line 434 of file DDEcalEndcapAlgo.cc.

References eenSCCutaway(), and eevecEESCCutaway().

Referenced by execute().

{
   unsigned int iType = 1;
   for( unsigned int ii = 0; ii < (unsigned int)( eenSCCutaway() ) ; ++ii ) 
   {
      if( ( eevecEESCCutaway()[ 3*ii     ] == iCol ) &&
          ( eevecEESCCutaway()[ 3*ii + 1 ] == iRow )    )
      {
         iType = int(eevecEESCCutaway()[3*ii+2]);
//       edm::LogInfo("EcalGeom") << "EEGetSCType: col, row, type = " 
//                                << iCol << " " << iRow << " " << iType << std::endl;
      }
   }
   return iType;
}
DDMaterial DDEcalEndcapAlgo::eeMat ( ) const [inline]

Definition at line 76 of file DDEcalEndcapAlgo.h.

References ddmat(), and m_EEMat.

Referenced by EECreateSC().

{ return ddmat(  m_EEMat  ) ; }
double DDEcalEndcapAlgo::eenColumns ( ) const [inline]

Definition at line 99 of file DDEcalEndcapAlgo.h.

References m_EEnColumns.

Referenced by execute().

{ return m_EEnColumns ; }
double DDEcalEndcapAlgo::eenCRSC ( ) const [inline]

Definition at line 102 of file DDEcalEndcapAlgo.h.

References m_EEnCRSC.

{ return m_EEnCRSC ; }
double DDEcalEndcapAlgo::eenSCCutaway ( ) const [inline]

Definition at line 100 of file DDEcalEndcapAlgo.h.

References m_EEnSCCutaway.

Referenced by EEGetSCType().

{ return m_EEnSCCutaway ; }
double DDEcalEndcapAlgo::eenSCquad ( ) const [inline]

Definition at line 101 of file DDEcalEndcapAlgo.h.

References m_EEnSCquad.

Referenced by execute().

{ return m_EEnSCquad ; }
double DDEcalEndcapAlgo::eenSCTypes ( ) const [inline]

Definition at line 98 of file DDEcalEndcapAlgo.h.

References m_EEnSCTypes.

Referenced by EEPositionCRs(), and execute().

{ return m_EEnSCTypes ; }
double DDEcalEndcapAlgo::eePF45 ( ) const [inline]

Definition at line 112 of file DDEcalEndcapAlgo.h.

References m_PF45.

Referenced by EECreateSC().

{ return m_PF45 ; }
double DDEcalEndcapAlgo::eePFFifth ( ) const [inline]

Definition at line 111 of file DDEcalEndcapAlgo.h.

References m_PFfifth.

Referenced by EECreateSC().

{ return m_PFfifth ; }
double DDEcalEndcapAlgo::eePFHalf ( ) const [inline]

Definition at line 110 of file DDEcalEndcapAlgo.h.

References m_PFhalf.

Referenced by EECreateSC().

{ return m_PFhalf ; }
void DDEcalEndcapAlgo::EEPositionCRs ( const DDName  pName,
const DDTranslation  offset,
const int  iSCType,
DDCompactView cpv 
)

Definition at line 470 of file DDEcalEndcapAlgo.cc.

References DDEcalEndcapTrap::centrePos(), cryFCtr(), cryName(), cryRCtr(), eeCrysFront(), eeCrysLength(), eeCrysRear(), eenSCTypes(), eevecEESCProf(), DDName::fullname(), int_to_string(), m_cryZOff, DDEcalEndcapTrap::moveto(), myrot(), DDCompactView::position(), and DDEcalEndcapTrap::rotation().

Referenced by EECreateSC().

{
  //  EEPositionCRs Position crystals within parent supercrystal interior volume

//   edm::LogInfo("EcalGeom") << "EEPositionCRs called " << std::endl;

   static const unsigned int ncol ( 5 ) ;

   if( iSCType > 0             &&
       iSCType <= eenSCTypes()    ) 
   {
      const unsigned int icoffset ( ( iSCType - 1 )*ncol - 1 ) ;
      
      // Loop over columns of SC
      for( unsigned int icol ( 1 ); icol <= ncol ; ++icol ) 
      {
        // Get column limits for this SC type from xml input
         const int ncrcol ( (int) eevecEESCProf()[ icoffset + icol ] ) ;

         const int imin ( 0 < ncrcol ?      1 : ( 0 > ncrcol ? ncol + ncrcol + 1 : 0 ) ) ;
         const int imax ( 0 < ncrcol ? ncrcol : ( 0 > ncrcol ? ncol              : 0 ) ) ;

         if( imax>0 ) 
         {
           // Loop over crystals in this row
            for( int irow ( imin ); irow <= imax ; ++irow ) 
            {
//             edm::LogInfo("EcalGeom") << " type, col, row " << iSCType 
//                                      << " " << icol << " " << irow << std::endl;

               // Create crystal as a DDEcalEndcapTrap object and calculate rotation and
               // translation required to position it in the SC.
               DDEcalEndcapTrap crystal( 1, eeCrysFront(), eeCrysRear(), eeCrysLength() ) ;

               crystal.moveto( cryFCtr( icol, irow ) ,
                               cryRCtr( icol, irow )   );

               DDName rname ( "EECrRoC" + int_to_string( icol ) + "R" + int_to_string( irow ) ) ;

               cpv.position( cryName(),
                             pName,
                             100*iSCType + 10*( icol - 1 ) + ( irow - 1 ),
                             crystal.centrePos() - DDTranslation(0,0,m_cryZOff),
                             myrot( rname.fullname(), crystal.rotation() ) ) ;
            }
         }
      }
   }
}
void DDEcalEndcapAlgo::EEPosSC ( const int  iCol,
const int  iRow,
DDName  EEDeeName 
)
DDMaterial DDEcalEndcapAlgo::eeQuaMat ( ) const [inline]

Definition at line 80 of file DDEcalEndcapAlgo.h.

References ddmat(), and m_EEQuaMat.

{ return ddmat(  m_EEQuaMat  ) ; }
DDName DDEcalEndcapAlgo::eeQuaName ( ) const [inline]

Definition at line 79 of file DDEcalEndcapAlgo.h.

References ddname(), and m_EEQuaName.

Referenced by execute().

{ return ddname( m_EEQuaName ) ; }
double DDEcalEndcapAlgo::eeSCAFront ( ) const [inline]

Definition at line 93 of file DDEcalEndcapAlgo.h.

References m_EESCAFront.

Referenced by EECreateSC().

{ return m_EESCAFront ; }
double DDEcalEndcapAlgo::eeSCALength ( ) const [inline]

Definition at line 91 of file DDEcalEndcapAlgo.h.

References m_EESCALength.

Referenced by EECreateSC().

{ return m_EESCALength ; }
double DDEcalEndcapAlgo::eeSCARear ( ) const [inline]

Definition at line 92 of file DDEcalEndcapAlgo.h.

References m_EESCARear.

Referenced by EECreateSC().

{ return m_EESCARear ; }
double DDEcalEndcapAlgo::eeSCAWall ( ) const [inline]

Definition at line 94 of file DDEcalEndcapAlgo.h.

References m_EESCAWall.

Referenced by EECreateSC().

{ return m_EESCAWall ; }
double DDEcalEndcapAlgo::eeSCEFront ( ) const [inline]

Definition at line 90 of file DDEcalEndcapAlgo.h.

References m_EESCEFront.

Referenced by EECreateSC(), and execute().

{ return m_EESCEFront ; }
double DDEcalEndcapAlgo::eeSCELength ( ) const [inline]

Definition at line 88 of file DDEcalEndcapAlgo.h.

References m_EESCELength.

Referenced by EECreateSC(), and execute().

{ return m_EESCELength ; }
double DDEcalEndcapAlgo::eeSCERear ( ) const [inline]

Definition at line 89 of file DDEcalEndcapAlgo.h.

References m_EESCERear.

Referenced by EECreateSC(), and execute().

{ return m_EESCERear ; }
double DDEcalEndcapAlgo::eeSCHLength ( ) const [inline]

Definition at line 95 of file DDEcalEndcapAlgo.h.

References m_EESCHLength.

{ return m_EESCHLength ; }
double DDEcalEndcapAlgo::eeSCHSide ( ) const [inline]

Definition at line 96 of file DDEcalEndcapAlgo.h.

References m_EESCHSide.

{ return m_EESCHSide ; }
const std::vector<double>& DDEcalEndcapAlgo::eevecEECRCtrs ( ) const [inline]

Definition at line 107 of file DDEcalEndcapAlgo.h.

References m_vecEECRCtrs.

Referenced by execute().

{ return m_vecEECRCtrs ; }
const std::vector<double>& DDEcalEndcapAlgo::eevecEESCCtrs ( ) const [inline]

Definition at line 106 of file DDEcalEndcapAlgo.h.

References m_vecEESCCtrs.

Referenced by execute().

{ return m_vecEESCCtrs ; }
const std::vector<double>& DDEcalEndcapAlgo::eevecEESCCutaway ( ) const [inline]

Definition at line 105 of file DDEcalEndcapAlgo.h.

References m_vecEESCCutaway.

Referenced by EEGetSCType().

{ return m_vecEESCCutaway ; }
const std::vector<double>& DDEcalEndcapAlgo::eevecEESCProf ( ) const [inline]

Definition at line 103 of file DDEcalEndcapAlgo.h.

References m_vecEESCProf.

Referenced by EEPositionCRs().

{ return m_vecEESCProf ; }
const std::vector<double>& DDEcalEndcapAlgo::eevecEEShape ( ) const [inline]

Definition at line 104 of file DDEcalEndcapAlgo.h.

References m_vecEEShape.

Referenced by execute().

{ return m_vecEEShape ; }
DDMaterial DDEcalEndcapAlgo::eeWallMat ( ) const [inline]

Definition at line 83 of file DDEcalEndcapAlgo.h.

References ddmat(), and m_EEWallMat.

Referenced by EECreateSC().

{ return ddmat( m_EEWallMat ) ; }
double DDEcalEndcapAlgo::eezOff ( ) const [inline]

Definition at line 77 of file DDEcalEndcapAlgo.h.

References m_EEzOff.

Referenced by execute().

{ return m_EEzOff  ; }
DDName DDEcalEndcapAlgo::envName ( unsigned int  i) const [inline]

Definition at line 114 of file DDEcalEndcapAlgo.h.

References ddname(), int_to_string(), and m_envName.

Referenced by EECreateSC(), and execute().

{ return ddname( m_envName + int_to_string(i)  ) ; }
void DDEcalEndcapAlgo::execute ( DDCompactView cpv)

Definition at line 183 of file DDEcalEndcapAlgo.cc.

References DDSolidFactory::box(), DDEcalEndcapTrap::centrePos(), cutBoxName(), EECreateCR(), EECreateSC(), EEGetSCType(), eenColumns(), eenSCquad(), eenSCTypes(), eeQuaName(), eeSCEFront(), eeSCELength(), eeSCERear(), eevecEECRCtrs(), eevecEESCCtrs(), eevecEEShape(), eezOff(), envName(), DDName::fullname(), int_to_string(), m_cryFCtr, m_cryRCtr, m_cutParms, m_scrFCtr, m_scrRCtr, m_zFront, DDEcalEndcapTrap::moveto(), myrot(), mergeVDriftHistosByStation::name, DDSolid::parameters(), DDCompactView::position(), DDEcalEndcapTrap::rotation(), scrFCtr(), scrRCtr(), mathSSE::sqrt(), DDEcalEndcapTrap::translate(), and vecEESCLims().

{
//  Position supercrystals in EE Quadrant
//  Version:    1.00
//  Created:    30 July 2007
//  Last Mod:   
//---------------------------------------------------------------------

//********************************* cutbox for trimming edge SCs
   const double cutWid ( eeSCERear()/sqrt(2.) ) ;
   const DDSolid eeCutBox ( DDSolidFactory::box(
                               cutBoxName(), 
                               cutWid,  
                               cutWid,  
                               eeSCELength()/sqrt(2.) ) ) ;
   m_cutParms = &eeCutBox.parameters() ;
//**************************************************************

   const double zFix ( m_zFront - 3172*mm ) ; // fix for changing z offset

//** fill supercrystal front and rear center positions from xml input
   for( unsigned int iC ( 0 ) ; iC != (unsigned int) eenSCquad() ; ++iC )
   {
      const unsigned int iOff ( 8*iC ) ;
      const unsigned int ix ( (unsigned int) eevecEESCCtrs()[ iOff + 0 ] ) ;
      const unsigned int iy ( (unsigned int) eevecEESCCtrs()[ iOff + 1 ] ) ;

      assert( ix > 0 && ix < 11 && iy >0 && iy < 11 ) ;

      m_scrFCtr[ ix - 1 ][ iy - 1 ] = DDTranslation( eevecEESCCtrs()[ iOff + 2 ] ,
                                                     eevecEESCCtrs()[ iOff + 4 ] ,
                                                     eevecEESCCtrs()[ iOff + 6 ]  + zFix ) ;

      m_scrRCtr[ ix - 1 ][ iy - 1 ] = DDTranslation( eevecEESCCtrs()[ iOff + 3 ] ,
                                                     eevecEESCCtrs()[ iOff + 5 ] ,
                                                     eevecEESCCtrs()[ iOff + 7 ] + zFix ) ;
   }

//** fill crystal front and rear center positions from xml input
   for( unsigned int iC ( 0 ) ; iC != 25 ; ++iC )
   {
      const unsigned int iOff ( 8*iC ) ;
      const unsigned int ix ( (unsigned int) eevecEECRCtrs()[ iOff + 0 ] ) ;
      const unsigned int iy ( (unsigned int) eevecEECRCtrs()[ iOff + 1 ] ) ;

      assert( ix > 0 && ix < 6 && iy >0 && iy < 6 ) ;

      m_cryFCtr[ ix - 1 ][ iy - 1 ] = DDTranslation( eevecEECRCtrs()[ iOff + 2 ] ,
                                                     eevecEECRCtrs()[ iOff + 4 ] ,
                                                     eevecEECRCtrs()[ iOff + 6 ]  ) ;

      m_cryRCtr[ ix - 1 ][ iy - 1 ] = DDTranslation( eevecEECRCtrs()[ iOff + 3 ] ,
                                                     eevecEECRCtrs()[ iOff + 5 ] ,
                                                     eevecEECRCtrs()[ iOff + 7 ]  ) ;
   }

   EECreateCR() ; // make a single crystal just once here

   for( unsigned int isc ( 0 ); isc<eenSCTypes() ; ++isc ) 
   {
      EECreateSC( isc+1, cpv );
   }

   const std::vector<double>& colLimits ( eevecEEShape() );
//** Loop over endcap columns
   for( int icol = 1; icol<=int(eenColumns()); icol++ )
   {
//**  Loop over SCs in column, using limits from xml input
      for( int irow = int(colLimits[2*icol-2]);
           irow <= int(colLimits[2*icol-1]) ; ++irow )
      {
         if( vecEESCLims()[0] <= icol &&
             vecEESCLims()[1] >= icol &&
             vecEESCLims()[2] <= irow &&
             vecEESCLims()[3] >= irow    )
         {
           // Find SC type (complete or partial) for this location
            const unsigned int isctype ( EEGetSCType( icol, irow ) );

            // Create SC as a DDEcalEndcapTrap object and calculate rotation and
            // translation required to position it in the endcap.
            DDEcalEndcapTrap scrys( 1, eeSCEFront(), eeSCERear(), eeSCELength() ) ;

            scrys.moveto( scrFCtr( icol, irow ),
                          scrRCtr( icol, irow ) );
            scrys.translate( DDTranslation( 0., 0., -eezOff() ) ) ;

            DDName rname ( envName( isctype ).name()
                           + int_to_string( icol ) + "R" + int_to_string( irow ) ) ;
/*
         edm::LogInfo("EcalGeom") << "Quadrant, SC col/row " 
                                  << eeQuaName() << " " << icol << " / " << irow << std::endl
                                  << "   Limits " << int(colLimits[2*icol-2]) << "->" << int(colLimits[2*icol-1]) << std::endl
                                  << "   SC type = " << isctype << std::endl
                                  << "   Zoff, Scz = " << eezOff() << " " << sc1.z() << std::endl
                                  << "   Rotation " << rname << " " << scrys.rotation() << std::endl
                                  << "   Position " << sccentre << std::endl;
*/
            // Position SC in endcap
            cpv.position( envName( isctype ), 
                          eeQuaName(),
                          100*isctype + 10*(icol-1) + (irow-1),
                          scrys.centrePos(),
                          myrot( rname.fullname(), scrys.rotation() ) ) ;
         }
      }
   }
}
const std::string& DDEcalEndcapAlgo::idNameSpace ( ) const [inline]

Definition at line 73 of file DDEcalEndcapAlgo.h.

References m_idNameSpace.

{ return m_idNameSpace   ; }
double DDEcalEndcapAlgo::iLength ( ) const [inline]

Definition at line 135 of file DDEcalEndcapAlgo.h.

References m_iLength.

Referenced by EECreateSC().

{ return m_iLength ; }
void DDEcalEndcapAlgo::initialize ( const DDNumericArguments nArgs,
const DDVectorArguments vArgs,
const DDMapArguments mArgs,
const DDStringArguments sArgs,
const DDStringVectorArguments vsArgs 
)

Definition at line 78 of file DDEcalEndcapAlgo.cc.

References m_alvName, m_cryName, m_cryZOff, m_cutBoxName, m_EECrysFront, m_EECrysLength, m_EECrysMat, m_EECrysRear, m_EEMat, m_EEnColumns, m_EEnCRSC, m_EEnSCCutaway, m_EEnSCquad, m_EEnSCTypes, m_EEQuaMat, m_EEQuaName, m_EESCAFront, m_EESCALength, m_EESCARear, m_EESCAWall, m_EESCEFront, m_EESCELength, m_EESCERear, m_EESCHLength, m_EESCHSide, m_EEWallMat, m_EEzOff, m_envName, m_idNameSpace, m_iLength, m_intName, m_iXYOff, m_PF45, m_PFfifth, m_PFhalf, m_vecEECRCtrs, m_vecEESCCtrs, m_vecEESCCutaway, m_vecEESCLims, m_vecEESCProf, m_vecEEShape, m_zFront, DDCurrentNamespace::ns(), and dbtoconf::parent.

                                                                     {

//   edm::LogInfo("EcalGeom") << "DDEcalEndcapAlgo info: Initialize" ;
   m_idNameSpace = DDCurrentNamespace::ns();
   // TRICK!
   m_idNameSpace = parent().name().ns();
   // barrel parent volume
   m_EEMat      = sArgs["EEMat"  ] ;
   m_EEzOff     = nArgs["EEzOff"   ] ;

   m_EEQuaName  = sArgs["EEQuaName" ] ;
   m_EEQuaMat   = sArgs["EEQuaMat"  ] ;
   m_EECrysMat  = sArgs["EECrysMat" ] ;
   m_EEWallMat  = sArgs["EEWallMat" ] ;
   m_EECrysLength = nArgs["EECrysLength" ] ;
   m_EECrysRear   = nArgs["EECrysRear" ] ;
   m_EECrysFront  = nArgs["EECrysFront" ] ;
   m_EESCELength = nArgs["EESCELength" ] ;
   m_EESCERear   = nArgs["EESCERear" ] ;
   m_EESCEFront  = nArgs["EESCEFront" ] ;
   m_EESCALength = nArgs["EESCALength" ] ;
   m_EESCARear   = nArgs["EESCARear" ] ;
   m_EESCAFront  = nArgs["EESCAFront" ] ;
   m_EESCAWall   = nArgs["EESCAWall" ] ;
   m_EESCHLength = nArgs["EESCHLength" ] ;
   m_EESCHSide   = nArgs["EESCHSide" ] ;
   m_EEnSCTypes  = nArgs["EEnSCTypes"];
   m_EEnColumns  = nArgs["EEnColumns"];
   m_EEnSCCutaway  = nArgs["EEnSCCutaway"];
   m_EEnSCquad  = nArgs["EEnSCquad"];
   m_EEnCRSC    = nArgs["EEnCRSC"];
   m_vecEESCProf = vArgs["EESCProf"];
   m_vecEEShape = vArgs["EEShape"];
   m_vecEESCCutaway = vArgs["EESCCutaway"];
   m_vecEESCCtrs = vArgs["EESCCtrs"];
   m_vecEECRCtrs = vArgs["EECRCtrs"];

   m_cutBoxName  = sArgs["EECutBoxName" ] ;

   m_envName  = sArgs["EEEnvName" ] ;
   m_alvName  = sArgs["EEAlvName" ] ;
   m_intName  = sArgs["EEIntName" ] ;
   m_cryName  = sArgs["EECryName" ] ;
   
   m_PFhalf   = nArgs["EEPFHalf" ] ;
   m_PFfifth  = nArgs["EEPFFifth" ] ;
   m_PF45     = nArgs["EEPF45" ] ;

   m_vecEESCLims = vArgs["EESCLims"];

   m_iLength = nArgs["EEiLength" ] ;

   m_iXYOff  = nArgs["EEiXYOff" ] ;

   m_cryZOff = nArgs["EECryZOff"] ;

   m_zFront  = nArgs["EEzFront"] ;

//   edm::LogInfo("EcalGeom") << "DDEcalEndcapAlgo info: end initialize" ;
}
DDName DDEcalEndcapAlgo::intName ( unsigned int  i) const [inline]

Definition at line 116 of file DDEcalEndcapAlgo.h.

References ddname(), int_to_string(), and m_intName.

Referenced by EECreateSC().

{ return ddname( m_intName + int_to_string(i)  ) ; }
double DDEcalEndcapAlgo::iXYOff ( ) const [inline]

Definition at line 136 of file DDEcalEndcapAlgo.h.

References m_iXYOff.

Referenced by EECreateSC().

{ return m_iXYOff ; }
DDRotation DDEcalEndcapAlgo::myrot ( const std::string &  s,
const DDRotationMatrix r 
) const

Definition at line 149 of file DDEcalEndcapAlgo.cc.

References ddname(), DDrot(), and m_idNameSpace.

Referenced by EECreateSC(), EEPositionCRs(), and execute().

{
   return DDrot( ddname( m_idNameSpace + ":" + s ), new DDRotationMatrix( r ) ) ; 
}
const DDTranslation& DDEcalEndcapAlgo::scrFCtr ( unsigned int  iRow,
unsigned int  iCol 
) const [inline]

Definition at line 127 of file DDEcalEndcapAlgo.h.

References m_scrFCtr.

Referenced by execute().

                                                               { return m_scrFCtr[iRow-1][iCol-1] ; }
const DDTranslation& DDEcalEndcapAlgo::scrRCtr ( unsigned int  iRow,
unsigned int  iCol 
) const [inline]

Definition at line 130 of file DDEcalEndcapAlgo.h.

References m_scrRCtr.

Referenced by execute().

                                                               { return m_scrRCtr[iRow-1][iCol-1] ; }
const std::vector<double>& DDEcalEndcapAlgo::vecEESCLims ( ) const [inline]

Definition at line 133 of file DDEcalEndcapAlgo.h.

References m_vecEESCLims.

Referenced by execute().

{ return m_vecEESCLims ; }

Member Data Documentation

std::string DDEcalEndcapAlgo::m_alvName [private]

Definition at line 182 of file DDEcalEndcapAlgo.h.

Referenced by alvName(), and initialize().

Definition at line 186 of file DDEcalEndcapAlgo.h.

Referenced by cryFCtr(), and execute().

std::string DDEcalEndcapAlgo::m_cryName [private]

Definition at line 184 of file DDEcalEndcapAlgo.h.

Referenced by cryName(), and initialize().

Definition at line 187 of file DDEcalEndcapAlgo.h.

Referenced by cryRCtr(), and execute().

double DDEcalEndcapAlgo::m_cryZOff [private]

Definition at line 202 of file DDEcalEndcapAlgo.h.

Referenced by EEPositionCRs(), and initialize().

std::string DDEcalEndcapAlgo::m_cutBoxName [private]

Definition at line 179 of file DDEcalEndcapAlgo.h.

Referenced by cutBoxName(), and initialize().

const std::vector<double>* DDEcalEndcapAlgo::m_cutParms [private]

Definition at line 178 of file DDEcalEndcapAlgo.h.

Referenced by EECreateSC(), and execute().

Definition at line 156 of file DDEcalEndcapAlgo.h.

Referenced by eeCrysFront(), and initialize().

Definition at line 154 of file DDEcalEndcapAlgo.h.

Referenced by eeCrysLength(), and initialize().

std::string DDEcalEndcapAlgo::m_EECrysMat [private]

Definition at line 151 of file DDEcalEndcapAlgo.h.

Referenced by eeCrysMat(), and initialize().

Definition at line 155 of file DDEcalEndcapAlgo.h.

Referenced by eeCrysRear(), and initialize().

std::string DDEcalEndcapAlgo::m_EEMat [private]

Definition at line 145 of file DDEcalEndcapAlgo.h.

Referenced by eeMat(), and initialize().

Definition at line 169 of file DDEcalEndcapAlgo.h.

Referenced by eenColumns(), and initialize().

double DDEcalEndcapAlgo::m_EEnCRSC [private]

Definition at line 175 of file DDEcalEndcapAlgo.h.

Referenced by eenCRSC(), and initialize().

Definition at line 171 of file DDEcalEndcapAlgo.h.

Referenced by eenSCCutaway(), and initialize().

Definition at line 173 of file DDEcalEndcapAlgo.h.

Referenced by eenSCquad(), and initialize().

Definition at line 167 of file DDEcalEndcapAlgo.h.

Referenced by eenSCTypes(), and initialize().

std::string DDEcalEndcapAlgo::m_EEQuaMat [private]

Definition at line 149 of file DDEcalEndcapAlgo.h.

Referenced by eeQuaMat(), and initialize().

std::string DDEcalEndcapAlgo::m_EEQuaName [private]

Definition at line 148 of file DDEcalEndcapAlgo.h.

Referenced by eeQuaName(), and initialize().

Definition at line 162 of file DDEcalEndcapAlgo.h.

Referenced by eeSCAFront(), and initialize().

Definition at line 160 of file DDEcalEndcapAlgo.h.

Referenced by eeSCALength(), and initialize().

Definition at line 161 of file DDEcalEndcapAlgo.h.

Referenced by eeSCARear(), and initialize().

Definition at line 163 of file DDEcalEndcapAlgo.h.

Referenced by eeSCAWall(), and initialize().

Definition at line 159 of file DDEcalEndcapAlgo.h.

Referenced by eeSCEFront(), and initialize().

Definition at line 157 of file DDEcalEndcapAlgo.h.

Referenced by eeSCELength(), and initialize().

Definition at line 158 of file DDEcalEndcapAlgo.h.

Referenced by eeSCERear(), and initialize().

Definition at line 164 of file DDEcalEndcapAlgo.h.

Referenced by eeSCHLength(), and initialize().

Definition at line 165 of file DDEcalEndcapAlgo.h.

Referenced by eeSCHSide(), and initialize().

std::string DDEcalEndcapAlgo::m_EEWallMat [private]

Definition at line 152 of file DDEcalEndcapAlgo.h.

Referenced by eeWallMat(), and initialize().

double DDEcalEndcapAlgo::m_EEzOff [private]

Definition at line 146 of file DDEcalEndcapAlgo.h.

Referenced by eezOff(), and initialize().

std::string DDEcalEndcapAlgo::m_envName [private]

Definition at line 181 of file DDEcalEndcapAlgo.h.

Referenced by envName(), and initialize().

std::string DDEcalEndcapAlgo::m_idNameSpace [private]

Definition at line 142 of file DDEcalEndcapAlgo.h.

Referenced by ddname(), idNameSpace(), initialize(), and myrot().

double DDEcalEndcapAlgo::m_iLength [private]

Definition at line 198 of file DDEcalEndcapAlgo.h.

Referenced by iLength(), and initialize().

std::string DDEcalEndcapAlgo::m_intName [private]

Definition at line 183 of file DDEcalEndcapAlgo.h.

Referenced by initialize(), and intName().

double DDEcalEndcapAlgo::m_iXYOff [private]

Definition at line 200 of file DDEcalEndcapAlgo.h.

Referenced by initialize(), and iXYOff().

double DDEcalEndcapAlgo::m_PF45 [private]

Definition at line 194 of file DDEcalEndcapAlgo.h.

Referenced by eePF45(), and initialize().

double DDEcalEndcapAlgo::m_PFfifth [private]

Definition at line 193 of file DDEcalEndcapAlgo.h.

Referenced by eePFFifth(), and initialize().

double DDEcalEndcapAlgo::m_PFhalf [private]

Definition at line 192 of file DDEcalEndcapAlgo.h.

Referenced by eePFHalf(), and initialize().

Definition at line 189 of file DDEcalEndcapAlgo.h.

Referenced by execute(), and scrFCtr().

Definition at line 190 of file DDEcalEndcapAlgo.h.

Referenced by execute(), and scrRCtr().

std::vector<double> DDEcalEndcapAlgo::m_vecEECRCtrs [private]

Definition at line 176 of file DDEcalEndcapAlgo.h.

Referenced by eevecEECRCtrs(), and initialize().

std::vector<double> DDEcalEndcapAlgo::m_vecEESCCtrs [private]

Definition at line 174 of file DDEcalEndcapAlgo.h.

Referenced by eevecEESCCtrs(), and initialize().

std::vector<double> DDEcalEndcapAlgo::m_vecEESCCutaway [private]

Definition at line 172 of file DDEcalEndcapAlgo.h.

Referenced by eevecEESCCutaway(), and initialize().

std::vector<double> DDEcalEndcapAlgo::m_vecEESCLims [private]

Definition at line 196 of file DDEcalEndcapAlgo.h.

Referenced by initialize(), and vecEESCLims().

std::vector<double> DDEcalEndcapAlgo::m_vecEESCProf [private]

Definition at line 168 of file DDEcalEndcapAlgo.h.

Referenced by eevecEESCProf(), and initialize().

std::vector<double> DDEcalEndcapAlgo::m_vecEEShape [private]

Definition at line 170 of file DDEcalEndcapAlgo.h.

Referenced by eevecEEShape(), and initialize().

double DDEcalEndcapAlgo::m_zFront [private]

Definition at line 204 of file DDEcalEndcapAlgo.h.

Referenced by execute(), and initialize().