CMS 3D CMS Logo

OptOMirror.h
Go to the documentation of this file.
1 // COCOA class header file
2 //Id: OptOMirror.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 _OPTOMIRROR_HH
11 #define _OPTOMIRROR_HH
12 
15 class Measurement;
16 class LightRay;
17 
18 class OptOMirror : public OpticalObject {
19 public:
20  //---------- Constructors / Destructor
22  OptOMirror(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data)
23  : OpticalObject(parent, type, name, copy_data){};
24  ~OptOMirror() override{};
25 
26  //---------- Propagate light for measurement meas
27  //----- Default behaviour: detailed deviation
28  void defaultBehaviour(LightRay& lightray, Measurement& meas) override;
29 
30  void detailedDeviatesLightRay(LightRay& lightray) override;
31 
32  void fastDeviatesLightRay(LightRay& lightray) override;
33 
34  void detailedTraversesLightRay(LightRay& lightray) override;
35 
36  void fastTraversesLightRay(LightRay& lightray) override;
37 
38 #ifdef COCOA_VIS
39  virtual void fillIguana();
40 #endif
41  void constructSolidShape() override;
42 };
43 
44 #endif
OpticalObject::meas
Measurement * meas()
Definition: OpticalObject.h:200
ALIbool
bool ALIbool
Definition: CocoaGlobals.h:19
OpticalObject.h
OpticalObject::name
const ALIstring & name() const
Definition: OpticalObject.h:58
OptOMirror::defaultBehaviour
void defaultBehaviour(LightRay &lightray, Measurement &meas) override
Definition: OptOMirror.cc:24
ALIstring
std::string ALIstring
Definition: CocoaGlobals.h:9
OptOMirror
Definition: OptOMirror.h:18
OpticalObject
Definition: OpticalObject.h:35
OptOMirror::OptOMirror
OptOMirror()
Definition: OptOMirror.h:21
OptOMirror::detailedTraversesLightRay
void detailedTraversesLightRay(LightRay &lightray) override
Definition: OptOMirror.cc:132
OptOMirror::detailedDeviatesLightRay
void detailedDeviatesLightRay(LightRay &lightray) override
Definition: OptOMirror.cc:29
Measurement
Definition: Measurement.h:27
OpticalObject::fillIguana
virtual void fillIguana()
Definition: OpticalObject.h:55
OptOMirror::constructSolidShape
void constructSolidShape() override
Definition: OptOMirror.cc:203
LightRay
Definition: LightRay.h:20
OpticalObject::parent
const OpticalObject * parent() const
Definition: OpticalObject.h:60
OptOMirror::~OptOMirror
~OptOMirror() override
Definition: OptOMirror.h:24
type
type
Definition: HCALResponse.h:21
OptOMirror::fastTraversesLightRay
void fastTraversesLightRay(LightRay &lightray) override
Definition: OptOMirror.cc:164
OptOMirror::fastDeviatesLightRay
void fastDeviatesLightRay(LightRay &lightray) override
Definition: OptOMirror.cc:109
CocoaGlobals.h
OptOMirror::OptOMirror
OptOMirror(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
Definition: OptOMirror.h:22