ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/CMSSW/Alignment/CommonAlignmentAlgorithm/interface/AlignmentParameterBuilder.h
Revision: 1.1
Committed: Fri Aug 4 16:15:14 2006 UTC (18 years, 9 months ago) by fronga
Content type: text/plain
Branch: MAIN
CVS Tags: CMSSW_1_1_2, CMSSW_1_2_0_pre7, CMSSW_1_1_1, CMSSW_1_0_6, CMSSW_1_2_0_pre2, CMSSW_1_0_5, CMSSW_1_1_0, CMSSW_1_2_0_pre1, CMSSW_1_0_4, CMSSW_1_1_0_pre4, CMSSW_1_0_3, CMSSW_1_0_0_g4_81, CMSSW_1_1_0_pre3, CMSSW_1_0_2, CMSSW_1_0_1, CMSSW_1_1_0_pre2, CMSSW_1_0_0, CMSSW_1_0_0_pre5, CMSSW_1_1_0_pre1, CMSSW_1_0_0_pre4, CMSSW_1_0_0_pre3, CMSSW_1_0_0_pre2, V00-02-00, CMSSW_1_0_0_pre1, V00-01-00
Log Message:
First version with EDLooper interface, and running in latest release.

File Contents

# User Rev Content
1 fronga 1.1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentParameterBuilder_h
2     #define Alignment_CommonAlignmentAlgorithm_AlignmentParameterBuilder_h
3    
4     #include "Alignment/TrackerAlignment/interface/AlignableTracker.h"
5     #include "Alignment/TrackerAlignment/interface/TrackerAlignableId.h"
6    
7     #include <string>
8     #include <vector>
9    
10     /// Build Alignment Parameter Structure
11    
12     class AlignmentParameterBuilder
13     {
14     public:
15    
16     /// Constructor
17     AlignmentParameterBuilder( AlignableTracker* alignableTracker );
18    
19     /// destructor
20     ~AlignmentParameterBuilder() {};
21    
22     /// Add predefined selection of alignables defined by a string
23     void addSelection( std::string name, std::vector<bool> sel );
24    
25     /// Add arbitrary selection of Alignables
26     void add ( const std::vector<Alignable*>& alignables, std::vector<bool> sel );
27    
28     /// Add all level 1 objects (Dets)
29     void addAllDets( std::vector<bool> sel );
30    
31     /// Add all level 2 (Rod or equivalent) objects
32     void addAllRods( std::vector<bool> sel );
33    
34     /// Add all level 3 (Layer or equivalent) objects
35     void addAllLayers( std::vector<bool> sel );
36    
37     /// Add all level 4 (Halfbarrel etc) objects
38     void addAllComponents( std::vector<bool> sel );
39    
40     /// Add all alignables
41     void addAllAlignables( std::vector<bool> sel );
42    
43     /// Get list of alignables for which AlignmentParameters are built
44     std::vector<Alignable*> alignables( void ) { return theAlignables; };
45    
46     /// Remove n Alignables from list
47     void fixAlignables( int n );
48    
49    
50     private:
51    
52     // data members
53    
54     /// Vector of alignables
55     std::vector<Alignable*> theAlignables;
56    
57     /// Alignable tracker
58     AlignableTracker* theAlignableTracker;
59    
60     /// Alignable id converter
61     TrackerAlignableId* theTrackerAlignableId;
62    
63     bool theOnlyDS;
64     bool theOnlySS;
65     int theMinLayer,theMaxLayer;
66     bool theSelLayers;
67    
68     };
69    
70     #endif