CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
OptOSensor2D.h
Go to the documentation of this file.
1 // COCOA class header file
2 //Id: OptOSensor2D.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 _OPTOSENSOR2D_HH
11 #define _OPTOSENSOR2D_HH
12 
15 class Measurement;
16 class LightRay;
18 
19 class OptOSensor2D : public OpticalObject {
20 public:
21  //---------- Constructors / Destructor
23  OptOSensor2D(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data)
24  : OpticalObject(parent, type, name, copy_data), fdevi_from_file(false){};
25  ~OptOSensor2D() override{};
26 
27  //---------- defaultBehaviour: make measurement
28  void defaultBehaviour(LightRay& lightray, Measurement& meas) override;
29  //---------- Make measurement
30  void makeMeasurement(LightRay& lightray, Measurement& meas) override;
31  //---------- Fast simulation of the light ray traversing
32  void fastTraversesLightRay(LightRay& lightray) override;
33  //---------- Detailed simulation of the light ray traversing
34  void detailedTraversesLightRay(LightRay& lightray) override;
35 
36  // Create and fill an extra entry, checking if it has to be read from file
37  void fillExtraEntry(std::vector<ALIstring>& wordlist) override;
38 
39  // Get intersection in local coordinates
40  ALIdouble* convertPointToLocalCoordinates(const CLHEP::Hep3Vector& point);
41 
42 #ifdef COCOA_VIS
43  virtual void fillVRML();
44  virtual void fillIguana();
45 #endif
46  void constructSolidShape() override;
47 
48 private:
49  // Deviation values read from file
52 };
53 
54 #endif
long double ALIdouble
Definition: CocoaGlobals.h:11
~OptOSensor2D() override
Definition: OptOSensor2D.h:25
void detailedTraversesLightRay(LightRay &lightray) override
virtual void fillVRML()
Definition: OpticalObject.h:54
void makeMeasurement(LightRay &lightray, Measurement &meas) override
Definition: OptOSensor2D.cc:40
bool ALIbool
Definition: CocoaGlobals.h:19
DeviationsFromFileSensor2D * deviFromFile
Definition: OptOSensor2D.h:50
const OpticalObject * parent() const
Definition: OpticalObject.h:60
ALIbool fdevi_from_file
Definition: OptOSensor2D.h:51
void fastTraversesLightRay(LightRay &lightray) override
OptOSensor2D(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
Definition: OptOSensor2D.h:23
void defaultBehaviour(LightRay &lightray, Measurement &meas) override
Definition: OptOSensor2D.cc:35
void fillExtraEntry(std::vector< ALIstring > &wordlist) override
void constructSolidShape() override
virtual void fillIguana()
Definition: OpticalObject.h:55
Measurement * meas()
std::string ALIstring
Definition: CocoaGlobals.h:9
const ALIstring & name() const
Definition: OpticalObject.h:58
ALIdouble * convertPointToLocalCoordinates(const CLHEP::Hep3Vector &point)
*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