CMS 3D CMS Logo

Entry.h
Go to the documentation of this file.
1 // COCOA class header file
2 //Id: Entry.h
3 //CAT: Model
4 //
5 // Base class for entries
6 //
7 // History: v1.0
8 // Pedro Arce
9 
10 #ifndef _ENTRY_HH
11 #define _ENTRY_HH
13 #include <vector>
14 class OpticalObject;
15 class EntryData;
17 
18 class Entry
19 {
20 
21  friend std::ostream& operator << (std::ostream& os, const Entry& c);
22 
23 public:
24  //----- Constructor / destructor
25  //- Entry(){ };
26  Entry( const ALIstring& type );
27  virtual ~Entry();
28 
29  //----- Fill the attributes
30  void fill( const std::vector<ALIstring>& wordlist);
31  //----- Fill the name (in derived classes is not simply calling setName)
32  virtual void fillName( const ALIstring& name );
33  //----- Fill the attributes setting them to 0.
34  void fillNull( );
35 
36  //----- Return value and sigma dimension factor (implemented in derived classes
37  virtual ALIdouble ValueDimensionFactor() const{ return 1.; }
38  virtual ALIdouble SigmaDimensionFactor() const{ return 1.; }
39  virtual ALIdouble OutputValueDimensionFactor() const{ return 1.; }
40  virtual ALIdouble OutputSigmaDimensionFactor() const{ return 1.; }
41 
42  //----- Displace the value by 'disp' (affine frame entries do it theirselves)
43  virtual void displace( ALIdouble disp );
44  //----- Tell the corresponding OptO to displace the Extra Entry (affine frame entries do it theirselves)
45  virtual void displaceOriginal( ALIdouble disp );
46  virtual void displaceOriginalOriginal( ALIdouble disp );
47 
48  //----- return the value, that is in Global Reference Frame
49  virtual ALIdouble valueInGlobalReferenceFrame() const {return value();};
50 
51  // Access DATA MEMBERS
52  const ALIstring& name() const { return name_; }
53  const ALIstring longName() const;
54  const ALIstring& type() const { return type_; }
55  ALIdouble value() const { return value_; }
57  ALIdouble sigma() const { return sigma_; }
59  ALIint quality() const { return quality_; }
60  ALIint fitPos() const { return fitPos_; }
61  OpticalObject* OptOCurrent() const{ return OptOCurrent_; } // non const, Displace( ) modifies it return _OptOCurrent;
62  virtual ALIdouble valueDisplaced() const;
64  //- cout << this << " " << name() << " get valueDisplacementByFitting " << theValueDisplacementByFitting << endl;
67  virtual ALIdouble startingDisplacement(){ return 0.; };
72 
73 public:
74  // Set DATA MEMBERS
75  void setName( const ALIstring& name ) { name_ = name; }
76  void setType( ALIstring type ){ type_ = type; }
78  void setSigma( ALIdouble sig ){ sigma_ = sig; }
79  void setQuality( ALIuint qual ){ quality_ = qual; }
80  void setFitPos( const ALIint fitpos ) { fitPos_ = fitpos; }
81  void setOptOCurrent( OpticalObject* opto ){ OptOCurrent_ = opto; }
83 
85 
86  EntryDim getDimType() const { return theDimType;}
87 
88 private:
89  //----- Fill the attributes with values read from a 'report.out' file
90  void fillFromReportOutFileValue( EntryData* entryData );
91  void fillFromReportOutFileSigma( const EntryData* entryData );
92  void fillFromReportOutFileQuality( const EntryData* entryData );
93  //----- Fill the attributes with values read from the input file
94  void fillFromInputFileValue( const std::vector<ALIstring>& wordlist );
95  void fillFromInputFileSigma( const std::vector<ALIstring>& wordlist );
96  void fillFromInputFileQuality( const std::vector<ALIstring>& wordlist );
97 
98 private:
99  // private DATA MEMBERS
100 protected:
110 
113 
114  /*
115  virtual void DisplaceParameter( ALIint paramNo, ALIdouble displace ){ };
116  virtual ALIdouble Check_displacementDimensions( ALIdouble displace ){
117  return displace; }
118  */
120 
121 };
122 
123 #endif
friend std::ostream & operator<<(std::ostream &os, const Entry &c)
Definition: Entry.cc:357
type
Definition: HCALResponse.h:21
long double ALIdouble
Definition: CocoaGlobals.h:11
ALIstring type_
Definition: Entry.h:102
virtual ALIdouble OutputValueDimensionFactor() const
Definition: Entry.h:39
void substractToHalfFittedDisplacementToValue()
Definition: Entry.cc:330
const ALIstring & type() const
Definition: Entry.h:54
void setOptOCurrent(OpticalObject *opto)
Definition: Entry.h:81
void fillFromReportOutFileQuality(const EntryData *entryData)
Definition: Entry.cc:235
Definition: Entry.h:18
void addFittedDisplacementToValue(const ALIdouble val)
Definition: Entry.cc:313
ALIdouble valueDisplacementByFitting() const
Definition: Entry.h:63
virtual ALIdouble OutputSigmaDimensionFactor() const
Definition: Entry.h:40
virtual void displaceOriginal(ALIdouble disp)
Definition: Entry.cc:279
ALIdouble value_
Definition: Entry.h:103
ALIdouble value() const
Definition: Entry.h:55
void fillFromInputFileValue(const std::vector< ALIstring > &wordlist)
Definition: Entry.cc:91
int ALIint
Definition: CocoaGlobals.h:15
void setName(const ALIstring &name)
Definition: Entry.h:75
void setValue(ALIdouble val)
Definition: Entry.h:77
void setLastAdditionToValueDisplacementByFitting(const ALIdouble val)
Definition: Entry.h:70
EntryDim getDimType() const
Definition: Entry.h:86
ALIdouble lastAdditionToValueDisplacementByFitting() const
Definition: Entry.h:68
EntryDim
Definition: Entry.h:16
void setFitPos(const ALIint fitpos)
Definition: Entry.h:80
OpticalObject * OptOCurrent_
Definition: Entry.h:108
Entry(const ALIstring &type)
Definition: Entry.cc:22
void setSigma(ALIdouble sig)
Definition: Entry.h:78
ALIdouble valueOriginalOriginal_
Definition: Entry.h:104
virtual ~Entry()
Definition: Entry.cc:305
virtual ALIdouble SigmaDimensionFactor() const
Definition: Entry.h:38
ALIdouble sigmaOriginalOriginal() const
Definition: Entry.h:58
EntryDim theDimType
Definition: Entry.h:119
ALIdouble sigmaOriginalOriginal_
Definition: Entry.h:106
void fillFromReportOutFileSigma(const EntryData *entryData)
Definition: Entry.cc:218
Definition: Entry.h:16
ALIdouble lastAdditionToValueDisplacementByFitting_
Definition: Entry.h:112
ALIuint quality_
Definition: Entry.h:107
void fillNull()
Definition: Entry.cc:251
ALIint fitPos() const
Definition: Entry.h:60
void fill(const std::vector< ALIstring > &wordlist)
Definition: Entry.cc:32
const ALIstring & name() const
Definition: Entry.h:52
void resetValueDisplacementByFitting()
Definition: Entry.cc:351
void fillFromInputFileSigma(const std::vector< ALIstring > &wordlist)
Definition: Entry.cc:121
ALIstring name_
Definition: Entry.h:101
ALIdouble valueDisplacementByFitting_
Definition: Entry.h:111
Definition: Entry.h:16
ALIdouble valueOriginalOriginal() const
Definition: Entry.h:56
ALIint quality() const
Definition: Entry.h:59
ALIint fitPos_
Definition: Entry.h:109
void fillFromReportOutFileValue(EntryData *entryData)
Definition: Entry.cc:196
virtual ALIdouble ValueDimensionFactor() const
Definition: Entry.h:37
std::string ALIstring
Definition: CocoaGlobals.h:9
virtual ALIdouble startingDisplacement()
Definition: Entry.h:67
void fillFromInputFileQuality(const std::vector< ALIstring > &wordlist)
Definition: Entry.cc:163
void setQuality(ALIuint qual)
Definition: Entry.h:79
void setType(ALIstring type)
Definition: Entry.h:76
virtual ALIdouble valueDisplaced() const
Definition: Entry.cc:342
ALIdouble sigma_
Definition: Entry.h:105
OpticalObject * OptOCurrent() const
Definition: Entry.h:61
virtual void fillName(const ALIstring &name)
Definition: Entry.cc:243
virtual ALIdouble valueInGlobalReferenceFrame() const
Definition: Entry.h:49
virtual void displaceOriginalOriginal(ALIdouble disp)
Definition: Entry.cc:292
const ALIstring longName() const
Definition: Entry.cc:371
virtual void displace(ALIdouble disp)
Definition: Entry.cc:266
unsigned int ALIuint
Definition: CocoaGlobals.h:17
ALIdouble sigma() const
Definition: Entry.h:57