CMS 3D CMS Logo

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
OpticalObject::meas
Measurement * meas()
Definition: OpticalObject.h:200
ALIbool
bool ALIbool
Definition: CocoaGlobals.h:19
OpticalObject.h
funct::false
false
Definition: Factorize.h:29
OptOSensor2D::fdevi_from_file
ALIbool fdevi_from_file
Definition: OptOSensor2D.h:51
OptOSensor2D::OptOSensor2D
OptOSensor2D(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
Definition: OptOSensor2D.h:23
OpticalObject::name
const ALIstring & name() const
Definition: OpticalObject.h:58
OptOSensor2D::~OptOSensor2D
~OptOSensor2D() override
Definition: OptOSensor2D.h:25
ALIstring
std::string ALIstring
Definition: CocoaGlobals.h:9
OpticalObject
Definition: OpticalObject.h:35
DeviationsFromFileSensor2D
Definition: DeviationsFromFileSensor2D.h:23
Measurement
Definition: Measurement.h:27
OptOSensor2D::makeMeasurement
void makeMeasurement(LightRay &lightray, Measurement &meas) override
Definition: OptOSensor2D.cc:40
OpticalObject::fillIguana
virtual void fillIguana()
Definition: OpticalObject.h:55
OptOSensor2D::detailedTraversesLightRay
void detailedTraversesLightRay(LightRay &lightray) override
Definition: OptOSensor2D.cc:247
OptOSensor2D::deviFromFile
DeviationsFromFileSensor2D * deviFromFile
Definition: OptOSensor2D.h:50
LightRay
Definition: LightRay.h:20
type
type
Definition: SiPixelVCal_PayloadInspector.cc:39
OpticalObject::parent
const OpticalObject * parent() const
Definition: OpticalObject.h:60
ALIdouble
long double ALIdouble
Definition: CocoaGlobals.h:11
OptOSensor2D::fastTraversesLightRay
void fastTraversesLightRay(LightRay &lightray) override
Definition: OptOSensor2D.cc:119
OptOSensor2D::defaultBehaviour
void defaultBehaviour(LightRay &lightray, Measurement &meas) override
Definition: OptOSensor2D.cc:35
OptOSensor2D
Definition: OptOSensor2D.h:19
OptOSensor2D::fillExtraEntry
void fillExtraEntry(std::vector< ALIstring > &wordlist) override
Definition: OptOSensor2D.cc:302
OptOSensor2D::constructSolidShape
void constructSolidShape() override
Definition: OptOSensor2D.cc:452
OptOSensor2D::convertPointToLocalCoordinates
ALIdouble * convertPointToLocalCoordinates(const CLHEP::Hep3Vector &point)
Definition: OptOSensor2D.cc:399
OpticalObject::fillVRML
virtual void fillVRML()
Definition: OpticalObject.h:54
CocoaGlobals.h
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
OptOSensor2D::OptOSensor2D
OptOSensor2D()
Definition: OptOSensor2D.h:22