CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DetectorDescription/Algorithm/interface/DDAngular.h

Go to the documentation of this file.
00001 #ifndef ALGORITHM_DD_ANGULAR_H
00002 # define ALGORITHM_DD_ANGULAR_H
00003 
00004 # include "DetectorDescription/Base/interface/DDTypes.h"
00005 # include "DetectorDescription/Base/interface/DDRotationMatrix.h"
00006 # include "DetectorDescription/Algorithm/interface/DDAlgorithm.h"
00007 
00008 class DDAngular : public DDAlgorithm
00009 {
00010 public:
00011   DDAngular( void );
00012   virtual ~DDAngular( void );
00013 
00014   void initialize( const DDNumericArguments & nArgs,
00015                    const DDVectorArguments & vArgs,
00016                    const DDMapArguments & mArgs,
00017                    const DDStringArguments & sArgs,
00018                    const DDStringVectorArguments & vsArgs );
00019 
00020   void execute( DDCompactView& cpv );
00021 
00022 private:
00023 
00024   DD3Vector     fUnitVector( double theta, double phi );
00025   int           m_n;              //Number of copies
00026   int           m_startCopyNo;    //Start Copy number
00027   int           m_incrCopyNo;     //Increment in Copy number
00028   double        m_startAngle;     //Start angle
00029   double        m_rangeAngle;     //Range in angle
00030   double        m_radius;         //Radius
00031   double        m_delta;          //Increment in phi
00032   std::vector<double> m_center;   //Phi values
00033   std::vector<double> m_rotateSolid; //Rotation of the solid values
00034   
00035   std::string   m_idNameSpace;    //Namespace of this and ALL sub-parts
00036   std::pair<std::string, std::string> m_childNmNs; //Child name
00037                                                    //Namespace of the child
00038   
00039   DDRotationMatrix m_solidRot;    //Rotation of the solid
00040 };
00041 
00042 #endif // ALGORITHM_DD_ANGULAR_H