CMS 3D CMS Logo

OptOCOPS.h
Go to the documentation of this file.
1 // COCOA class header file
2 //Id: OptOCOPS.h
3 //CAT: Model
4 //
5 // Base class to describe Optical Objects of type sensor 2D
6 //
7 // History: v1.0
8 // Pedro Arce
9 
10 #ifndef _OptOCOPS_hh
11 #define _OptOCOPS_hh
12 
15 class Measurement;
16 class LightRay;
19 
20 class OptOCOPS : public OpticalObject {
21 public:
22  //---------- Constructors / Destructor
23  OptOCOPS() {}
24  OptOCOPS(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data)
25  : OpticalObject(parent, type, name, copy_data), fdevi_from_file(false) {}
26  ~OptOCOPS() override {}
27 
28  //---------- defaultBehaviour: make measurement
29  void defaultBehaviour(LightRay& lightray, Measurement& meas) override;
30  //---------- Make measurement
31  void makeMeasurement(LightRay& lightray, Measurement& meas) override;
32  //---------- Fast simulation of the light ray traversing
33  void fastTraversesLightRay(LightRay& lightray) override;
34 
35  // Get intersection in local coordinates
36  ALIdouble* convertPointToLocalCoordinates(const CLHEP::Hep3Vector& point);
37 
38 #ifdef COCOA_VIS
39  virtual void fillVRML();
40  virtual void fillIguana();
41 #endif
42  void constructSolidShape() override;
43 
44 private:
45  ALIdouble getMeasFromInters(ALILine& line_xhair, ALILine& ccd, CLHEP::Hep3Vector& cops_line);
46  // Deviation values read from file
50 };
51 
52 #endif
long double ALIdouble
Definition: CocoaGlobals.h:11
DeviationsFromFileSensor2D * deviFromFile
Definition: OptOCOPS.h:47
~OptOCOPS() override
Definition: OptOCOPS.h:26
void defaultBehaviour(LightRay &lightray, Measurement &meas) override
Definition: OptOCOPS.cc:33
void makeMeasurement(LightRay &lightray, Measurement &meas) override
Definition: OptOCOPS.cc:42
virtual void fillVRML()
Definition: OpticalObject.h:54
OptOCOPS(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
Definition: OptOCOPS.h:24
const ALIstring & name() const
Definition: OpticalObject.h:58
bool ALIbool
Definition: CocoaGlobals.h:19
ALIdouble * convertPointToLocalCoordinates(const CLHEP::Hep3Vector &point)
Definition: OptOCOPS.cc:395
ALILine ccds[4]
Definition: OptOCOPS.h:49
void constructSolidShape() override
Definition: OptOCOPS.cc:536
virtual void fillIguana()
Definition: OpticalObject.h:55
Measurement * meas()
ALIbool fdevi_from_file
Definition: OptOCOPS.h:48
std::string ALIstring
Definition: CocoaGlobals.h:9
const OpticalObject * parent() const
Definition: OpticalObject.h:60
ALIdouble getMeasFromInters(ALILine &line_xhair, ALILine &ccd, CLHEP::Hep3Vector &cops_line)
Definition: OptOCOPS.cc:425
void fastTraversesLightRay(LightRay &lightray) override
Definition: OptOCOPS.cc:375
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
OptOCOPS()
Definition: OptOCOPS.h:23