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
OpticalObject::meas
Measurement * meas()
Definition: OpticalObject.h:200
ALIbool
bool ALIbool
Definition: CocoaGlobals.h:19
OpticalObject.h
funct::false
false
Definition: Factorize.h:34
OptOCOPS::makeMeasurement
void makeMeasurement(LightRay &lightray, Measurement &meas) override
Definition: OptOCOPS.cc:42
OptOCOPS::getMeasFromInters
ALIdouble getMeasFromInters(ALILine &line_xhair, ALILine &ccd, CLHEP::Hep3Vector &cops_line)
Definition: OptOCOPS.cc:425
OpticalObject::name
const ALIstring & name() const
Definition: OpticalObject.h:58
OptOCOPS::OptOCOPS
OptOCOPS()
Definition: OptOCOPS.h:23
ALIstring
std::string ALIstring
Definition: CocoaGlobals.h:9
OptOCOPS::constructSolidShape
void constructSolidShape() override
Definition: OptOCOPS.cc:536
OptOCOPS::fdevi_from_file
ALIbool fdevi_from_file
Definition: OptOCOPS.h:48
OptOCOPS::convertPointToLocalCoordinates
ALIdouble * convertPointToLocalCoordinates(const CLHEP::Hep3Vector &point)
Definition: OptOCOPS.cc:395
OpticalObject
Definition: OpticalObject.h:35
OptOCOPS::defaultBehaviour
void defaultBehaviour(LightRay &lightray, Measurement &meas) override
Definition: OptOCOPS.cc:33
OptOCOPS
Definition: OptOCOPS.h:20
DeviationsFromFileSensor2D
Definition: DeviationsFromFileSensor2D.h:23
Measurement
Definition: Measurement.h:27
ALILine
Definition: ALILine.h:16
OpticalObject::fillIguana
virtual void fillIguana()
Definition: OpticalObject.h:55
OptOCOPS::OptOCOPS
OptOCOPS(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
Definition: OptOCOPS.h:24
OptOCOPS::~OptOCOPS
~OptOCOPS() override
Definition: OptOCOPS.h:26
LightRay
Definition: LightRay.h:20
OpticalObject::parent
const OpticalObject * parent() const
Definition: OpticalObject.h:60
ALIdouble
long double ALIdouble
Definition: CocoaGlobals.h:11
OptOCOPS::fastTraversesLightRay
void fastTraversesLightRay(LightRay &lightray) override
Definition: OptOCOPS.cc:375
OptOCOPS::deviFromFile
DeviationsFromFileSensor2D * deviFromFile
Definition: OptOCOPS.h:47
ALILine.h
type
type
Definition: HCALResponse.h:21
OptOCOPS::ccds
ALILine ccds[4]
Definition: OptOCOPS.h:49
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