Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:34:26

0001 #ifndef ALIGNMENT_COMMONALIGNMENT_INTERFACE_ALIGNMENTLEVEL_H_
0002 #define ALIGNMENT_COMMONALIGNMENT_INTERFACE_ALIGNMENTLEVEL_H_
0003 
0004 // Original Author:  Max Stark
0005 //         Created:  Wed, 10 Feb 2016 13:35:23 CET
0006 
0007 #include "Alignment/CommonAlignment/interface/StructureType.h"
0008 
0009 class AlignmentLevel {
0010   //========================== PUBLIC METHODS =================================
0011 public:  //===================================================================
0012   AlignmentLevel(align::StructureType levelType, unsigned int maxNumComponents, bool isFlat)
0013       : levelType(levelType), maxNumComponents(maxNumComponents), isFlat(isFlat) {}
0014   // copy construction + assignment
0015   AlignmentLevel(const AlignmentLevel&) = default;
0016   AlignmentLevel& operator=(const AlignmentLevel&) = default;
0017 
0018   // move construction + assignment
0019   AlignmentLevel(AlignmentLevel&&) = default;
0020   AlignmentLevel& operator=(AlignmentLevel&&) = default;
0021 
0022   virtual ~AlignmentLevel() = default;
0023 
0024   //=========================== PUBLIC DATA ===================================
0025   //===========================================================================
0026 
0027   /// the structure-type for this level,
0028   /// e.g. TPBModule for RunI-tracker-PXB
0029   align::StructureType levelType;
0030 
0031   /// the maximum number of components of the structure-type,
0032   /// e.g. 768 TPBModules in RunI tracker-PXB
0033   unsigned int maxNumComponents;
0034 
0035   /// true if structure-type is a flat surface (rod, string, ladder etc.)
0036   bool isFlat;
0037 };
0038 
0039 #endif /* ALIGNMENT_COMMONALIGNMENT_INTERFACE_ALIGNMENTLEVEL_H_ */